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
+13 -5
View File
@@ -1,10 +1,18 @@
# Append to your existing Caddyfile (or include via `import`).
# DNS A/AAAA record for invoice-app.linumiq.com must point to this server first,
# otherwise Caddy will fail to obtain a Let's Encrypt certificate.
# DNS A/AAAA records for both subdomains must point to this server first
# (a wildcard *.linumiq.com record is sufficient).
#
# Caddy runs in Docker on the `caddy_net` network and reaches each app by
# container name (the apps do not publish host ports).
# Caddy runs in Docker on the `caddy_net` network and reaches the app by
# container name (the app does not publish a host port).
# DEV — installed on linumiq-dev.myshopify.com
invoice-app-dev.linumiq.com {
encode zstd gzip
reverse_proxy linumiq-invoice-dev:3000
}
# PROD — installed on shop.linumiq.com (5aiizq-ti.myshopify.com)
invoice-app.linumiq.com {
encode zstd gzip
reverse_proxy linumiq-invoice:3000
reverse_proxy linumiq-invoice-prod:3000
}