Set up homepaged, improved TLS and tried to get IPv6 functional

This commit is contained in:
Jade Ellis
2024-03-07 19:17:16 +00:00
parent ee705b2c34
commit bfd7f5bd3f
10 changed files with 98 additions and 13 deletions
+29
View File
@@ -0,0 +1,29 @@
[Unit]
Description=homepage Dashboard
Wants=network-online.target
After=network-online.target
[Container]
ContainerName=homepage
NoNewPrivileges=true
Image=ghcr.io/gethomepage/homepage:latest
Volume=/etc/homepage:/app/config:z
PodmanArgs=--privileged
Volume=/run/podman/podman.sock:/var/run/docker.sock:z
AutoUpdate=local
Network=web.network
Label="traefik.enable=true"
Label="traefik.http.routers.homepage.rule=Host(`homepage.ellis.link`)"
Label="traefik.http.routers.homepage.entrypoints=https"
Label="traefik.http.routers.homepage.tls.certresolver=letsencrypt"
[Service]
Restart=on-failure
TimeoutStartSec=900
[Install]
WantedBy=default.target
+5
View File
@@ -20,6 +20,11 @@ Label="traefik.http.routers.thelounge.entrypoints=https"
Label="traefik.http.routers.thelounge.tls.certresolver=letsencrypt" Label="traefik.http.routers.thelounge.tls.certresolver=letsencrypt"
Label="homepage.group=Social"
Label="homepage.name=TheLounge"
Label="homepage.href=https://thelounge.ellis.link/"
Label="homepage.description=IRC web client / bouncer"
[Service] [Service]
Restart=on-failure Restart=on-failure
TimeoutStartSec=900 TimeoutStartSec=900
+11 -4
View File
@@ -11,9 +11,14 @@ ContainerName=traefik
PodmanArgs=--privileged PodmanArgs=--privileged
NoNewPrivileges=true NoNewPrivileges=true
Image=docker.io/library/traefik:latest Image=docker.io/library/traefik:latest
PublishPort=80:80/tcp PublishPort=0.0.0.0:80:80/tcp
PublishPort=443:443/tcp PublishPort=0.0.0.0:443:443/tcp
PublishPort=443:443/udp PublishPort=0.0.0.0:443:443/udp
PublishPort=[::]:80:80/tcp
PublishPort=[::]:443:443/tcp
PublishPort=[::]:443:443/udp
# PublishPort=8448:8448/tcp # PublishPort=8448:8448/tcp
ReadOnly=true ReadOnly=true
Volume=/run/podman/podman.sock:/var/run/docker.sock:z Volume=/run/podman/podman.sock:/var/run/docker.sock:z
@@ -24,7 +29,9 @@ Volume=/etc/traefik:/etc/traefik:ro,z
# Volume=/var/srv/matrix/caddy/Caddyfile:/etc/caddy/Caddyfile:ro,z # Volume=/var/srv/matrix/caddy/Caddyfile:/etc/caddy/Caddyfile:ro,z
AutoUpdate=registry AutoUpdate=registry
Network=web.network Network=web.network
# IP=10.89.1.10
IP=176.126.240.240
IP6=fe80::9724:38eb:9b0f:df7c
Exec=traefik --configFile=/etc/traefik/config.toml Exec=traefik --configFile=/etc/traefik/config.toml
+3 -3
View File
@@ -1,7 +1,7 @@
[Network] [Network]
DisableDNS=false DisableDNS=false
Internal=false Internal=false
IPv6=true
# Manual subnet to avoid issues with DNS resolution # Manual subnet to avoid issues with DNS resolution
Subnet=10.89.1.0/24 # Subnet=10.89.1.0/24
Gateway=10.89.1.1 # Gateway=10.89.1.1
View File
+2
View File
@@ -0,0 +1,2 @@
local:
socket: /var/run/docker.sock
View File
+2
View File
@@ -0,0 +1,2 @@
startUrl: https://homepage.ellis.link
base: https://homepage.ellis.link
+9
View File
@@ -0,0 +1,9 @@
- resources:
cpu: true
memory: true
disk: /
- search:
provider: duckduckgo
target: _blank
+37 -6
View File
@@ -8,6 +8,31 @@ exposedbydefault = false
address = ":80" address = ":80"
[entrypoints.https] [entrypoints.https]
address = ":443" address = ":443"
[entrypoints.https.http3]
[entryPoints.http.proxyProtocol]
insecure = false
trustedIPs = [ ]
[entryPoints.http.forwardedHeaders]
insecure = false
trustedIPs = [ ]
[entryPoints.https.proxyProtocol]
insecure = false
trustedIPs = [ ]
[entryPoints.https.forwardedHeaders]
insecure = false
trustedIPs = [ ]
[entrypoints.http.http.redirections.entryPoint]
to="https"
scheme = "https"
# [entryPoints.traefik]
# address = ":9000"
[certificatesresolvers.letsencrypt.acme] [certificatesresolvers.letsencrypt.acme]
email = 'jade@ellis.link' email = 'jade@ellis.link'
@@ -16,10 +41,16 @@ storage = "/certificates/acme.json"
# - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true" # - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
# - "--certificatesresolvers.letsencrypt.acme.httpChallenge.entryPoint=http" # - "--certificatesresolvers.letsencrypt.acme.httpChallenge.entryPoint=http"
tlschallenge = true tlschallenge = true
[tls.options.modern]
minVersion = "VersionTLS13"
[entrypoints.http.http.redirections.entryPoint] [tls.options.intermediate]
to="https" minVersion = "VersionTLS12"
scheme = "https" cipherSuites = [
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
[entryPoints.traefik] "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
address = ":9000" "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305"
]