46 lines
2.0 KiB
Plaintext
46 lines
2.0 KiB
Plaintext
ARG GITEA_URL=https://git.familie-berner.de
|
|
ARG ORG=Open
|
|
ARG VERSION=v3.13.0
|
|
|
|
# 1. Abhängigkeiten installieren
|
|
# Wir nutzen postgresql16-server (Stable). Falls 18 verfügbar ist, hier anpassen.
|
|
PKG curl postgresql16-server ca_root_nss
|
|
|
|
# 2. Postgres aktivieren und initialisieren
|
|
SYSRC postgresql_enable=YES
|
|
SERVICE postgresql initdb
|
|
SERVICE postgresql start
|
|
|
|
# Kurz warten, bis die DB hochgefahren ist
|
|
CMD sleep 5
|
|
|
|
# DB User und Datenbank anlegen
|
|
CMD su - postgres -c "createuser -w -d woodpecker"
|
|
CMD su - postgres -c "createdb -O woodpecker woodpecker"
|
|
CMD su - postgres -c "psql -c \"ALTER USER woodpecker WITH PASSWORD 'woodpecker';\""
|
|
|
|
# 3. Woodpecker Binaries herunterladen
|
|
CMD mkdir -p /usr/local/bin
|
|
CMD curl -fL -o /usr/local/bin/woodpecker-server ${GITEA_URL}/api/packages/${ORG}/generic/woodpecker-freebsd/${VERSION}/woodpecker-server
|
|
CMD curl -fL -o /usr/local/bin/woodpecker-agent ${GITEA_URL}/api/packages/${ORG}/generic/woodpecker-freebsd/${VERSION}/woodpecker-agent
|
|
CMD curl -fL -o /usr/local/bin/woodpecker-cli ${GITEA_URL}/api/packages/${ORG}/generic/woodpecker-freebsd/${VERSION}/woodpecker-cli
|
|
CMD chmod +x /usr/local/bin/woodpecker-server /usr/local/bin/woodpecker-agent /usr/local/bin/woodpecker-cli
|
|
|
|
# 4. Konfiguration und RC-Skripte kopieren
|
|
# Bastille kopiert Dateien aus dem 'files/' Unterordner des Templates an die Zielposition
|
|
CMD mkdir -p /usr/local/etc/woodpecker
|
|
|
|
# Kopiere RC-Skripte (Quelle: files/usr/local/etc/rc.d/...)
|
|
CP usr/local/etc/rc.d/woodpecker-server /usr/local/etc/rc.d/woodpecker-server
|
|
CP usr/local/etc/rc.d/woodpecker-agent /usr/local/etc/rc.d/woodpecker-agent
|
|
|
|
# Kopiere Env-Files (Quelle: files/usr/local/etc/woodpecker/...)
|
|
CP usr/local/etc/woodpecker/server.env /usr/local/etc/woodpecker/server.env
|
|
CP usr/local/etc/woodpecker/agent.env /usr/local/etc/woodpecker/agent.env
|
|
|
|
CMD chmod +x /usr/local/etc/rc.d/woodpecker-server
|
|
CMD chmod +x /usr/local/etc/rc.d/woodpecker-agent
|
|
|
|
# 5. Dienste aktivieren
|
|
SYSRC woodpecker_server_enable=YES
|
|
SYSRC woodpecker_agent_enable=YES |