SOAPBOX_BIND: velg adresse containeren eksponeres på (Caddy på annen maskin)
Standard 127.0.0.1 (Caddy lokalt). Kjører Caddy på en annen maskin over Tailscale, settes SOAPBOX_BIND til denne maskinens Tailscale-IP så appen bare lytter på tailnettet. Brukes av run.sh og compose.yaml; nytt Caddyfile-eksempel for oppsettet. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JcEy43fNYpwg6K6oTKakWR
This commit is contained in:
parent
7e79084dd9
commit
a0b48bc39a
5 changed files with 22 additions and 6 deletions
|
|
@ -32,7 +32,13 @@ SOAPBOX_OWNER_PASSWORD=bytt-meg-naa
|
|||
#SOAPBOX_SECRET_KEY=
|
||||
|
||||
# --- Bare for run.sh / compose (ikke lest av appen) ---
|
||||
# Lokal port Caddy proxyer til. Bindes kun til 127.0.0.1.
|
||||
# Adresse og port containeren eksponeres på; Caddy proxyer hit.
|
||||
# Caddy på samme maskin: SOAPBOX_BIND=127.0.0.1
|
||||
# Caddy på en annen maskin via SOAPBOX_BIND=100.x.y.z (denne maskinens
|
||||
# Tailscale: Tailscale-IP, se `tailscale ip -4`)
|
||||
# Appen har ingen egen TLS eller IP-filtrering, så bind aldri til 0.0.0.0 på
|
||||
# en maskin med offentlig IP – bruk en adresse bare Caddy når.
|
||||
SOAPBOX_BIND=127.0.0.1
|
||||
SOAPBOX_PORT=8080
|
||||
# Podman-volum (navn) eller katalog (absolutt sti) for /data
|
||||
SOAPBOX_VOLUME=soapbox-data
|
||||
|
|
|
|||
|
|
@ -4,6 +4,14 @@ blog.domene.no {
|
|||
reverse_proxy localhost:8080
|
||||
}
|
||||
|
||||
# Eksempel 3: Caddy på en annen maskin, appen nås over Tailscale.
|
||||
# På app-maskinen: SOAPBOX_BIND=<dens Tailscale-IP>. Her brukes MagicDNS-navnet,
|
||||
# men Tailscale-IP-en (100.x.y.z) fungerer like godt.
|
||||
blogg.domene.no {
|
||||
encode zstd gzip
|
||||
reverse_proxy app-maskin.tailnet-navn.ts.net:8080
|
||||
}
|
||||
|
||||
# Eksempel 2: bloggen under en sub-path (SOAPBOX_SITE_URL=https://annet-domene.com/blog).
|
||||
# Appen forventer å få hele stien inkl. /blog, så ingen strip_prefix her.
|
||||
annet-domene.com {
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ hovedbrukeren bør settes.
|
|||
```sh
|
||||
cp .env.example .env # sett SOAPBOX_SITE_URL og hovedbruker
|
||||
./build.sh # bygger localhost/soapbox:latest med build-metadata
|
||||
./run.sh # podman run --replace med .env, port 127.0.0.1:8080
|
||||
./run.sh # podman run --replace med .env, lytter på SOAPBOX_BIND:SOAPBOX_PORT
|
||||
# eller: podman compose up -d
|
||||
```
|
||||
|
||||
|
|
@ -70,7 +70,8 @@ Ny versjon: `git pull && ./build.sh && ./run.sh`. Data ligger i podman-volumet `
|
|||
(standard `./backups/soapbox-data-<tidsstempel>.tar.gz`) og beholder de `SOAPBOX_BACKUP_KEEP`
|
||||
nyeste (standard 5). Gjenopprett med `podman volume import soapbox-data <fil>`.
|
||||
|
||||
Caddy er ren reverse proxy, se `Caddyfile.example`. Ved sub-path skal Caddy **ikke** strippe
|
||||
Caddy er ren reverse proxy, se `Caddyfile.example`. Kjører Caddy på en annen maskin (f.eks. over
|
||||
Tailscale), sett `SOAPBOX_BIND` til denne maskinens Tailscale-IP så appen bare lytter på tailnettet. Ved sub-path skal Caddy **ikke** strippe
|
||||
prefikset – appen monteres selv under stien fra `SOAPBOX_SITE_URL`.
|
||||
|
||||
## Flytte bloggen (nytt domene og/eller sub-path)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ services:
|
|||
container_name: soapbox
|
||||
restart: always
|
||||
ports:
|
||||
- "127.0.0.1:${SOAPBOX_PORT:-8080}:8080"
|
||||
- "${SOAPBOX_BIND:-127.0.0.1}:${SOAPBOX_PORT:-8080}:8080"
|
||||
volumes:
|
||||
- ${SOAPBOX_VOLUME:-soapbox-data}:/data:Z
|
||||
env_file:
|
||||
|
|
|
|||
5
run.sh
5
run.sh
|
|
@ -16,6 +16,7 @@ fi
|
|||
|
||||
# Verdier som bare gjelder for podman-kjøringen (ikke appen)
|
||||
envval() { grep -E "^$1=" "$ENV_FILE" | head -n1 | cut -d= -f2- || true; }
|
||||
BIND="$(envval SOAPBOX_BIND)"; BIND="${BIND:-127.0.0.1}"
|
||||
PORT="$(envval SOAPBOX_PORT)"; PORT="${PORT:-8080}"
|
||||
VOLUME="$(envval SOAPBOX_VOLUME)"; VOLUME="${VOLUME:-soapbox-data}"
|
||||
MEMORY="$(envval SOAPBOX_MEMORY)"; MEMORY="${MEMORY:-512m}"
|
||||
|
|
@ -59,10 +60,10 @@ podman run -d --replace --name soapbox \
|
|||
--restart=always \
|
||||
--cap-drop=all --security-opt=no-new-privileges \
|
||||
--memory "$MEMORY" \
|
||||
-p "127.0.0.1:${PORT}:8080" \
|
||||
-p "${BIND}:${PORT}:8080" \
|
||||
-v "${VOLUME}:/data:Z" \
|
||||
--env-file "$ENV_FILE" \
|
||||
"$IMAGE"
|
||||
|
||||
echo "soapbox kjører på http://127.0.0.1:${PORT}/ (data i ${VOLUME})"
|
||||
echo "soapbox kjører på http://${BIND}:${PORT}/ (data i ${VOLUME})"
|
||||
echo "Logger: podman logs -f soapbox"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue