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
+20
View File
@@ -0,0 +1,20 @@
# PROD environment for linumiq-invoice (custom app installed on shop.linumiq.com / 5aiizq-ti.myshopify.com).
# Copy to `.env.prod` on the server (in /docker/linumiq-invoice/prod/) and fill in real values.
# NEVER commit the real file.
# --- Shopify app credentials ---
# Partner Dashboard → Apps → linumiq-invoice (prod) → API credentials.
SHOPIFY_API_KEY=REPLACE_ME
SHOPIFY_API_SECRET=REPLACE_ME
# Public URL Shopify uses for OAuth, webhooks and admin embedding. Must match shopify.app.prod.toml.
SHOPIFY_APP_URL=https://invoice-app.linumiq.com
# Must match `scopes` in shopify.app.prod.toml.
SCOPES=read_orders,write_orders,read_all_orders,read_customers,read_companies,read_files,write_files
# --- Runtime ---
NODE_ENV=production
PORT=3000
# DATABASE_URL is set in docker-compose.prod.yml (file:/data/prod.sqlite on the bind mount).