Initial commit: Visigine (Vite client + Express/SQLite backend)
Container-ready via docker/ compose (frontend nginx + backend Node). Compose adjusted for Coolify on the prod server: frontend uses expose:80 (no host binding — host 8080 is taken by the Coolify proxy; Traefik routes visigine.de), backend ALLOWED_ORIGINS=https://visigine.de. Secrets stay in server/.env (git-ignored); see server/.env.example. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
55
docker/docker-compose.yml
Normal file
55
docker/docker-compose.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
# Visigine — single-stack compose. Frontend (nginx) is the only ingress;
|
||||
# the backend container is reachable only over the internal docker network.
|
||||
#
|
||||
# Secrets (MISTRAL_KEY, ADMIN_TOKEN) are read from ../server/.env.
|
||||
# Deployment vars (NODE_ENV, ALLOWED_ORIGINS, …) are overridden here.
|
||||
|
||||
name: visigine
|
||||
|
||||
services:
|
||||
backend:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: docker/backend.Dockerfile
|
||||
container_name: visigine-backend
|
||||
env_file:
|
||||
- ../server/.env
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
PORT: "3001"
|
||||
ALLOWED_ORIGINS: "https://visigine.de"
|
||||
ALLOW_PRIVATE_HOSTS: "0"
|
||||
DB_PATH: "/data/visigine.db"
|
||||
expose:
|
||||
- "3001"
|
||||
volumes:
|
||||
# Persist the SQLite file across container rebuilds.
|
||||
- visigine_data:/data
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- visigine
|
||||
|
||||
frontend:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: docker/frontend.Dockerfile
|
||||
container_name: visigine-frontend
|
||||
# No host port binding: on the Coolify server host-port 8080 is already taken
|
||||
# by the Coolify/Traefik proxy. Coolify routes the domain (visigine.de) to
|
||||
# this container's port 80 via Traefik. For local `docker compose` testing,
|
||||
# temporarily add: ports: ["8090:80"]
|
||||
expose:
|
||||
- "80"
|
||||
depends_on:
|
||||
backend:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- visigine
|
||||
|
||||
networks:
|
||||
visigine:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
visigine_data:
|
||||
Reference in New Issue
Block a user