services: core: build: context: . dockerfile: core/Dockerfile args: VERSION: ${VERSION} TARGETARCH: ${TARGETARCH} image: jumpserver/jms_core:${VERSION} container_name: jms_core restart: always command: start web env_file: .env healthcheck: test: "check http://localhost:8080/api/health/" interval: 10s timeout: 5s retries: 3 start_period: 60s volumes: - ${VOLUME_DIR}/core/data:/opt/jumpserver/data networks: - net celery: image: jumpserver/jms_core:${VERSION} container_name: jms_celery restart: always command: start task env_file: .env depends_on: core: condition: service_healthy healthcheck: test: "bash /opt/jumpserver/utils/check_celery.sh" interval: 10s timeout: 10s retries: 3 start_period: 30s volumes: - ${VOLUME_DIR}/core/data:/opt/jumpserver/data networks: - net koko: build: context: . dockerfile: koko/Dockerfile args: VERSION: ${VERSION} TARGETARCH: ${TARGETARCH} image: jumpserver/jms_koko:${VERSION} container_name: jms_koko restart: always privileged: true env_file: .env depends_on: core: condition: service_healthy healthcheck: test: "check http://localhost:5000/koko/health/" interval: 10s timeout: 5s retries: 3 start_period: 10s volumes: - ${VOLUME_DIR}/koko/data:/opt/koko/data ports: - ${SSH_PORT:-2222}:2222 networks: - net guacd: image: jumpserver/guacd:1.5.5-bookworm container_name: jms_guacd user: root restart: always env_file: .env volumes: - ${VOLUME_DIR}/lion/data:/opt/lion/data networks: - net lion: build: context: . dockerfile: lion/Dockerfile args: VERSION: ${VERSION} TARGETARCH: ${TARGETARCH} image: jumpserver/jms_lion:${VERSION} container_name: jms_lion restart: always env_file: .env depends_on: core: condition: service_healthy healthcheck: test: "check http://localhost:8081/lion/health/" interval: 10s timeout: 5s retries: 3 start_period: 10s volumes: - ${VOLUME_DIR}/lion/data:/opt/lion/data networks: - net chen: build: context: . dockerfile: chen/Dockerfile args: VERSION: ${VERSION} TARGETARCH: ${TARGETARCH} image: jumpserver/jms_chen:${VERSION} container_name: jms_chen restart: always env_file: .env volumes: - ${VOLUME_DIR}/chen/data:/opt/chen/data depends_on: core: condition: service_healthy healthcheck: test: "check http://localhost:8082/chen/" interval: 10s timeout: 5s retries: 3 start_period: 60s networks: - net web: build: context: . dockerfile: web/Dockerfile args: VERSION: ${VERSION} TARGETARCH: ${TARGETARCH} image: jumpserver/jms_web:${VERSION} container_name: jms_web restart: always env_file: .env depends_on: core: condition: service_healthy healthcheck: test: "check http://localhost/api/health/ " interval: 10s timeout: 5s retries: 3 start_period: 10s volumes: - ${VOLUME_DIR}/core/data:/opt/jumpserver/data - ${VOLUME_DIR}/web/data/logs:/var/log/nginx - ${VOLUME_DIR}/web/data/download:/opt/download ports: - ${HTTP_PORT:-80}:80 networks: - net