Deployment auf Portainer-Git-Stack umstellen
Gitea Actions entfaellt. Der Runner laeuft in node:20-bookworm ohne Docker-CLI und ohne Daemon; jeder Bauversuch scheiterte dort, und die Nachruest-Loesung haette am durchgereichten Socket gehangen, der moeglicherweise gar nicht existiert. Stattdessen baut Portainer selbst aus diesem Repo. docker-compose.yml steht dafuer wieder auf build: mit dem mehrstufigen docker/Dockerfile. Damit entfaellt die Registry komplett - kein Image-Push, keine Zugangsdaten, weder fuer die CI noch fuer Portainer, weil das Repo oeffentlich lesbar ist. Der Aufbau des Images bleibt unveraendert: Hugo baut die Seite im Builder, das Laufzeit-Image ist reines nginx mit fertigem HTML. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,70 +0,0 @@
|
|||||||
name: Image bauen und in die Registry pushen
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
env:
|
|
||||||
REGISTRY: gitea.mindboost.team
|
|
||||||
IMAGE: gitea.mindboost.team/rorapp/robbis.space
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Repository auschecken
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
# themes/gokarna ist ein Submodule und wird fuer den Hugo-Build
|
|
||||||
# zwingend gebraucht. Ohne dies bricht das Dockerfile ab.
|
|
||||||
submodules: recursive
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
# Der Runner fuehrt Jobs in node:20-bookworm aus. Dort gibt es kein
|
|
||||||
# Docker. Dieser Schritt schlaegt nicht fehl, sondern protokolliert nur,
|
|
||||||
# was vorhanden ist - damit im Log sichtbar wird, woran es liegt, falls
|
|
||||||
# der Build danach scheitert.
|
|
||||||
- name: Umgebung protokollieren
|
|
||||||
run: |
|
|
||||||
grep PRETTY_NAME /etc/os-release || true
|
|
||||||
printf 'docker-CLI: '; command -v docker || echo 'fehlt'
|
|
||||||
printf 'Docker-Socket: '; test -S /var/run/docker.sock && echo 'vorhanden' || echo 'fehlt'
|
|
||||||
printf 'DOCKER_HOST: %s\n' "${DOCKER_HOST:-nicht gesetzt}"
|
|
||||||
|
|
||||||
# Nur die CLI (rund 30 MB), kein Daemon. Gebaut wird ueber den vom
|
|
||||||
# Runner durchgereichten Socket.
|
|
||||||
- name: Docker-CLI nachruesten
|
|
||||||
run: |
|
|
||||||
if ! command -v docker >/dev/null 2>&1; then
|
|
||||||
curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-27.3.1.tgz \
|
|
||||||
| tar xz -C /usr/local/bin --strip-components=1 docker/docker
|
|
||||||
fi
|
|
||||||
docker --version
|
|
||||||
|
|
||||||
- name: An der Registry anmelden
|
|
||||||
run: |
|
|
||||||
echo "${{ secrets.REGISTRY_TOKEN }}" \
|
|
||||||
| docker login "${{ env.REGISTRY }}" \
|
|
||||||
--username "${{ secrets.REGISTRY_USER }}" \
|
|
||||||
--password-stdin
|
|
||||||
|
|
||||||
# Bewusst ohne buildx: der Runner ist amd64, ein einfacher docker build
|
|
||||||
# genuegt und spart die Plugin-Installation.
|
|
||||||
- name: Bauen
|
|
||||||
run: |
|
|
||||||
docker build \
|
|
||||||
--file docker/Dockerfile \
|
|
||||||
--tag "${{ env.IMAGE }}:latest" \
|
|
||||||
--tag "${{ env.IMAGE }}:${{ gitea.sha }}" \
|
|
||||||
.
|
|
||||||
|
|
||||||
- name: Pushen
|
|
||||||
run: |
|
|
||||||
docker push "${{ env.IMAGE }}:latest"
|
|
||||||
docker push "${{ env.IMAGE }}:${{ gitea.sha }}"
|
|
||||||
|
|
||||||
- name: Abmelden
|
|
||||||
if: always()
|
|
||||||
run: docker logout "${{ env.REGISTRY }}" || true
|
|
||||||
@@ -1,9 +1,13 @@
|
|||||||
services:
|
services:
|
||||||
robbis-space:
|
robbis-space:
|
||||||
# Fertiges Image aus der Gitea-Registry. Die Seite ist beim Build
|
# Portainer zieht dieses Repo und baut das Image auf dem Docker-Host.
|
||||||
# hineingebacken - kein git pull, kein Hugo-Lauf zur Laufzeit.
|
# Der Build ist zweistufig (siehe docker/Dockerfile): Hugo erzeugt die
|
||||||
# Deployen heisst: docker compose pull && docker compose up -d
|
# Seite, das Laufzeit-Image enthaelt nur nginx und fertiges HTML.
|
||||||
image: ${ROBBIS_IMAGE:-gitea.mindboost.team/rorapp/robbis.space:latest}
|
# Kein git pull, kein Hugo-Lauf, kein PHP zur Laufzeit.
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/Dockerfile
|
||||||
|
image: robbis-space:latest
|
||||||
container_name: robbis-space
|
container_name: robbis-space
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
Reference in New Issue
Block a user