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