version: '2'

networks:
  v6d:
    external: true
  buildbot-db: {}
  buildbot-worker: {}
  buildbot-docs: {}

volumes:
  buildbot-docs: {}

services:
  buildbot:
    image: "buildbot-master-parrrate"
    build: ../master
    env_file:
      - db.env
      - gitea.env
    environment:
      - BUILDBOT_CONFIG_DIR=config
      - BUILDBOT_CONFIG_URL=https://gitea.parrrate.ru/PTV/buildbot/archive/master.tar.gz
      - BUILDBOT_WORKER_PORT=9989
      - BUILDBOT_WEB_URL=https://buildbot.parrrate.ru/
      - BUILDBOT_WEB_PORT=tcp:port=8010
    depends_on:
      - db
    ports:
      - "8010:8010"
    networks:
      - v6d
      - buildbot-db
      - buildbot-worker
    volumes:
      - buildbot-docs:/buildbot_share/docs/:rw

  db:
    env_file:
      - db.env
    image: "postgres:9.4"
    expose:
      - 5432
    networks:
      - buildbot-db

  rust-worker-1-65:
    build:
      context: ../worker
      args:
        - RUST_VERSION_ARG=1.65
    environment:
      BUILDMASTER: buildbot
      BUILDMASTER_PORT: 9989
      WORKERNAME: worker-rust-1-65
      WORKERPASS: pass
      WORKER_ENVIRONMENT_BLACKLIST: DOCKER_BUILDBOT* BUILDBOT_ENV_* BUILDBOT_1* WORKER_ENVIRONMENT_BLACKLIST
    networks:
      - buildbot-worker

  rust-worker-1-71:
    build:
      context: ../worker
      args:
        - RUST_VERSION_ARG=1.71
    environment:
      BUILDMASTER: buildbot
      BUILDMASTER_PORT: 9989
      WORKERNAME: worker-rust-1-71
      WORKERPASS: pass
      WORKER_ENVIRONMENT_BLACKLIST: DOCKER_BUILDBOT* BUILDBOT_ENV_* BUILDBOT_1* WORKER_ENVIRONMENT_BLACKLIST
    networks:
      - buildbot-worker

  rust-worker-mdbook:
    build:
      context: ../worker
      dockerfile: Dockerfile.mdbook
    environment:
      BUILDMASTER: buildbot
      BUILDMASTER_PORT: 9989
      WORKERNAME: worker-rust-mdbook
      WORKERPASS: pass
      WORKER_ENVIRONMENT_BLACKLIST: DOCKER_BUILDBOT* BUILDBOT_ENV_* BUILDBOT_1* WORKER_ENVIRONMENT_BLACKLIST
    networks:
      - buildbot-worker

  nginx:
    container_name: buildbot-nginx
    build:
      context: .
      dockerfile: Dockerfile.Nginx
    networks:
      v6d: {}
    volumes:
      - buildbot-docs:/buildbot_share/docs/:ro