services: buildbot-master: image: 'buildbot/buildbot-master:${BUILDBOT_IMAGE_TAG:-v4.1.0}' restart: unless-stopped environment: - 'HOSTNAME=${MASTER_HOSTNAME:-buildbot-master-1}' - 'BUILDBOT_CONFIG_DIR=${BUILDBOT_CONFIG_DIR:-config}' - 'BUILDBOT_CONFIG_URL=${BUILDBOT_CONFIG_URL:-https://github.com/buildbot/buildbot-docker-example-config/archive/master.tar.gz}' - 'BUILDBOT_WORKER_PORT=${BUILDBOT_WORKER_PORT:-9989}' - 'BUILDBOT_WEB_URL=${BUILDBOT_WEB_URL:-http://localhost:8010/}' - 'BUILDBOT_WEB_PORT=${BUILDBOT_WEB_PORT:-tcp:port=8010}' - 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}' - 'POSTGRES_USER=${SERVICE_USER_POSTGRESQL}' - 'POSTGRES_DB=${POSTGRES_DB:-buildbot}' - 'BUILDBOT_DB_URL=postgresql+psycopg2://{POSTGRES_USER}:{POSTGRES_PASSWORD}@postgresql/{POSTGRES_DB}' healthcheck: test: - CMD - curl - '-f' - 'http://127.0.0.1:8010' interval: 2s timeout: 10s retries: 15 depends_on: postgresql: condition: service_healthy postgresql: image: 'postgres:${POSTGRES_IMAGE_TAG:-16-alpine}' restart: unless-stopped healthcheck: test: - CMD-SHELL - 'pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}' interval: 2s timeout: 10s retries: 15 volumes: - 'buildbot-db:/var/lib/postgresql/data' environment: - 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}' - 'POSTGRES_USER=${SERVICE_USER_POSTGRESQL}' - 'POSTGRES_DB=${POSTGRES_DB:-buildbot}' buildbot-worker: image: 'buildbot/buildbot-worker:${BUILDBOT_IMAGE_TAG:-v4.1.0}' restart: unless-stopped environment: - 'BUILDMASTER=${BUILDMASTER:-buildbot-master}' - 'BUILDMASTER_PORT=${BUILDBOT_WORKER_PORT:-9989}' - 'WORKERNAME=${WORKERNAME:-example-worker}' - 'WORKERPASS=${WORKERPASS:-pass}' - 'WORKER_ENVIRONMENT_BLACKLIST=${WORKER_ENVIRONMENT_BLACKLIST:-DOCKER_BUILDBOT* BUILDBOT_ENV_* BUILDBOT_1* WORKER_ENVIRONMENT_BLACKLIST}'