x-env_file: &env - path: .env required: true - path: .env.local required: false name: siren services: service: image: siren-service:${SIREN_VERSION:-latest} container_name: siren-service build: context: . dockerfile: ./Dockerfile args: - VERSION=${SIREN_VERSION:-latest} env_file: *env environment: DATABASE_HOST: db DATABASE_PORT: 5432 REDIS_HOST: redis REDIS_PORT: 6379 MINIO_HOST: minio MINIO_PORT: 9000 SERVICE_HOST: service SERVICE_PORT: 5000 DATA_DIR_PATH: /data KEYS_DIR_PATH: /keys volumes: - ${DATA_DIR_PATH:-~/data}:/data ports: - ${SERVICE_PORT:-5000}:5000 depends_on: - db - redis - minio networks: - frontend - backend restart: unless-stopped profiles: - siren db: image: postgres:latest container_name: siren-db env_file: *env environment: POSTGRES_USER: ${DATABASE_USER} POSTGRES_PASSWORD: ${DATABASE_PASSWORD} POSTGRES_DB: ${DATABASE_NAME} volumes: - db:/var/lib/postgresql/data - db_logs:/var/log ports: - ${DATABASE_PORT:-5432}:5432 networks: - backend restart: unless-stopped profiles: - backend redis: image: redis:latest container_name: siren-redis volumes: - redis:/data ports: - ${REDIS_PORT:-6379}:6379 networks: - backend restart: unless-stopped profiles: - backend minio: image: minio/minio container_name: siren-minio environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} volumes: - minio:/data ports: - ${MINIO_PORT:-9000}:9000 - ${MINIO_PORT_INTERNAL:-9001}:9001 networks: - backend command: server --console-address ":9001" /data restart: unless-stopped profiles: - backend volumes: db: db_logs: redis: minio: networks: frontend: backend: