Deploy manualdousuario/marreta (Laravel / serversideup php:8.4-fpm-nginx) as a rootless Quadlet pair (marreta + marreta-browser/Lightpanda), both joining gluetun's netns so all fetch egress exits the same ProtonVPN tunnel as SearXNG. - marreta relocated to NGINX_HTTP_PORT=8085 (netns already has searxng on 8080); gluetun publishes 8082:8085; Caddy dials 192.168.0.143:8082. - Guard chain: marreta.franksdank.cloud -> Anubis :8923 -> Authentik -> post-auth :8017 @marreta -> 8082. Access = any authenticated user. - Secrets seeded to /home/dank/Containers/marreta/env (0600) from MARRETA_APP_KEY / MARRETA_ADMIN_EMAIL / MARRETA_ADMIN_PASSWORD. - deploy-plan.py: marreta joins the gluetun netns family. - New seam tests/marreta_quadlet.bats (17 contracts); scoping test updated for the widened netns family. Doc: Dankclaw/Marreta.md + index + log.
41 lines
1.5 KiB
INI
41 lines
1.5 KiB
INI
# Quadlet unit: Gluetun VPN tunnel (rootless, boot-persistent).
|
|
#
|
|
# Install path on dankclaw: ~/.config/containers/systemd/gluetun.container
|
|
# Unit name: gluetun.service (container name: gluetun)
|
|
#
|
|
# Creates the WireGuard tunnel to ProtonVPN (US-WA). SearXNG reuses this
|
|
# container's network namespace (see searxng.container), so its outbound search
|
|
# traffic exits here. The WireGuard credentials live in /opt/searxng/.env
|
|
# (mode 0600); this file holds no secrets. See serverAppConfigs-docs/Dankclaw/Gluetun.md.
|
|
|
|
[Unit]
|
|
Description=Gluetun VPN tunnel container
|
|
Wants=searxng-network.service
|
|
After=searxng-network.service network.target
|
|
|
|
[Container]
|
|
ContainerName=gluetun
|
|
Network=searxng.network
|
|
Image=docker.io/qmcgaw/gluetun:latest
|
|
AddCapability=NET_ADMIN
|
|
AddDevice=/dev/net/tun:/dev/net/tun
|
|
Environment=VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER}
|
|
Environment=VPN_TYPE=${VPN_TYPE}
|
|
Environment=WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
|
Environment=WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
|
|
Environment=WIREGUARD_PUBLIC_KEY=${WIREGUARD_PUBLIC_KEY}
|
|
Environment=WIREGUARD_ENDPOINT_IP=${WIREGUARD_ENDPOINT_IP}
|
|
Environment=WIREGUARD_ENDPOINT_PORT=${WIREGUARD_ENDPOINT_PORT}
|
|
Environment=WIREGUARD_ALLOWED_IPS=${WIREGUARD_ALLOWED_IPS}
|
|
Environment=WIREGUARD_PERSISTENT_KEEPALIVE_INTERVAL=${WIREGUARD_PERSISTENT_KEEPALIVE_INTERVAL}
|
|
PublishPort=8081:8080
|
|
PublishPort=8082:8085
|
|
|
|
[Service]
|
|
EnvironmentFile=/opt/searxng/.env
|
|
TimeoutStartSec=900
|
|
Restart=always
|
|
|
|
[Install]
|
|
WantedBy=default.target
|