103 lines
2.3 KiB
YAML
103 lines
2.3 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: tinovisas-postgres
|
|
environment:
|
|
POSTGRES_DB: tinovisas
|
|
POSTGRES_USER: tinovisas
|
|
POSTGRES_PASSWORD: tinovisas_secret_2024
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- ./postgres-init:/docker-entrypoint-initdb.d
|
|
ports:
|
|
- "127.0.0.1:5432:5432"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U tinovisas -d tinovisas"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- tinovisas-network
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: tinovisas-redis
|
|
volumes:
|
|
- redis_data:/data
|
|
ports:
|
|
- "127.0.0.1:6379:6379"
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- tinovisas-network
|
|
|
|
backend:
|
|
build: ./backend
|
|
container_name: tinovisas-backend
|
|
environment:
|
|
NODE_ENV: production
|
|
PORT: 4000
|
|
DB_HOST: postgres
|
|
DB_PORT: 5432
|
|
DB_NAME: tinovisas
|
|
DB_USER: tinovisas
|
|
DB_PASSWORD: tinovisas_secret_2024
|
|
REDIS_HOST: redis
|
|
REDIS_PORT: 6379
|
|
JWT_SECRET: tinovisas_super_secret_key_change_me
|
|
JWT_EXPIRES_IN: 24h
|
|
ENCRYPTION_KEY: tinovisas_encryption_key_32chars!!
|
|
UPLOAD_DIR: /app/uploads
|
|
MAX_FILE_SIZE: 10485760
|
|
PLAYWRIGHT_HEADLESS: "true"
|
|
PLAYWRIGHT_TIMEOUT: 30000
|
|
DEFAULT_ADMIN_EMAIL: admin@tinovisas.com
|
|
DEFAULT_ADMIN_PASSWORD: Admin123!
|
|
volumes:
|
|
- uploads_data:/app/uploads
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
networks:
|
|
- tinovisas-network
|
|
|
|
frontend:
|
|
build: ./frontend
|
|
container_name: tinovisas-frontend
|
|
depends_on:
|
|
- backend
|
|
networks:
|
|
- tinovisas-network
|
|
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: tinovisas-nginx
|
|
volumes:
|
|
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
|
|
- uploads_data:/app/uploads
|
|
- ./nginx/html:/etc/nginx/html
|
|
- ./screenshots:/app/tinovisas/screenshots
|
|
depends_on:
|
|
- frontend
|
|
- backend
|
|
networks:
|
|
- tinovisas-network
|
|
- coolify
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
postgres_data:
|
|
redis_data:
|
|
uploads_data:
|
|
|
|
networks:
|
|
tinovisas-network:
|
|
driver: bridge
|
|
coolify:
|
|
external: true
|