lxc-homarr_latest_docker compose

Erstellt: 2025-07-08

Als Basis verwende ich ein Alpine-Klon meines Templates. Folgende Ressourcen werden benötigt:

Disk Size: 3 GB | CPU-Cores: 2 | Ram: 4096 MB

Nach dem LXC-Start:

apk update && apk upgrade
apk add docker docker-cli-compose openssl
rc-update add docker default
service docker start
mkdir -p /opt/dockervolumes/homarr

Schlüssel generieren:

openssl rand -hex 32

Die Ausgabe kopiere ich nun und ersetze den in der Zeile 10 stehenden Code.

cd /opt/dockervolumes/homarr && nano docker-compose.yml

Folgendes füge ich ein:

services:
homarr:
container_name: homarr
image: ghcr.io/homarr-labs/homarr:latest
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration
- /opt/appdata/homarr:/appdata
environment:
- SECRET_ENCRYPTION_KEY=ce91291bf30c060f27dd1aa4ed4edd9dde00429291823fec4139e79b826f7798
ports:
- '7575:7575'

Strg-x, y, Enter

cd /opt/dockervolumes/homarr && docker compose up -d

Wenn fertig, Start im Browser:

LXC-IP:7575

Quelle:

https://homarr.dev/docs/getting-started/installation/docker

Backup

Da ich mich immer zwischen verschiedenen Architekturen bewege, benötige ich ein Backup, welches auch auf ARM64 funktioniert. Da kann ich nicht einfach das LXC eines X64 verwenden. Aber auch hier ist es wieder einmal einfach gelöst. Ich benötige nur eine Datei:

/opt/appdata/homarr/db/db.sqlite

Das funktioniert aber nur, wenn ich diese Docker-Compose verwende. Wie das im Community-Script aussieht, habe ich noch nicht getestet.

Optional:

Update System:

In der Konsole des Homarr-LXC:

apk add wget bash unzip
wget -q -P /opt/ https://github.com/knilix/testareaalpine/archive/refs/heads/main.zip && unzip /opt/main.zip -d /opt/scriptfiles && chmod 700 /opt/scriptfiles/testareaalpine-main/alpineautoupdateinstallscript.sh
cd && cd /opt/scriptfiles/testareaalpine-main && ./alpineautoupdateinstallscript.sh
crontab -e

Folgendes am Ende dieser Datei einfügen, wenn das Update 02:10 Uhr stattfinden soll:

10 2 * * * /opt/scriptfiles/updatescript.sh >/dev/null 2>&1

Strg-x, y, Enter (wenn nano verwendet wird)

Zusätzliches Update von Docker-Compose:

nano /opt/scriptfiles/updatescript.sh

Folgendes füge ich ein, nachdem ich den Inhalt komplett gelöscht habe:

#!/bin/bash
echo d=$(date +%y-%m-%d_%H:%M:%S) | tee -a /opt/scriptfiles/updatelog.txt
old_kernel=$(uname -r)
#
apk update
apk upgrade
#
cd /opt/dockervolumes
readarray -d '' composeConfigs < <(find . -type f -name docker-compose.y* -print0)
#
for cfg in "${composeConfigs[@]}"; do
docker compose -f "$cfg" pull
docker compose -f "$cfg" up -d
done
#
# Alte Images automatisch löschen
docker image prune -f
#
new_kernel=$(uname -r)
# pruefen, ob sich die Kernel-Version geaendert hat
if [ "$old_kernel" != "$new_kernel" ]; then
reboot
else
exit
fi

Strg-x, y, Enter

Erstelle eine Website wie diese mit WordPress.com
Jetzt starten