services: backend: image: bqlpfy/springboot-backend:2.0.4-beta container_name: springboot-backend restart: unless-stopped environment: DB_PATH: /app/data/gost.db JWT_SECRET: ${JWT_SECRET} LOG_DIR: /app/logs JAVA_OPTS: "-Xms256m -Xmx512m -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai" ports: - "${BACKEND_PORT}:6365" volumes: - backend_logs:/app/logs - sqlite_data:/app/data networks: - gost-network stop_grace_period: 30s stop_signal: SIGTERM healthcheck: test: ["CMD", "sh", "-c", "wget --no-verbose --tries=1 --spider http://localhost:6365/flow/test || exit 1"] interval: 30s timeout: 10s retries: 5 start_period: 60s frontend: image: bqlpfy/vite-frontend:2.0.4-beta container_name: vite-frontend restart: unless-stopped ports: - "${FRONTEND_PORT}:80" depends_on: backend: condition: service_healthy networks: - gost-network volumes: sqlite_data: name: sqlite_data driver: local backend_logs: name: backend_logs driver: local networks: gost-network: name: gost-network driver: bridge enable_ipv6: true ipam: config: - subnet: 172.20.0.0/16 - subnet: fd00:dead:beef::/48