Docker/Podman Compose#
version: '3'
services:
frontend:
environment:
NODE_ENV: production
REACT_APP_SERVER_URL: http://localhost:8080/api
build:
context: ./frontend
dockerfile: docker/Dockerfile.frontend
image: ibutsu/frontend
ports:
- "3000:8080"
depends_on:
- backend
backend:
environment:
APP_CONFIG: config.py
POSTGRESQL_HOST: postgres
POSTGRESQL_DATABASE: ibutsu
CELERY_BROKER_URL: 'redis://redis'
CELERY_RESULT_BACKEND: 'redis://redis'
build:
context: ./backend
dockerfile: docker/Dockerfile.backend
image: ibutsu/backend
ports:
- "8080:8080"
depends_on:
- postgres
- redis
postgres:
environment:
POSTGRES_USER: ibutsu
POSTGRES_PASSWORD: ibutsu
POSTGRES_DB: ibutsu
image: postgres:latest
worker:
environment:
APP_SCRIPT: celery_worker.sh
POSTGRESQL_HOST: postgres
POSTGRESQL_DATABASE: ibutsu
CELERY_BROKER_URL: 'redis://redis'
CELERY_RESULT_BACKEND: 'redis://redis'
build:
context: ./backend
dockerfile: docker/Dockerfile.worker
image: ibutsu/worker
depends_on:
- backend
- postgres
- redis
scheduler:
build:
context: ./backend
dockerfile: docker/Dockerfile.scheduler
image: ibutsu/scheduler
environment:
POSTGRESQL_HOST: postgres
POSTGRESQL_DATABASE: ibutsu
CELERY_BROKER_URL: 'redis://redis'
CELERY_RESULT_BACKEND: 'redis://redis'
depends_on:
- backend
- postgres
- redis
redis:
image: redis:latest