Serve 5etools from storage1 via Caddy instead of a 14G image.
Deploy Caddyfile to valhalla / deploy (push) Successful in 1m28s

The mirror is static files; keeping it in a container burned root disk. Caddy file_server bind-mounts /storage1/labdata/5etools like the other static sites.
This commit is contained in:
ginnoir committed 2026-08-25 22:24:39 -05:00
1 parent bedc986fb3
commit 1028bc3a74
8 files changed
+14 -21

No files matched your search

+1 -1
View File
@@ -23,7 +23,7 @@ The first `Bash` of a session is gated by a GateGuard hook — state the user re
|---|---| |---|---|
| `proxy` | `caddy` | | `proxy` | `caddy` |
| `media` | `deluge`, `nzbget`, `sonarr`, `radarr`, `bazarr`, `prowlarr`, `overseerr`, `tautulli`, `qbittorrent`, `whisparr`, `stash` | | `media` | `deluge`, `nzbget`, `sonarr`, `radarr`, `bazarr`, `prowlarr`, `overseerr`, `tautulli`, `qbittorrent`, `whisparr`, `stash` |
| `foundry` | `foundry`, `foundry2`, `5etools` | | `foundry` | `foundry`, `foundry2` |
| `owncloud` | `owncloud_server`, `owncloud_mariadb`, `owncloud_redis` | | `owncloud` | `owncloud_server`, `owncloud_mariadb`, `owncloud_redis` |
| `resume` | `resume`, `postgres_resume`, `minio_resume`, `chrome` | | `resume` | `resume`, `postgres_resume`, `minio_resume`, `chrome` |
| `famapp` | `famapp`, `postgres_famapp`, `minio_famapp` | | `famapp` | `famapp`, `postgres_famapp`, `minio_famapp` |
+1 -1
View File
@@ -23,7 +23,7 @@ The first `Bash` of a session is gated by a GateGuard hook — state the user re
|---|---| |---|---|
| `proxy` | `caddy` | | `proxy` | `caddy` |
| `media` | `deluge`, `nzbget`, `sonarr`, `radarr`, `bazarr`, `prowlarr`, `overseerr`, `tautulli`, `qbittorrent`, `whisparr`, `stash` | | `media` | `deluge`, `nzbget`, `sonarr`, `radarr`, `bazarr`, `prowlarr`, `overseerr`, `tautulli`, `qbittorrent`, `whisparr`, `stash` |
| `foundry` | `foundry`, `foundry2`, `5etools` | | `foundry` | `foundry`, `foundry2` |
| `owncloud` | `owncloud_server`, `owncloud_mariadb`, `owncloud_redis` | | `owncloud` | `owncloud_server`, `owncloud_mariadb`, `owncloud_redis` |
| `resume` | `resume`, `postgres_resume`, `minio_resume`, `chrome` | | `resume` | `resume`, `postgres_resume`, `minio_resume`, `chrome` |
| `famapp` | `famapp`, `postgres_famapp`, `minio_famapp` | | `famapp` | `famapp`, `postgres_famapp`, `minio_famapp` |
+1 -1
View File
@@ -17,7 +17,7 @@ Deployment configuration for a **live, single-host Docker homelab** running on a
├── stacks/ # one directory per Portainer-managed application stack ├── stacks/ # one directory per Portainer-managed application stack
│ ├── proxy/ # caddy │ ├── proxy/ # caddy
│ ├── media/ # *arr stack, deluge, qbittorrent, stash, ... │ ├── media/ # *arr stack, deluge, qbittorrent, stash, ...
│ ├── foundry/ # foundry, foundry2, 5etools │ ├── foundry/ # foundry, foundry2 (5etools is Caddy static files)
│ ├── owncloud/ # owncloud + its mariadb + redis │ ├── owncloud/ # owncloud + its mariadb + redis
│ ├── resume/ # reactive-resume + its postgres + minio + chrome │ ├── resume/ # reactive-resume + its postgres + minio + chrome
│ ├── famapp/ # famapp + its postgres + minio │ ├── famapp/ # famapp + its postgres + minio
+6 -7
View File
@@ -85,13 +85,6 @@ foundry2.ginnoir.com {
reverse_proxy foundry2:30000 reverse_proxy foundry2:30000
} }
# =============================================================
# TABLETOP TOOLS — public
# =============================================================
5etools.ginnoir.com {
reverse_proxy 5etools:80
}
# ============================================================= # =============================================================
# FILE STORAGE — internal only (Nextcloud) # FILE STORAGE — internal only (Nextcloud)
# ============================================================= # =============================================================
@@ -121,6 +114,12 @@ files.ginnoir.com {
# ============================================================= # =============================================================
# STATIC SITES — public # STATIC SITES — public
# ============================================================= # =============================================================
5etools.ginnoir.com {
root * /srv/5etools
file_server
encode gzip zstd
}
wa4.ginnoir.com { wa4.ginnoir.com {
root * /srv/wa4 root * /srv/wa4
file_server file_server
-1
View File
@@ -34,7 +34,6 @@
<DL><p> <DL><p>
<DT><A HREF="http://valhalla:30000">foundry</A> <DT><A HREF="http://valhalla:30000">foundry</A>
<DT><A HREF="http://valhalla:30001">foundry2 :30001</A> <DT><A HREF="http://valhalla:30001">foundry2 :30001</A>
<DT><A HREF="http://valhalla:9009">5etools :9009</A>
</DL><p> </DL><p>
<DT><H3>Media</H3> <DT><H3>Media</H3>
@@ -1,7 +1,6 @@
{ {
"authentik": ["authentik-redis"], "authentik": ["authentik-redis"],
"dev": ["dbx", "redis_plane"], "dev": ["dbx", "redis_plane"],
"foundry": ["5etools"],
"monitoring": ["uptime-kuma"], "monitoring": ["uptime-kuma"],
"owncloud": ["redis"] "owncloud": ["redis"]
} }
+2 -9
View File
@@ -1,6 +1,7 @@
# foundry stack — Foundry VTT instances + 5etools mirror. # foundry stack — Foundry VTT instances.
# Tabletop services; bind-mounted to /storage1/foundry*. They don't talk to each # Tabletop services; bind-mounted to /storage1/foundry*. They don't talk to each
# other, so they only need `edge` for Caddy to proxy them. # other, so they only need `edge` for Caddy to proxy them.
# 5etools is static files at /storage1/labdata/5etools, served by Caddy.
services: services:
foundry: foundry:
@@ -51,14 +52,6 @@ services:
ports: ports:
- "30001:30000" - "30001:30000"
5etools:
container_name: 5etools
image: ghcr.io/5etools-mirror-3/5etools-src:latest
restart: unless-stopped
networks: [edge]
ports:
- "9009:80"
networks: networks:
edge: edge:
name: edge name: edge
+3
View File
@@ -56,6 +56,9 @@ services:
# ROM files are exposed only through romhacks-files.ginnoir.com/_roms/* # ROM files are exposed only through romhacks-files.ginnoir.com/_roms/*
# and that site imports internal_only in the Caddyfile. # and that site imports internal_only in the Caddyfile.
- /storage1/Emulation/roms:/srv/roms:ro - /storage1/Emulation/roms:/srv/roms:ro
# 5etools mirror — static files on ZFS. Serving via Caddy file_server
# instead of ghcr.io/5etools-mirror-3/5etools-src (~14G image on root).
- /storage1/labdata/5etools:/srv/5etools:ro
networks: networks:
edge: edge: