Skip to content
Snippets Groups Projects
docker-compose.yml 2.99 KiB
Newer Older
version: "3.7"
services:
  atdb-db:
    image: postgres:14-alpine
    environment:
      POSTGRES_PASSWORD: dbadmin123
      POSTGRES_USER: dbadmin
      POSTGRES_DB: atdbldv

  spec-db:
    image: postgres:14-alpine
    environment:
      POSTGRES_PASSWORD: dbadmin123
      POSTGRES_USER: dbadmin
      POSTGRES_DB: ldv-spec-db

  rabbitmq:
    image: rabbitmq:3-management

  ldv-spec-cache:
    image: redis:latest
    container_name: ldv-spec-cache
    command: ["redis-server", "--appendonly", "yes", "--maxmemory", "64mb"]
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    ports:
      - "6379:6379"
    restart: unless-stopped
  atdb-backend:
    container_name: atdb.backend #Since there is URL validation in ATDB, it needs to contain a dot
    image: git.astron.nl:5000/astron-sdc/atdb-ldv:latest
    environment:
      DATABASE_HOST: atdb-db
      DATABASE_PORT: 5432
      DATABASE_NAME: atdbldv
      DATABASE_USER: dbadmin
      DATABASE_PASSWORD: dbadmin123
      DJANGO_SUPERUSER_PASSWORD: admin
    ports:
      - "8000:8000"
    volumes:
      - $PWD/scripts/atdb-start.sh:/scripts/atdb-start.sh
    command: ["bash", "/scripts/atdb-start.sh"]
    networks:
      default:
        aliases:
          - atdb.docker
    depends_on:
      - atdb-db
    restart: on-failure

  ldv-specification-backend:
    image: git.astron.nl:5000/astron-sdc/ldv-specification:${DOCKER_IMAGE_TAG:-latest}
    ports:
      - "8001:8000"
    environment:
      DATABASE_HOST: spec-db
      DATABASE_PORT: 5432
      DATABASE_NAME: ldv-spec-db
      DATABASE_USER: dbadmin
      DATABASE_PASSWORD: dbadmin123
      CACHE_HOST_SERVER: ldv-spec-cache
      DJANGO_SUPERUSER_PASSWORD: admin
      ATDB_HOST: http://atdb-backend:8000/atdb/
      CELERY_BROKER_URL: amqp://guest@rabbitmq:5672
    volumes:
      - $PWD/scripts/ldv-spec-start.sh:/scripts/ldv-spec-start.sh
    command: ["bash", "/scripts/ldv-spec-start.sh"]
    depends_on:
      - spec-db
      - atdb-backend
      - ldv-spec-cache

    restart: on-failure

  ldv-specification-worker:
    image: git.astron.nl:5000/astron-sdc/ldv-specification:${DOCKER_IMAGE_TAG:-latest}
    environment:
      DATABASE_HOST: spec-db
      DATABASE_PORT: 5432
      DATABASE_NAME: ldv-spec-db
      DATABASE_USER: dbadmin
      DATABASE_PASSWORD: dbadmin123
      CACHE_HOST_SERVER: ldv-spec-cache
      ATDB_HOST: http://atdb-backend:8000/atdb/
      CELERY_BROKER_URL: amqp://guest@rabbitmq:5672
      DJANGO_SETTINGS_MODULE: ldvspec.settings.docker_sdc
    command: celery -A ldvspec worker -l INFO
    depends_on:
      - ldv-specification-backend
      - atdb-backend
      - rabbitmq
      - ldv-spec-cache

  integration:
    image: git.astron.nl:5000/astron-sdc/ldv-specification/integration
    build: .
    volumes:
      - $PWD:/workdir
      - $PWD/scripts/robot-start.sh:/scripts/robot-start.sh
    command: ["bash", "/scripts/robot-start.sh"]
    depends_on:
    - ldv-specification-backend
    - atdb-backend
    - ldv-specification-worker