version: "3.8" services: autodeployer: build: context: . dockerfile: Dockerfile container_name: autodeployer restart: unless-stopped environment: - NODE_ENV=production - PORT=3000 - JWT_SECRET=${JWT_SECRET} - ADMIN_PASSWORD_HASH=${ADMIN_PASSWORD_HASH} - REDIS_URL=redis://redis:6379/2 - GITEA_URL=http://gitea:3000 - GITEA_TOKEN=${GITEA_TOKEN} - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN} - TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID} - INFLUXDB_URL=${INFLUXDB_URL:-http://influxdb:8086} - INFLUXDB_TOKEN=${INFLUXDB_TOKEN} - INFLUXDB_ORG=${INFLUXDB_ORG:-autodeployer} - INFLUXDB_BUCKET=${INFLUXDB_BUCKET:-metrics} - DEPLOY_DOMAIN=${DEPLOY_DOMAIN:-deploy.mebboat.it} - WEBHOOK_SECRET=${WEBHOOK_SECRET} - UPDATE_SECRET=${UPDATE_SECRET:-} volumes: - /var/run/docker.sock:/var/run/docker.sock - autodeployer-data:/app/data - autodeployer-builds:/tmp/builds - updater-trigger:/app/trigger labels: - "traefik.enable=true" - "traefik.http.routers.autodeployer.rule=Host(`${DEPLOY_DOMAIN:-deploy.mebboat.it}`)" - "traefik.http.routers.autodeployer.entrypoints=websecure" - "traefik.http.routers.autodeployer.tls.certresolver=cloudflare" - "traefik.http.services.autodeployer.loadbalancer.server.port=3000" - "traefik.docker.network=meb-public" networks: - meb-public - meb-private depends_on: [] updater: build: context: ./updater dockerfile: Dockerfile container_name: autodeployer-updater restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock - .:/project:ro - updater-trigger:/trigger working_dir: /project networks: [] volumes: autodeployer-data: autodeployer-builds: updater-trigger: networks: meb-public: external: true meb-private: external: true