diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml deleted file mode 100644 index bc52725..0000000 --- a/.gitea/workflows/build.yml +++ /dev/null @@ -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 diff --git a/docker-compose.yml b/docker-compose.yml index cda49da..550ad42 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,13 @@ services: robbis-space: - # Fertiges Image aus der Gitea-Registry. Die Seite ist beim Build - # hineingebacken - kein git pull, kein Hugo-Lauf zur Laufzeit. - # Deployen heisst: docker compose pull && docker compose up -d - image: ${ROBBIS_IMAGE:-gitea.mindboost.team/rorapp/robbis.space:latest} + # Portainer zieht dieses Repo und baut das Image auf dem Docker-Host. + # Der Build ist zweistufig (siehe docker/Dockerfile): Hugo erzeugt die + # Seite, das Laufzeit-Image enthaelt nur nginx und fertiges HTML. + # Kein git pull, kein Hugo-Lauf, kein PHP zur Laufzeit. + build: + context: . + dockerfile: docker/Dockerfile + image: robbis-space:latest container_name: robbis-space restart: unless-stopped networks: