Joey Hafner 93e8426a43
Feature: Implement new modules for fighter.
- Fighter uses: system, git, sops, docker, networking, and iscsi modules; plus its own stacks module which we've updated to use the new design concept.
  - I can't figure out how to put all of the module code together (importing and defining the vars), so we're compromising.
2025-02-16 01:26:30 -08:00
..

The web Network

Created with docker network create --driver=bridge --subnet=172.20.0.0/23 --ip-range=172.20.1.0/24 web

Previous version was naive, and had a subnet equal in size to the IP range. This meant that we would occasionally encounter address colisions between services which needed static IPs, and those handed IPs automatically.

Useful Labels

Basic web-facing service:

  • traefik.http.routers.<router-name>.rule=Host(`<subdomain>.jafner.net`)
  • traefik.http.routers.<router-name>.tls.certresolver=lets-encrypt

Restrict access to IPs in list defined in ./config/config_addons.yaml:

  • traefik.http.routers.<router-name>.middlewares=lan-only@file

Explicitly set the container-side port Traefik should route traffic to:

  • traefik.http.services.<service-name>.loadbalancer.server.port=1234