Add Node.js/Express API service for booking backend
- New api/ service: Express + better-sqlite3, health check at GET /api/health, POST /api/bookings stores sessions with all required fields - Dockerfile with Alpine build deps for native sqlite3 module - docker-compose.yml: api service with volume mounts for data, signed-contracts, contracts - nginx.conf: proxy /api/ to api:3001; Immich regex locations remain higher priority - .gitignore: exclude SQLite db file and signed PDFs from version control Closes #1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+20
-6
@@ -25,12 +25,26 @@ services:
|
||||
networks:
|
||||
- web
|
||||
|
||||
# Optional: Watchtower for automatic updates
|
||||
# watchtower:
|
||||
# image: containrrr/watchtower
|
||||
# volumes:
|
||||
# - /var/run/docker.sock:/var/run/docker.sock
|
||||
# command: --interval 300 lisilou-portfolio
|
||||
api:
|
||||
build:
|
||||
context: ./api
|
||||
dockerfile: Dockerfile
|
||||
container_name: lisilou-api
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- ./api/.env
|
||||
volumes:
|
||||
- ./api/data:/app/data
|
||||
- ./api/signed-contracts:/app/signed-contracts
|
||||
- ./api/contracts:/app/contracts:ro
|
||||
networks:
|
||||
- web
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3001/api/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 15s
|
||||
|
||||
networks:
|
||||
web:
|
||||
|
||||
Reference in New Issue
Block a user