42 lines
1.2 KiB
YAML
42 lines
1.2 KiB
YAML
# Production stack for ht_booking (Tenis Rajec).
|
|
#
|
|
# One container: the Loco app. It publishes no host ports — the shared Caddy
|
|
# container reaches it by name over `tenisrajec-net` and terminates TLS.
|
|
# See DEPLOY.md for the full first-time setup.
|
|
|
|
services:
|
|
ht-booking:
|
|
container_name: ht-booking
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
# Secrets & admin credentials — copy .env.production.example to
|
|
# .env.production on the server and fill it in.
|
|
env_file:
|
|
- .env.production
|
|
volumes:
|
|
# SQLite database — persisted across rebuilds and restarts.
|
|
- ht_booking_data:/usr/app/data
|
|
networks:
|
|
- tenisrajec-net
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-fsS", "http://localhost:5150/_ping"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 20s
|
|
|
|
networks:
|
|
# Shared with the central Caddy container — create it once with:
|
|
# docker network create tenisrajec-net --driver bridge \
|
|
# --opt com.docker.network.driver.mtu=1450
|
|
tenisrajec-net:
|
|
external: true
|
|
|
|
volumes:
|
|
ht_booking_data:
|
|
# Explicit name so backup commands are predictable regardless of the
|
|
# Compose project name.
|
|
name: ht_booking_data
|