9557a3b335
- shopify.app.toml -> shopify.app.dev.toml (domain: invoice-app-dev.linumiq.com)
- New shopify.app.prod.toml will be created via shopify app config link --config prod
- docker-compose split into deploy/docker-compose.{dev,prod}.yml with distinct
container names (linumiq-invoice-{dev,prod}), images, env files and bind mounts
- Caddyfile snippet maps both subdomains to their respective containers
- .env.{dev,prod}.example templates committed in deploy/
- deploy/README.md documents the layout and day-to-day workflow
30 lines
705 B
YAML
30 lines
705 B
YAML
services:
|
|
app:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
image: linumiq-invoice:prod
|
|
container_name: linumiq-invoice-prod
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env.prod
|
|
environment:
|
|
# SQLite file lives on a bind mount so it survives image rebuilds.
|
|
DATABASE_URL: "file:/data/prod.sqlite"
|
|
NODE_ENV: production
|
|
PORT: "3000"
|
|
volumes:
|
|
- /docker/linumiq-invoice/prod/data:/data
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000/healthz", "||", "exit", "0"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
networks:
|
|
- caddy_net
|
|
|
|
networks:
|
|
caddy_net:
|
|
name: caddy_net
|
|
external: true
|