TITLE=Szerver ROUTE=/infrastructure/server LOCALE=hu MODIFIED=1792565451 URL=https://wiki.teletypegames.org/hu/infrastructure/server L=1 https://nginx.org/ L=2 https://traefik.io/ L=3 https://gitea.io/ L=4 https://woodpecker-ci.org/ L=5 #22 L=6 https://getgrav.org/ L=7 https://www.redmine.org/ L=8 https://matomo.org/ L=9 https://www.resourcespace.com/ L=10 https://uptime.kuma.pet/ L=11 https://goaccess.io/ L=12 #50 L=13 #16 L=14 #49 L=15 #73 L=16 #66 L=17 #28 L=18 #70 L=19 https://uptime.teletypegames.org L=20 https://matomo.teletypegames.org q│ Egyetlen Ubuntu 24.04 LTS gép futtat mindent, amit a Teletype Games használ: q│ a portált, a Git-szervert, a CI-t, a wikit, a projektmenedzsmentet, az q│ analitikát és a BBS-eket. Szinte minden szolgáltatás Docker Compose stack, a q│ belépési pont mindenhez az Nginx. Ez a lap a nyilvános kivonat; a részletes q│ üzemeltetési dokumentáció belső. 1Áttekintés 1══════════ p graph LR p Internet -->|HTTPS| Nginx p Internet -->|SSH| Gitea p Internet -->|telnet| BBS[BBS-ek] p Internet -->|FTP| FTP[FTP-szerver] p Nginx --> Traefik p Traefik --> Gitea p Traefik --> Woodpecker p Traefik --> WebApp[Teletype Games portál] p Nginx --> Grav[Grav wiki] p Nginx --> Redmine p Nginx --> Matomo p Nginx --> ResourceSpace p Nginx --> UptimeKuma[Uptime Kuma] p Nginx --> Grafana p Nginx --> Authentik p Nginx --> GoAccess p Nginx --> Static[Statikus oldalak] p Woodpecker -->|build + deploy| WebApp p Statusbot --> Discord p Updater --> Discord p UptimeKuma --> Discord p Grafana -->|riasztások| Discord 1Szolgáltatások 1══════════════ t┌───────────────────────┬────────────────────────────────────────────────────┐ t│h Szolgáltatás t│h Mit csinál t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 1Nginx t│0 Minden webes forgalom belépési pontja, t│ t│0 t│0 TLS-terminálás Let's Encrypt tanúsítványokkal, t│ t│0 t│0 biztonsági fejlécek, robot-szűrés. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 2Traefik t│0 Belső reverse proxy a fő stack konténerei elé t│ t│0 t│0 (Gitea, Woodpecker, portál), Host és útvonal t│ t│0 t│0 alapján routol. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 3Gitea t│0 Saját Git-szerver: repók, kódellenőrzés, issue-k, t│ t│0 t│0 csomagregisztráció. Zárt regisztráció. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 4Woodpecker t│0 CI/CD motor Gitea-integrációval. A portál éles t│ t│0 t│0 telepítését is ez végzi: master push → tesztek → t│ t│0 t│0 image build → adatbázis-migráció → konténercsere. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 Teletype Games portál t│0 Vue frontend + Rails API a 5WarpEngine t│ t│0 t│0 katalógusmotorral, MySQL adatbázissal. 2026 t│ t│0 t│0 szeptemberétől éles (production) módban, saját t│ t│0 t│0 image-ekből fut. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 6Grav t│0 Ez a wiki: fájlalapú CMS, a tartalom git-repóban t│ t│0 t│0 él. Mellette egy fetcher (git szinkron webhookkal) t│ t│0 t│0 és a wiki telnetes BBS-nézete. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 7Redmine t│0 Projektmenedzsment: feladatok, hibák, t│ t│0 t│0 mérföldkövek. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 8Matomo t│0 Adatvédelembarát analitika a nyilvános oldalakhoz. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 9ResourceSpace t│0 Digitális eszköztár: grafika, hang, videó, t│ t│0 t│0 dokumentumok. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 10Uptime Kuma t│0 Rendelkezésre állás és tanúsítvány-lejárat t│ t│0 t│0 figyelése, Discord-riasztással. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 Grafana t│0 Monitorozó felület: metrika- és log-dashboardok a t│ t│0 t│0 gépről, a konténerekről, a mentésről, a portokról, t│ t│0 t│0 a naplókról és a csapat Gitea-, Redmine- és t│ t│0 t│0 CI-aktivitásáról. Prometheus és Loki adja az t│ t│0 t│0 adatot, belépés Gitea-fiókkal. A szerver t│ t│0 t│0 riasztásai (CPU, memória, lemez, inode, swap, OOM, t│ t│0 t│0 újraindulási hurok, adatbázisok, mentés, t│ t│0 t│0 tanúsítványok, CI) Grafana-szabályokként mennek t│ t│0 t│0 Discordra. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 Authentik t│0 Központi belépés: tagonként egy fiók minden t│ t│0 t│0 rendszerhez (OIDC, SAML, forward-auth). t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 11GoAccess t│0 Valós idejű forgalmi riport az Nginx naplóból, t│ t│0 t│0 Authentik-belépéssel. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 12FTP-szerver t│0 Anonim, csak olvasható FTP a DOS-os eszközöknek: a t│ t│0 t│0 13DOSINST programtára (cAPPS0) és a 14TTGWIKI t│ t│0 t│0 wikiexportja (cWIKI0), valamint bármely t│ t│0 t│0 FTP-kliensnek a WarpEngine-játékok fájljai (cWARP0). t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 15Modellszolgáltatás t│0 llama.cpp router-módban a belső cinterstack0 t│ t│0 t│0 hálózaton: kis nyelvi modellek egy t│ t│0 t│0 OpenAI-kompatibilis címen, hívónként egy kulccsal. t│ t│0 t│0 Ma a Qwen3.5 0.8B fut rajta, a 16BBS SERMO-jának t│ t│0 t│0 modellje és általános kis modell bármelyik t│ t│0 t│0 stacknek, igény szerint pedig a Gemma 3 270M. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 BBS-ek t│0 Három telnetes terminál: a 16Teletype Games BBS, a t│ t│0 t│0 „Definitely not an Impostor” utójáték-terminál és t│ t│0 t│0 a wiki BBS-nézete. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 Statusbot t│0 Pascal nyelvű Discord-ütemező: heti t│ t│0 t│0 státuszszálakat nyit. Csak kimenő irányú. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 Updater t│0 Go szolgáltatás, amely a Gitea-commitokat, a wiki t│ t│0 t│0 frissítéseit és a Redmine-issue-kat figyeli, és t│ t│0 t│0 Discord webhookokra posztol. Csak kimenő irányú. t│ t├───────────────────────┼────────────────────────────────────────────────────┤ t│0 Statikus oldalak t│0 cteletype.hu0 (busybox httpd) és cenigmazene.hu0 t│ t│0 t│0 (Astro build, közvetlenül az Nginx szolgálja ki). t│ t└───────────────────────┴────────────────────────────────────────────────────┘ 1Nyilvános címek 1═══════════════ t┌────────────────────────────┬───────────────────────────────────────────────┐ t│h Cím t│h Szolgáltatás t│ t├────────────────────────────┼───────────────────────────────────────────────┤ t│0 teletypegames.org t│0 Teletype Games portál t│ t├────────────────────────────┼───────────────────────────────────────────────┤ t│0 git.teletypegames.org t│0 Gitea (SSH: 2222-es port) t│ t├────────────────────────────┼───────────────────────────────────────────────┤ t│0 ci.teletypegames.org t│0 Woodpecker CI t│ t├────────────────────────────┼───────────────────────────────────────────────┤ t│0 wiki.teletypegames.org t│0 ez a wiki t│ t├────────────────────────────┼───────────────────────────────────────────────┤ t│0 pm.teletypegames.org t│0 Redmine t│ t├────────────────────────────┼───────────────────────────────────────────────┤ t│0 assets.teletypegames.org t│0 ResourceSpace t│ t├────────────────────────────┼───────────────────────────────────────────────┤ t│0 uptime.teletypegames.org t│0 Uptime Kuma (Authentik-belépéssel; a t│ t│0 t│0 monitor.teletypegames.org és a t│ t│0 t│0 monitor.teletype.hu ide irányít) t│ t├────────────────────────────┼───────────────────────────────────────────────┤ t│0 grafana.teletypegames.org t│0 Grafana (belépés Gitea-fiókkal) t│ t├────────────────────────────┼───────────────────────────────────────────────┤ t│0 ftp.teletypegames.org t│0 12FTP-szerver (21-es port) t│ t├────────────────────────────┼───────────────────────────────────────────────┤ t│0 teletype.hu, enigmazene.hu t│0 statikus oldalak t│ t└────────────────────────────┴───────────────────────────────────────────────┘ A régi c*.teletype.hu0 és c*.vps.teletype.hu0 címek a cteletypegames.org megfelelőjükre irányítanak át. A nyitott portok listája: Szerver portok. 1Hogyan üzemel 1═════════════ • bDocker Compose stackek0, minden szolgáltatásnak saját könyvtára és compose fájlja van; a legtöbb git checkout, így a konfiguráció verziókezelt. Egy közös Makefile indítja, állítja le és frissíti az összeset. • bMinden image verzióra rögzített0, nincs clatest0 a külső képeknél. A frissítés kézi, havonta, előtte adatbázis-dumppal. • bKonténerportok csak localhoston0 nyitottak; kívülről minden az Nginx-en át érhető el. Kivétel a Gitea SSH és a három telnetes BBS. • bAutomatikus biztonsági frissítések0 (unattended-upgrades) a hoszton; kernelfrissítés után kézi újraindítás. • bKonfiguráció verziókezelve0: az Nginx konfig saját git-repóban, a többi c/etc etckeeperrel. 1Biztonság 1═════════ • TLS mindenhol, HSTS és a szokásos biztonsági fejlécek; rejtett fájlok (c.git0, c.env0) tiltva minden vhoston. • Az adminfelületek (konténerkezelő, adatbázis-adminok, Webmin, Prometheus, Loki) bnincsenek az interneten0, csak SSH-tunnelen érhetők el. A Grafana nyilvános, de csak Gitea-fiókkal lehet belépni, jelszavas belépés nincs. • Tűzfal (ufw) alapból mindent tilt; SSH-n root nem léphet be, csak név szerint engedélyezett adminfiókok. • fail2ban tiltja az SSH-, Gitea-, Redmine- és web-alapú brute-force próbálkozásokat; nftables szinten, így a konténerportokra is hat. • auditd naplózza a rendszergazdai parancsokat, AIDE ellenőrzi naponta a rendszerfájlok sértetlenségét. • A Git-szerver a robots.txt-t nem tisztelő AI-tanító és scraper robotokat user-agent alapján elutasítja; a drága Gitea-útvonalak (diff, blame, archívum) minden robot elől tiltva. • Az adatbázisokhoz minden alkalmazás saját, csak a maga sémájára jogosult felhasználóval kapcsolódik. 1Mentés 1══════ Két lánc: éjjelente adatbázis-dumpok (köztük a Giteáé) és az összes Gitea-repó tükre, utána rsync-alapú teljes állomány-tükör minden stackről, konfigról és dumpról egy távoli NAS-ra. Verziózás nincs, a NAS-on mindig a legutóbbi állapot van. Részletek: 17Mentés. 1Kivezetett szolgáltatások 1═════════════════════════ t┌─────────┬─────────────────┬────────────────────────────────────────────────┐ t│h Mikor t│h Mi t│h Megjegyzés t│ t├─────────┼─────────────────┼────────────────────────────────────────────────┤ t│0 2026-10 t│0 Netdata t│0 a riasztásai Grafana-szabályok lettek, a t│ t│0 t│0 t│0 metrikákat a Prometheus gyűjti t│ t├─────────┼─────────────────┼────────────────────────────────────────────────┤ t│0 2026-09 t│0 18Teletype Orbit t│0 leállítva, a forrás és az adatok archiválva t│ t├─────────┼─────────────────┼────────────────────────────────────────────────┤ t│0 2026-09 t│0 Wiki.js t│0 a régi wiki adatbázisa; a tartalom már itt, a t│ t│0 t│0 t│0 Gravban él t│ t├─────────┼─────────────────┼────────────────────────────────────────────────┤ t│0 2026-09 t│0 OpenVPN t│0 nem használt, letiltva t│ t├─────────┼─────────────────┼────────────────────────────────────────────────┤ t│0 2026-09 t│0 Countdowner t│0 a ccountdown.teletype.hu0 a portálra irányít t│ t├─────────┼─────────────────┼────────────────────────────────────────────────┤ t│0 2026-09 t│0 Discourse fórum t│0 a cforum.teletype.hu0 a portál t│ t│0 t│0 t│0 kapcsolat-oldalára irányít t│ t└─────────┴─────────────────┴────────────────────────────────────────────────┘ 1Legutóbbi változások 1════════════════════ • b2026-10-180 – Az Uptime Kuma új címe 19uptime.teletypegames.org (a monitor.* átirányít; a push- és badge-URL-ek továbbra is működnek). A Matomo új címe 20matomo.teletypegames.org (a régi átirányít), és 5.14-re frissült. A Matomo, az Uptime Kuma és a GoAccess is Authentik-belépést kapott (a GoAccess jelszava megszűnt); egy belépés fél évig érvényes. A Grafana-dashboardok mappák helyett címelőtaggal csoportosítva. • b2026-10-170 – Erőforrás-optimalizálás: a Netdata kivezetve, a riasztásai a Grafanába kerültek; 4 GB swap, memórialimit minden konténeren, kisebb Apache- és cAdvisor-terhelés (a gép CPU-használata kb. harmadára esett). • b2026-10-160 – Grafana nyilvánosan a grafana.teletypegames.org-on, Gitea-belépéssel; új dashboardok (mentés, portok, TLS, elérhetőség, adatbázisok, BBS, logok, Gitea, Redmine, CI); az ufw-szabályok csak TCP-re szűkítve. • b2026-10-160 – Mentés: a restic kivezetve, helyette rsync-alapú teljes állomány-tükör a NAS-ra (cvps-backup-sync0); a Gitea adatbázisa bekerült a napi dumpok közé. • b2026-09-130 – GoAccess forgalmi riport; robot-szűrés és robots.txt a Git-szerveren; etckeeper. • b2026-09-110 – Biztonsági audit utáni átalakítás: konténerportok localhostra, adminfelületek SSH-tunnelre, fail2ban, auditd, AIDE, restic mentés, Netdata; a portál éles módra váltott; image-verziók rögzítve; Redmine, Matomo, Uptime Kuma frissítve; Orbit és Wiki.js kivezetve. • b2026-09-100 – Gitea biztonsági incidens (CVE-2026-59774), még aznap elhárítva, Gitea 1.27.1-re frissítve.