82 lines
1.8 KiB
YAML
82 lines
1.8 KiB
YAML
services:
|
|
db:
|
|
image: postgres:15
|
|
container_name: cemetery_db
|
|
restart: always
|
|
environment:
|
|
POSTGRES_DB: cemeterymap
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
networks:
|
|
- web
|
|
|
|
backend:
|
|
build:
|
|
context: ../backend
|
|
image: ${BACKEND_IMAGE:-cemetery/backend:latest}
|
|
container_name: cemetery_backend
|
|
depends_on:
|
|
- db
|
|
environment:
|
|
ENVIRONMENT: production
|
|
DATABASE_URL: postgresql+psycopg2://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/cemeterymap
|
|
JWT_SECRET_KEY: ${JWT_SECRET_KEY:-change-me}
|
|
ADMIN_ORIGIN: ${ADMIN_ORIGIN:-https://cemeterymap.ru}
|
|
MOBILE_ORIGIN: ${MOBILE_ORIGIN:-http://localhost}
|
|
UPLOADS_GRAVES_DIR: /data/uploads/graves
|
|
UPLOADS_TEMP_DIR: /data/uploads/tmp
|
|
FCM_SERVER_KEY: ${FCM_SERVER_KEY:-}
|
|
volumes:
|
|
- uploads:/data/uploads
|
|
networks:
|
|
- web
|
|
ports:
|
|
- "127.0.0.1:8000:8000"
|
|
|
|
admin:
|
|
build:
|
|
context: ../admin
|
|
image: ${ADMIN_IMAGE:-cemetery/admin:latest}
|
|
container_name: cemetery_admin
|
|
networks:
|
|
- web
|
|
ports:
|
|
- "127.0.0.1:8081:80"
|
|
|
|
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v2.54.1
|
|
container_name: cemetery_prometheus
|
|
volumes:
|
|
- ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
ports:
|
|
- "9090:9090"
|
|
networks:
|
|
- web
|
|
|
|
grafana:
|
|
image: grafana/grafana:10.4.5
|
|
container_name: cemetery_grafana
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=${GRAFANA_USER:-admin}
|
|
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD:-admin}
|
|
ports:
|
|
- "3001:3000"
|
|
networks:
|
|
- web
|
|
depends_on:
|
|
- prometheus
|
|
|
|
volumes:
|
|
postgres_data:
|
|
uploads:
|
|
|
|
networks:
|
|
web:
|
|
driver: bridge
|
|
|
|
|