28 lines
1.1 KiB
YAML
28 lines
1.1 KiB
YAML
# Direct LAN access — layered on top of compose.local.yml by `make dev-lan`.
|
|
#
|
|
# For reaching the app from a machine that cannot be given a DNS record or a
|
|
# hosts entry. Traefik routes on the Host header and a bare IP matches no
|
|
# router, so the frontend is published on a host port instead and proxies the
|
|
# API and the hooks on that same port: http://<host-ip>:${APP_PORT} is the
|
|
# whole app.
|
|
services:
|
|
|
|
backend:
|
|
environment:
|
|
# The address the instance gives out: the link the Panels dialog shows a
|
|
# screen and the one its emails carry. app.${DOMAIN} resolves on this host
|
|
# only, so `make dev-lan` passes the published port on the LAN address.
|
|
- FRONTEND_HOST=${LAN_URL:-http://app.${DOMAIN:-localhost}}
|
|
|
|
frontend:
|
|
ports: !override
|
|
- "${APP_PORT:-8080}:80"
|
|
volumes:
|
|
- ./nginx-api-proxy.conf:/etc/nginx/extra-conf.d/backend-not-found.conf:ro
|
|
build:
|
|
args:
|
|
# Empty on purpose: the client then addresses the API as a path on
|
|
# whichever origin served the page, so one build works through
|
|
# app.${DOMAIN}, the published port, and an ssh tunnel alike.
|
|
- VITE_API_URL=
|