Newer
Older
version: '3.8'
services:
nginx:
image: nginx:1.19.7-alpine
restart: always
ports:
- "4444:80"
depends_on:
- frontend
command: nginx -g "daemon off;"
- ./apps/web/ws-nginx.local.conf:/etc/nginx/conf.d/default.conf
- ./lustre/:/lustre/aoc/cluster/pipeline/docker/workspaces
- ./delivery_root:/tmp/delivery_root
db:
image: ${BASE_REGISTRY_URL}/db
build:
context: .
dockerfile: ./ci/psql/Dockerfile.db
restart: always
ports:
- "54322:5432"
environment:
POSTGRES_USER: archive
POSTGRES_PASSWORD: docker
command: postgres -c listen_addresses=*

Andrew Kapuscinski
committed
healthcheck:
test: pg_isready -U archive -d archive
start_period: 2s
interval: 2s
timeout: 2s
retries: 5
volumes:
- ./pgdata:/var/lib/postgresql/data
amqp:
image: rabbitmq:3.8-management
restart: always
ports:
- "15672:15672"

Daniel Lyons
committed
healthcheck:
test: rabbitmq-diagnostics -q ping
start_period: 2s
interval: 2s
timeout: 2s
retries: 5
condor-cm:
build:
context: .
dockerfile: ./config/htcondor/cm/Dockerfile.local
ports:
- 9618
condor-execute:
build:
context: .
dockerfile: ./config/htcondor/execute/Dockerfile.local

Daniel Nemergut
committed
secrets:
- host_ssh_key # Needed to clone a repo from gitlab, will be mounted during the build
volumes:
- ./delivery_root:/tmp/delivery_root
- ./lustre/aoc/cluster/pipeline/docker/workspaces:/lustre/aoc/cluster/pipeline/docker/workspaces
- ./lustre/aoc/cluster/pipeline/vlass_docker:/lustre/aoc/cluster/pipeline/vlass_docker
pex-watcher:
build:
context: .
dockerfile: ./config/pex-watcher/Dockerfile.pex
volumes:
- ./config/pex-watcher:/config
- ./apps/cli/executables/pexable/:/config/apps/cli/executables/pexable/
- ./lustre/aoc/cluster/pipeline/docker/workspaces/sbin:/lustre/aoc/cluster/pipeline/docker/workspaces/sbin
go-watcher:
tty: true
build:
context: .
dockerfile: ./config/go-watcher/Dockerfile
volumes:
- ./config/go-watcher:/config
- ./apps/cli/executables/go/:/config/apps/cli/executables/go/
- ./lustre/aoc/cluster/pipeline/docker/workspaces/sbin:/lustre/aoc/cluster/pipeline/docker/workspaces/sbin
context: .
dockerfile: ./shared/workspaces/alembic/Dockerfile.local

Andrew Kapuscinski
committed
db:
condition: service_healthy
- ./shared:/code/shared
- ./docker.properties:/home/ssa/capo/docker.properties
# Used for doing a DB migration on dsoc-dev
# Run the command `docker compose -f docker-compose.local.yml --profile schema-dev up schema-dev` and the migration will run
schema-dev:
build:
context: .
dockerfile: ./shared/workspaces/alembic/Dockerfile.local
command: ["./bin/run-migrations.sh", "dsoc-dev"]
volumes:
- ./shared:/code/shared
profiles:
- schema-dev
# Used for doing a DB migration on dsoc-test
# Run the command `docker compose -f docker-compose.local.yml --profile schema-test up schema-test` and the migration will run
schema-test:
build:
context: .
dockerfile: ./shared/workspaces/alembic/Dockerfile.local
command: ["./bin/run-migrations.sh", "dsoc-test"]
volumes:
- ./shared:/code/shared
- ~/.capo:/home/ssa/capo
profiles:
- schema-test
# Used for doing a DB migration on dsoc-prod
# Run the command `docker compose -f docker-compose.local.yml --profile schema-prod up schema-prod` and the migration will run
schema-prod:
build:
context: .
dockerfile: ./shared/workspaces/alembic/Dockerfile.local
command: ["./bin/run-migrations.sh", "dsoc-prod"]
volumes:
- ./shared:/code/shared
- ~/.capo:/home/ssa/capo
profiles:
- schema-prod
context: .
dockerfile: ./services/workflow/Dockerfile
- LOCAL_OR_SERVER_PEX=${LOCAL_OR_SERVER_PEX}
ports:
- "3456:3456"
- 9618
depends_on:
- schema
- amqp
extra_hosts:
# Allow the workflow container to reach the RADIAL cluster for jobs that require it
- "radialhead.nrao.radial.local:10.64.1.77"

Nathan Bockisch
committed
healthcheck:
test: curl -f -LI localhost:3456/healthcheck
interval: 5s
retries: 5
start_period: 2s
timeout: 5s
- ./services/workflow:/code/services/workflow
- ./shared:/code/shared
- ./apps/cli:/code/apps/cli
- ./testing:/code/testing
- ./lustre/aoc/cluster/pipeline/docker/workspaces:/lustre/aoc/cluster/pipeline/docker/workspaces
- ./lustre/aoc/cluster/pipeline/vlass_docker:/lustre/aoc/cluster/pipeline/vlass_docker
- ./delivery_root:/tmp/delivery_root
- ~/.capo:/home/ssa/capo
- ~/.ssh:/home/vlapipe/.ssh
- ./docker.properties:/home/ssa/capo/docker.properties
capability:
build:
context: .
dockerfile: ./services/capability/Dockerfile
ports:
- "3457:3457"
depends_on:

Nathan Bockisch
committed
schema:
condition: service_started
workflow:
condition: service_healthy
notification:
condition: service_healthy
amqp:
condition: service_started
volumes:
- ./docker.properties:/home/ssa/capo/docker.properties
- ./services/capability:/code/services/capability
- ./shared:/code/shared
- ./apps/cli:/code/apps/cli
- ./testing:/code/testing
notification:
build:
context: .
dockerfile: ./services/notification/Dockerfile
ports:
- "3458:3458"
depends_on:
- schema
- amqp

Nathan Bockisch
committed
healthcheck:
test: curl -f -LI http://localhost:3458/healthcheck

Nathan Bockisch
committed
interval: 5s
retries: 5
start_period: 2s
timeout: 5s
volumes:
- ./docker.properties:/home/ssa/capo/docker.properties
- ./services/notification:/code/services/notification
- ./shared:/code/shared
- ./apps/cli:/code/apps/cli
- ./testing:/code/testing
context: .
dockerfile: ./apps/web/Dockerfile
environment:
NG_APP_WS_VERSION: "local"
init: true
ports:
- "4200:4200"
depends_on:
- capability
- workflow
volumes:
- ./apps/web:/code
- /code/node_modules
volumes:
condor:

Daniel Nemergut
committed
# Store the host's SSH key as a secret to have it removed after building the container, note only RSA for now
secrets:
host_ssh_key:
file: ~/.ssh/id_rsa