version: "3.0" services: oneterm-api: image: registry.cn-hangzhou.aliyuncs.com/veops/oneterm-api:v24.10.2 container_name: oneterm-api volumes: - ./volume/replay:/replay - ./config.yaml:/oneterm/config.yaml depends_on: - mysql - redis - oneterm-guacd restart: always networks: new: aliases: - oneterm-api tty: true ports: - "2222:2222" oneterm-guacd: image: registry.cn-hangzhou.aliyuncs.com/veops/oneterm-guacd:latest container_name: oneterm-guacd user: root restart: always volumes: - ./volume/replay:/replay networks: new: aliases: - oneterm-guacd mysql: image: registry.cn-hangzhou.aliyuncs.com/veops/mysql:latest container_name: oneterm-mysql environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: '123456' MYSQL_DATABASE: 'oneterm' volumes: - ./volume/mysql:/var/lib/mysql - ./mysqld.cnf:/etc/mysql/conf.d/mysqld.cnf - ./acl.sql:/docker-entrypoint-initdb.d/2-acl.sql - ./create-users.sql:/docker-entrypoint-initdb.d/1-create-users.sql command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci restart: always networks: new: aliases: - mysql redis: image: registry.cn-hangzhou.aliyuncs.com/veops/redis:latest container_name: oneterm-redis restart: always environment: TZ: Asia/Shanghai networks: new: aliases: - redis oneterm-ui: image: registry.cn-hangzhou.aliyuncs.com/veops/oneterm-ui:v24.10.2 container_name: oneterm-ui depends_on: - oneterm-api environment: TZ: Asia/Shanghai ONETERM_API_HOST: oneterm-api:8888 ACL_API_HOST: acl-api:5000 NGINX_PORT: 80 volumes: - ./nginx.oneterm.conf.example:/etc/nginx/conf.d/nginx.oneterm.conf.example restart: always command: - /bin/sh - -c - | envsubst '$$ONETERM_API_HOST $$ACL_API_HOST $$NGINX_PORT' < /etc/nginx/conf.d/nginx.oneterm.conf.example > /etc/nginx/conf.d/oneterm.conf nginx -g 'daemon off;' nginx -s reload networks: - new ports: - "8666:80" acl-api: image: registry.cn-hangzhou.aliyuncs.com/veops/acl-api:latest container_name: oneterm-acl-api environment: TZ: Asia/Shanghai WAIT_HOSTS: mysql:3306, redis:6379 volumes: - ./.env:/data/apps/acl/.env restart: always command: - /bin/sh - -c - | sleep 2 flask db-setup flask common-check-new-columns flask init-acl flask init-department gunicorn --workers=3 autoapp:app -b 0.0.0.0:5000 -D --access-logfile logs/access.log --error-logfile logs/error.log celery -A celery_worker.celery worker -E -Q acl_async --logfile=one_acl_async.log --autoscale=2,1 depends_on: - mysql - redis networks: new: aliases: - acl-api networks: new: driver: bridge name: oneterm_network ipam: config: - subnet: 172.30.0.0/24