services: server: image: ${GUIDENG_SERVER_IMAGE:-facilisvelox/guideng-server:latest} pull_policy: always environment: GUIDENG_TOKEN: ${GUIDENG_TOKEN:-} GUIDENG_ADMIN_PASSWORD: ${GUIDENG_ADMIN_PASSWORD:-} GUIDENG_ADMIN_PATH: ${GUIDENG_ADMIN_PATH:-/admin} GUIDENG_BIND: 0.0.0.0:8080 GUIDENG_DATABASE_URL: ${GUIDENG_DATABASE_URL:-mysql://guideng:guideng@mysql:3306/guideng} GUIDENG_DB_MAX_CONNECTIONS: ${GUIDENG_DB_MAX_CONNECTIONS:-5} GUIDENG_LOG_PATH: /data/guideng.log GUIDENG_CORS_ORIGINS: ${GUIDENG_CORS_ORIGINS:-*} GUIDENG_AMAP_WEB_JS_API_KEY: ${GUIDENG_AMAP_WEB_JS_API_KEY:-} GUIDENG_AMAP_WEB_JS_SECURITY_CODE: ${GUIDENG_AMAP_WEB_JS_SECURITY_CODE:-} GUIDENG_AMAP_ANDROID_KEY: ${GUIDENG_AMAP_ANDROID_KEY:-} GUIDENG_AMAP_IOS_KEY: ${GUIDENG_AMAP_IOS_KEY:-} volumes: - guideng-data:/data ports: - "8080:8080" depends_on: mysql: condition: service_healthy mysql: image: mysql:8.4 environment: MYSQL_DATABASE: guideng MYSQL_USER: guideng MYSQL_PASSWORD: guideng MYSQL_ROOT_PASSWORD: ${GUIDENG_MYSQL_ROOT_PASSWORD:-change-this-root-password} volumes: - guideng-mysql:/var/lib/mysql - ./server/init.sql:/docker-entrypoint-initdb.d/001-guideng.sql:ro healthcheck: test: ["CMD-SHELL", "mysql -h 127.0.0.1 -uguideng -pguideng guideng -e 'SELECT 1 FROM devices LIMIT 1' --silent"] interval: 5s timeout: 5s retries: 20 start_period: 20s client: image: ${GUIDENG_CLIENT_IMAGE:-facilisvelox/guideng-client:latest} pull_policy: always ports: - "3000:80" depends_on: - server volumes: guideng-data: guideng-mysql: