Skip to content

Commit

Permalink
updated docker compose file
Browse files Browse the repository at this point in the history
  • Loading branch information
AllanM007 committed Aug 26, 2024
1 parent 692babc commit bcb34f7
Showing 1 changed file with 115 additions and 0 deletions.
115 changes: 115 additions & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
version: "3"

services:
job-runner:
build:
context: ./go-job-runner
dockerfile: Dockerfile
restart: always
depends_on:
- postgres
- rabbitmq
ports:
- 4001:4001
environment:
- GIN_MODE=release
volumes:
- ./go-job-runner/docker.yml:/out/config.yml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:4001/health"]
interval: 10s
timeout: 5s
retries: 5

job-worker:
build:
context: ./go-job-worker
dockerfile: Dockerfile
restart: always
depends_on:
- rabbitmq
volumes:
- ./go-job-worker/docker.yml:/out/config.yml

postgres:
image: postgres:15
restart: always
ports:
- 5432:5432
environment:
POSTGRES_USER: username
POSTGRES_PASSWORD: password
POSTGRES_DB: db
volumes:
- db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "username"]
interval: 10s
timeout: 5s
retries: 5

flyway:
image: flyway/flyway
restart: on-failure
depends_on:
- postgres
volumes:
- ./go-job-runner/sql:/flyway/sql
environment:
- FLYWAY_URL=jdbc:postgresql://postgres:5432/db
- FLYWAY_USER=username
- FLYWAY_PASSWORD=password
- FLYWAY_SCHEMAS=public
- FLYWAY_LOCATIONS=filesystem:/flyway/sql
command: info repair migrate validate

rabbitmq:
image: rabbitmq:3.8-management
restart: always
ports:
- 5672:5672
- 15672:15672
environment:
RABBITMQ_DEFAULT_USER: username
RABBITMQ_DEFAULT_PASS: password
volumes:
- rabbitmq-data:/var/lib/rabbitmq
healthcheck:
test: ["CMD", "rabbitmqctl", "status"]
interval: 10s
timeout: 5s
retries: 5

rabbitmqctl:
image: rabbitmq:3.8-management
restart: on-failure
depends_on:
- rabbitmq
environment:
RABBITMQ_USER: username
RABBITMQ_PASS: password
RABBITMQ_HOST: rabbitmq
command: |
/bin/bash -c
"
rabbitmqadmin declare exchange name=jobs type=direct --host=rabbitmq --username=username --password=password &&
rabbitmqadmin declare exchange name=job-events type=direct --host=rabbitmq --username=username --password=password &&
rabbitmqadmin declare queue name=job-events --host=rabbitmq --username=username --password=password &&
rabbitmqadmin declare queue name=random-worker --host=rabbitmq --username=username --password=password &&
rabbitmqadmin declare binding source=job-events destination=job-events routing_key=event --host=rabbitmq --username=username --password=password &&
rabbitmqadmin declare binding source=jobs destination=random-worker routing_key=worker.random --host=rabbitmq --username=username --password=password
"
adminer:
image: adminer
restart: always
depends_on:
- postgres
ports:
- 8080:8080

volumes:
db-data:
rabbitmq-data:

0 comments on commit bcb34f7

Please sign in to comment.