Files
SE-LTD/docker-compose.yml
T
2026-06-23 10:59:58 +02:00

103 lines
2.4 KiB
YAML

services:
mariadb:
image: mariadb:11.4
container_name: seltd-mariadb
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:-SE3112}
MARIADB_DATABASE: wago
MARIADB_USER: app
MARIADB_PASSWORD: app
ports:
- "3306:3306"
volumes:
- mariadb_data:/var/lib/mysql
- ./docker/mariadb/init:/docker-entrypoint-initdb.d:ro
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 15s
timeout: 10s
retries: 10
redis:
image: redis:7.4-alpine
container_name: seltd-redis
restart: unless-stopped
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
ports:
- "6379:6379"
volumes:
- redis_data:/data
- ./docker/redis/redis.conf:/usr/local/etc/redis/redis.conf:ro
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 10
api:
build:
context: ./api
container_name: seltd-api
restart: unless-stopped
environment:
PORT: 8080
DB_HOST: mariadb
DB_PORT: 3306
DB_NAME: wago
DB_USER: root
DB_PASSWORD: ${MARIADB_ROOT_PASSWORD:-SE3112}
DB_PASSWORD_FALLBACK: ${DB_PASSWORD_FALLBACK:-root}
REDIS_URL: redis://redis:6379
JWT_SECRET: ${JWT_SECRET:-change-me}
ADMIN_USERNAME: ${ADMIN_USERNAME:-admin}
ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@example.com}
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-ChangeMe123!}
ADMIN_NAME: ${ADMIN_NAME:-System Admin}
CORS_ORIGIN: ${CORS_ORIGIN:-*}
ports:
- "18080:8080"
depends_on:
mariadb:
condition: service_healthy
redis:
condition: service_healthy
web:
build:
context: ./web
container_name: seltd-web
restart: unless-stopped
environment:
VITE_API_PORT: ${VITE_API_PORT:-18080}
ports:
- "5173:5173"
depends_on:
- api
collector:
build:
context: ./collector
container_name: seltd-collector
restart: unless-stopped
ports:
- "18110:18110"
volumes:
- collector_data:/app/data
dockhand:
image: fnsys/dockhand:latest
container_name: dockhand
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- dockhand_data:/app/data
volumes:
mariadb_data:
redis_data:
collector_data:
dockhand_data: