1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00
Files
AdministrationItDepartmens/docker-compose.yml
2025-01-01 21:59:52 +06:00

92 lines
2.1 KiB
YAML

services:
postgres:
image: postgres:15-alpine
container_name: support-postgres
environment:
POSTGRES_DB: support_db
POSTGRES_USER: support_user
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
networks:
- app-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U support_user -d support_db"]
interval: 10s
timeout: 5s
retries: 5
frontend:
build:
context: .
dockerfile: docker/frontend/Dockerfile
volumes:
- ./frontend:/app
- /app/node_modules
environment:
- NODE_ENV=development
ports:
- "5173:5173"
command: npm run dev
networks:
- app-network
backend:
build:
context: .
dockerfile: docker/backend/Dockerfile
container_name: support-backend
environment:
- DATABASE_URL=postgresql://support_user:${POSTGRES_PASSWORD}@postgres:5432/support_db
- TELEGRAM_BOT_TOKEN=7677506032:AAHduD5EePz3bE23DKlo35KoOp2_9lZuS34
- TELEGRAM_CHAT_ID=5057752127
ports:
- "8000:8000"
volumes:
- ./backend:/app
- ./logs:/app/logs:rw
networks:
- app-network
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
nginx:
build:
context: .
dockerfile: docker/nginx/Dockerfile
container_name: support-nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- frontend_build:/usr/share/nginx/html
- ./docker/nginx/conf.d:/etc/nginx/conf.d
- ./certbot/conf:/etc/letsencrypt
- ./certbot/www:/var/www/certbot
networks:
- app-network
depends_on:
- frontend
- backend
certbot:
image: certbot/certbot
container_name: support-certbot
volumes:
- ./certbot/conf:/etc/letsencrypt
- ./certbot/www:/var/www/certbot
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
networks:
app-network:
driver: bridge
volumes:
postgres_data:
frontend_build: