129 lines
3.1 KiB
YAML
129 lines
3.1 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# PostgreSQL Database dla development
|
|
postgres-dev:
|
|
image: postgres:15-alpine
|
|
container_name: skrzynka-postgres-dev
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: skrzynka_impostora_dev
|
|
POSTGRES_USER: dev_user
|
|
POSTGRES_PASSWORD: dev_password
|
|
PGDATA: /var/lib/postgresql/data/pgdata
|
|
volumes:
|
|
- postgres_dev_data:/var/lib/postgresql/data
|
|
- ./database/init:/docker-entrypoint-initdb.d
|
|
ports:
|
|
- "5433:5432" # Inny port żeby nie kolidować z lokalnym PostgreSQL
|
|
networks:
|
|
- skrzynka-dev-network
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U dev_user -d skrzynka_impostora_dev"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
# Redis dla development
|
|
redis-dev:
|
|
image: redis:7-alpine
|
|
container_name: skrzynka-redis-dev
|
|
restart: unless-stopped
|
|
ports:
|
|
- "6380:6379" # Inny port
|
|
volumes:
|
|
- redis_dev_data:/data
|
|
networks:
|
|
- skrzynka-dev-network
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
# Bot w trybie development z hot reload
|
|
bot-dev:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.dev
|
|
container_name: skrzynka-bot-dev
|
|
restart: unless-stopped
|
|
environment:
|
|
# Database
|
|
DATABASE_URL: postgresql://dev_user:dev_password@postgres-dev:5432/skrzynka_impostora_dev
|
|
DB_HOST: postgres-dev
|
|
DB_PORT: 5432
|
|
DB_NAME: skrzynka_impostora_dev
|
|
DB_USER: dev_user
|
|
DB_PASSWORD: dev_password
|
|
|
|
# Discord Bot
|
|
DISCORD_TOKEN: ${DISCORD_TOKEN}
|
|
DISCORD_CLIENT_ID: ${DISCORD_CLIENT_ID}
|
|
DISCORD_CLIENT_SECRET: ${DISCORD_CLIENT_SECRET}
|
|
|
|
# Web Panel
|
|
JWT_SECRET: dev_jwt_secret_key
|
|
SESSION_SECRET: dev_session_secret_key
|
|
WEB_PORT: 3001
|
|
API_PORT: 3000
|
|
|
|
# OAuth2
|
|
OAUTH2_REDIRECT_URI: http://localhost:3001/auth/discord/callback
|
|
|
|
# Environment
|
|
NODE_ENV: development
|
|
LOG_LEVEL: debug
|
|
|
|
# Redis
|
|
REDIS_URL: redis://redis-dev:6379
|
|
ports:
|
|
- "3000:3000"
|
|
- "3001:3001"
|
|
- "9229:9229" # Node.js debugger port
|
|
depends_on:
|
|
postgres-dev:
|
|
condition: service_healthy
|
|
redis-dev:
|
|
condition: service_healthy
|
|
networks:
|
|
- skrzynka-dev-network
|
|
volumes:
|
|
- .:/app
|
|
- /app/node_modules
|
|
- /app/frontend/node_modules
|
|
- ./logs:/app/logs
|
|
command: npm run dev
|
|
|
|
# pgAdmin dla zarządzania bazą danych
|
|
pgadmin:
|
|
image: dpage/pgadmin4:latest
|
|
container_name: skrzynka-pgadmin
|
|
restart: unless-stopped
|
|
environment:
|
|
PGADMIN_DEFAULT_EMAIL: admin@skrzynka.local
|
|
PGADMIN_DEFAULT_PASSWORD: admin
|
|
PGADMIN_CONFIG_SERVER_MODE: 'False'
|
|
ports:
|
|
- "8080:80"
|
|
depends_on:
|
|
- postgres-dev
|
|
networks:
|
|
- skrzynka-dev-network
|
|
volumes:
|
|
- pgadmin_data:/var/lib/pgadmin
|
|
|
|
# Volumes
|
|
volumes:
|
|
postgres_dev_data:
|
|
driver: local
|
|
redis_dev_data:
|
|
driver: local
|
|
pgadmin_data:
|
|
driver: local
|
|
|
|
# Networks
|
|
networks:
|
|
skrzynka-dev-network:
|
|
driver: bridge
|