feat(deploy): docker-compose.yml with two-domain Traefik routing
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -45,3 +45,4 @@ Thumbs.db
|
||||
.vscode/*
|
||||
!.vscode/launch.json
|
||||
!.vscode/tasks.json
|
||||
deploy.json
|
||||
|
||||
32
docker-compose.yml
Normal file
32
docker-compose.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
# VolcanicCore — one container, two ports:
|
||||
# - 8080 admin UI + REST + admin WebSocket (routed by Coolify's auto-emitted Traefik
|
||||
# labels from docker_compose_domains → core.tes.gd)
|
||||
# - 8081 NATS WebSocket listener for user apps (routed by the extra Traefik labels
|
||||
# below → nats-core.tes.gd)
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- vc-data:/var/lib/volcaniccore
|
||||
environment:
|
||||
SERVICE_FQDN_APP_8080: ${SERVICE_FQDN_APP_8080}
|
||||
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
|
||||
SESSION_SECRET: ${SESSION_SECRET}
|
||||
expose:
|
||||
- "8080"
|
||||
- "8081"
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.vc-nats.entrypoints=https
|
||||
- traefik.http.routers.vc-nats.rule=Host(`nats-core.tes.gd`)
|
||||
- traefik.http.routers.vc-nats.tls=true
|
||||
- traefik.http.routers.vc-nats.tls.certresolver=letsencrypt
|
||||
- traefik.http.routers.vc-nats.service=vc-nats-svc
|
||||
- traefik.http.services.vc-nats-svc.loadbalancer.server.port=8081
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
vc-data:
|
||||
driver: local
|
||||
Reference in New Issue
Block a user