deploy: split into dev/prod with separate Shopify configs and containers

- 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
This commit is contained in:
Gerhard Scheikl
2026-05-08 21:41:22 +02:00
parent bdec06bc67
commit 9557a3b335
8 changed files with 171 additions and 16 deletions
+29
View File
@@ -0,0 +1,29 @@
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