Move the loose root-level site/ into a proper containers/weblibreportal app (mirrors getlibreportal): the Eleventy source + nginx serving ./data via publish.sh (npm run build -> docroot). Fix gen-data.mjs repoRoot (now ../../.. from containers/weblibreportal/scripts) so it still finds containers/ for the catalogue. Decouple the two hosts: - weblibreportal -> the website (libreportal.org) - getlibreportal -> downloads only (install.sh + signed release channels); its publish.sh no longer builds the site, and its config text updated to match. Both are dev-only project hosting and will move to a separate repo later; for now they live under containers/ as normal apps. ignores updated for their built docroots; dropped the dead 'site export-ignore'. Verified: gen-data builds the catalogue from the new location (33 apps), and weblibreportal/publish.sh produces a docroot with index.html. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: librelad <librelad@digitalangels.vip>
41 lines
1.9 KiB
YAML
41 lines
1.9 KiB
YAML
networks:
|
|
DOCKER_NETWORK_DATA: #LIBREPORTAL|DOCKER_NETWORK_TAG|DOCKER_NETWORK_DATA
|
|
external: true
|
|
|
|
services:
|
|
weblibreportal-service: #LIBREPORTAL|SERVICE_TAG_1|weblibreportal-service
|
|
container_name: weblibreportal-service
|
|
image: nginx:alpine
|
|
restart: unless-stopped
|
|
hostname: weblibreportal
|
|
# ./data is the built website (Eleventy → publish.sh). Read-only into nginx.
|
|
volumes:
|
|
- ./data:/usr/share/nginx/html:ro
|
|
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
|
# GLUETUN_OFF_BEGIN
|
|
ports:
|
|
- "PORTS_DATA_1" #LIBREPORTAL|PORTS_TAG_1|PORTS_DATA_1
|
|
# GLUETUN_OFF_END
|
|
labels:
|
|
libreportal.category: "CATEGORY_DATA" #LIBREPORTAL|CATEGORY_TAG|CATEGORY_DATA
|
|
libreportal.title: "TITLE_DATA" #LIBREPORTAL|TITLE_TAG|TITLE_DATA
|
|
traefik.enable: TRAEFIK_ENABLE_DATA #LIBREPORTAL|TRAEFIK_ENABLE_TAG|TRAEFIK_ENABLE_DATA
|
|
# TRAEFIK_PORT_1_BEGIN
|
|
traefik.http.routers.weblibreportal-service.entrypoints: web,websecure
|
|
traefik.http.routers.weblibreportal-service.rule: Host(`DOMAINSUBNAME_DATA_1`) #LIBREPORTAL|DOMAINSUBNAME_TAG_1|DOMAINSUBNAME_DATA_1
|
|
traefik.http.routers.weblibreportal-service.tls: true
|
|
traefik.http.routers.weblibreportal-service.tls.certresolver: production
|
|
traefik.http.services.weblibreportal-service.loadbalancer.server.port: PORT_INTERNAL_DATA_1 #LIBREPORTAL|PORT_INTERNAL_TAG_1|PORT_INTERNAL_DATA_1
|
|
traefik.http.routers.weblibreportal-service.middlewares: MIDDLEWARE_DATA_1 #LIBREPORTAL|MIDDLEWARE_TAG_1|MIDDLEWARE_DATA_1
|
|
# TRAEFIK_PORT_1_END
|
|
healthcheck:
|
|
disable: HEALTHCHECK_DATA #LIBREPORTAL|HEALTHCHECK_TAG|HEALTHCHECK_DATA
|
|
# GLUETUN_OFF_BEGIN
|
|
networks:
|
|
DOCKER_NETWORK_DATA: #LIBREPORTAL|DOCKER_NETWORK_TAG|DOCKER_NETWORK_DATA
|
|
ipv4_address: IP_DATA_1 #LIBREPORTAL|IP_TAG_1|IP_DATA_1
|
|
# GLUETUN_OFF_END
|
|
# GLUETUN_ON_BEGIN
|
|
# network_mode: "container:gluetun-service"
|
|
# GLUETUN_ON_END
|