EN /HU | Belépés

Üzembe helyezés

A hosting- és CI/CD-környezet: verziókezelés, folyamatos integráció és webhosting, Docker Compose-zal összefogva.

Komponensek

Szolgáltatás Image Szerep
Traefik traefik:latest Peremrouter. Host-fejléc szerinti útválasztás, 80/8080 port.
Gitea gitea/gitea:latest Saját üzemeltetésű Git-szolgáltatás.
Woodpecker Server woodpeckerci/woodpecker-server CI/CD-szerver, Gitea-integrációval.
Woodpecker Agent woodpeckerci/woodpecker-agent Futtatja a pipeline lépéseit; felcsatolja a Docker socketet és a közös softwares kötetet.
MySQL mysql:8 A softwares adatbázis: szoftver-metaadatok és kiadások.
phpMyAdmin phpmyadmin:latest Webes felület az adatbázishoz.
API helyi build Rails 8 alkalmazás: katalógus REST API, fájlletöltés, ActiveAdmin, /build/* végpontok. Az /api, /file, /build, /admin útvonalakra és a games.teletype.hu hosztra van irányítva.
Frontend helyi build A Vue 3 / Vite játékportál.

Közös tárterület

Az artifactok HTTP-n érkeznek: a POST /build/upload az API artifact-könyvtárába ír — a hoszton ./data/softwares, a konténerben /softwares néven csatolva (FILE_CONTAINER_PATH). Az updater és a /file/* statikus kiszolgálás ugyanezt a könyvtárat olvassa.

Telepítési munkafolyamat

Egy játékrepó .woodpecker.yaml fájlja egyetlen soros jelölő (platform: <platform>, illetve name:, ha a szoftvernév eltér a repó nevétől). A teljes pipeline az update szerver Woodpecker-konfigurációs kiterjesztéséből jön — lásd a WarpEngine oldalt:

SH
curl "https://teletypegames.org/build/config?platform=<platform>"

A repóhoz kell még egy metadata.json és az application_token Woodpecker-secret. A build után a pipeline két lépésben publikál.

1. Feltöltés — fájlonként egy multipart curl-kérés. A fájlneveknek tartalmazniuk kell a <név>-<verzió> előtagot.

SH
curl -X POST -H "X-Update-Secret: ${UPDATE_SECRET}" -F "file=@<name>-<version>.zip" \
  "${UPDATE_SERVER}/build/upload?name=...&version=..."

2. Publikálás — regisztrálja az új verziót.

SH
curl -X POST -H "X-Update-Secret: ${UPDATE_SECRET}" \
  "${UPDATE_SERVER}/build/publish?platform=...&name=...&version=..."

Az UPDATE_SECRET egy WarpEngine::ApplicationToken az update + upload jogosultságokkal — tulajdonosonként külön, opcionálisan lejáró, az adminban létrehozva.

Publikálás után a szoftver és a kiadásai automatikusan megjelennek a games.teletype.hu portálon.