- Dockerfile 100%
|
All checks were successful
Build multi-arch image / build (push) Has been skipped
|
||
|---|---|---|
| .github/workflows | ||
| docker-compose.registry.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| README.md | ||
Bludit auf dem Raspberry Pi (Docker / Portainer)
Schlankes, datenbankloses Flatfile-CMS als eigenes Multi-Arch-Image. Die Basis
php:8.2-apache ist offiziell für arm64 und armv7 gebaut, das Image
läuft also nativ auf jedem Pi (32- oder 64-Bit-OS) ohne QEMU-Emulation. Bludit
selbst ist reines PHP – es wird nichts kompiliert.
Offline-Hinweis
Der Build braucht einmalig Internet (PHP-Basisimage ziehen, Bludit-Archiv
laden). Danach läuft das CMS komplett offline – es ruft im Betrieb keine
externen Ressourcen ab. Wer den Pi ganz ohne Netz betreiben will: einmal in
einem Netz bauen, dann Image mit docker save/docker load auf das
Offline-Gerät übertragen.
Deployment über Portainer + Forgejo (empfohlen)
Die drei Dateien in ein Forgejo-Repo pushen, dann in Portainer:
- Stacks → Add stack → Repository wählen.
- Repository-URL eintragen (z. B.
https://git.pfeiffer-privat.de/ppfeiffer/bludit-rpi), Branchmain, Compose-Pfaddocker-compose.yml. Bei privatem Repo Authentifizierung per Access-Token hinterlegen. - Deploy the stack. Portainer baut das ARM-Image und startet den Container.
Danach im Browser http://<pi-ip>:8090 öffnen – Bludit zeigt beim ersten
Aufruf den Install-Assistenten (Sprache wählen, Admin-Passwort setzen). Fertig.
Alternative: direkt auf dem Pi bauen
git clone https://git.pfeiffer-privat.de/ppfeiffer/bludit-rpi.git
cd bludit-rpi
docker compose up -d --build
Backup
Alle Nutzdaten (Seiten, Uploads, Konfiguration, JSON-Datenbank) liegen im
Named Volume bludit_content. Ein Backup ist damit ein Tarball dieses Volumes:
docker run --rm -v bludit_content:/data -v "$PWD":/backup alpine \
tar czf /backup/bludit-backup-$(date +%F).tar.gz -C /data .
Passt gut zu deiner bestehenden Forgejo-Backup-Automatik – den Tarball einfach mit ins Backup-Ziel legen.
Update
Neue Bludit-Version einspielen: In docker-compose.yml (und optional im
Dockerfile-Default) BLUDIT_VERSION erhöhen, dann Image neu bauen. Das
Volume bludit_content bleibt erhalten, die Inhalte gehen nicht verloren.
docker compose build --no-cache && docker compose up -d
In Portainer stattdessen beim Stack Pull and redeploy bzw. Re-pull image and redeploy mit aktiviertem Rebuild.
Absicherung
Standardmäßig lauscht der Container auf Port 8090 im lokalen Netz. Für den
öffentlichen Betrieb TLS davor setzen – bei dir bietet sich der vorhandene
Nginx Proxy Manager oder Caddy an. Bludit hat ein eigenes Login mit
Brute-Force-Schutz; ein zusätzlicher Reverse-Proxy mit HTTPS ist trotzdem
sinnvoll, sobald das CMS aus dem Mesh/Internet erreichbar sein soll.
Angepasste Parameter
| Was | Wo | Standard |
|---|---|---|
| Bludit-Version | Dockerfile ARG / docker-compose.yml |
3.22.0 |
| Host-Port | docker-compose.yml ports |
8090 |
| Upload-Limit | Dockerfile (bludit.ini) |
20M |
| Zeitzone | Dockerfile (date.timezone) |
Europe/Berlin |