Merge pull request #466 from trails-cool/infra/docker-ipv6-egress

feat(infra): enable IPv6 egress on Docker compose networks
This commit is contained in:
Ullrich Schäfer 2026-06-06 23:16:01 +02:00 committed by GitHub
commit fc8d35d7d4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 0 deletions

View file

@ -109,6 +109,12 @@ services:
memory: 256M memory: 256M
networks: networks:
# IPv6 egress for staging/preview journals, matching production — see
# the production compose file for details. Preview networks are created
# fresh per PR; the persistent staging network needs a one-time
# down/up to pick this up.
default:
enable_ipv6: true
trails-shared: trails-shared:
external: true external: true
name: trails-shared name: trails-shared

View file

@ -250,7 +250,13 @@ services:
networks: networks:
# Default project network — kept implicit for production services. # Default project network — kept implicit for production services.
# IPv6 is enabled so the journal can federate with v6-only instances
# (e.g. social.ullrich.is). Docker ≥27 auto-allocates a ULA subnet and
# NAT66-masquerades egress via the host's public v6 address.
# NOTE: flipping this on an existing deployment requires recreating the
# network: `docker compose down && docker compose --env-file .env up -d`.
default: default:
enable_ipv6: true
# Created by this compose project with a fixed (un-namespaced) name so the # Created by this compose project with a fixed (un-namespaced) name so the
# staging compose project can attach to it via `external: true`. Only # staging compose project can attach to it via `external: true`. Only
# postgres is joined here on the production side; staging containers join # postgres is joined here on the production side; staging containers join