---
title: Szerver
url: 'https://wiki.teletypegames.org/hu/infrastructure/server'
markdown: 'https://wiki.teletypegames.org/hu/infrastructure/server.md'
lang: hu
date: '2026-09-14'
description: 'Egyetlen Ubuntu 24.04 LTS gép futtat mindent, amit a Teletype Games használ: a portált, a Git-szervert, a CI-t, a wikit, a projektmenedzsmentet, az analitikát és a BBS-eket. Szinte minden szolgáltatás Docker Compose stack, a belépési pont mindenhez az Nginx. Ez a lap a nyilvános kivonat; a részlet…'
taxonomy:
  tag:
    - howto
---

# Szerver

> Egyetlen Ubuntu 24.04 LTS gép futtat mindent, amit a Teletype Games használ: a portált, a Git-szervert, a CI-t, a wikit, a projektmenedzsmentet, az analitikát és a BBS-eket. Szinte minden szolgáltatás Docker Compose stack, a belépési pont mindenhez az Nginx. Ez a lap a nyilvános kivonat; a részletes üzemeltetési dokumentáció belső.

# Áttekintés

```mermaid
graph LR
  Internet -->|HTTPS| Nginx
  Internet -->|SSH| Gitea
  Internet -->|telnet| BBS[BBS-ek]
  Internet -->|FTP| FTP[FTP-szerver]
  Nginx --> Gitea
  Nginx --> Woodpecker
  Nginx --> WebApp[Teletype Games portál]
  Nginx --> Grav[Grav wiki]
  Nginx --> Redmine
  Nginx --> Matomo
  Nginx --> ResourceSpace
  Nginx --> UptimeKuma[Uptime Kuma]
  Nginx --> Grafana
  Nginx --> Authentik
  Nginx --> GoAccess
  Nginx --> Static[Statikus oldalak]
  Woodpecker -->|build + deploy| WebApp
  Statusbot --> Discord
  Updater --> Discord
  UptimeKuma --> Discord
  Grafana -->|riasztások| Discord
```

# Szolgáltatások

| Szolgáltatás | Mit csinál |
|---|---|
| [Nginx](https://nginx.org/) | Minden webes forgalom belépési pontja, TLS-terminálás Let's Encrypt tanúsítványokkal, biztonsági fejlécek, robot-szűrés. |
| [Gitea](https://wiki.teletypegames.org/hu/infrastructure/gitea) | Saját Git-szerver: repók, kódellenőrzés, issue-k, csomagregisztráció. Zárt regisztráció. |
| [Woodpecker](https://wiki.teletypegames.org/hu/infrastructure/woodpecker) | CI/CD motor Gitea-integrációval. A portál éles telepítését is ez végzi: master push → tesztek → image build → adatbázis-migráció → konténercsere. |
| Teletype Games portál | Vue frontend + Rails API a [WarpEngine](https://wiki.teletypegames.org/hu/engines/warp-engine) katalógusmotorral, MySQL adatbázissal. 2026 szeptemberétől éles (production) módban, saját image-ekből fut. |
| [Grav](https://getgrav.org/) | Ez a wiki: fájlalapú CMS, a tartalom git-repóban él. Mellette egy fetcher (git szinkron webhookkal) és a wiki telnetes BBS-nézete. |
| [Redmine](https://www.redmine.org/) | Projektmenedzsment: feladatok, hibák, mérföldkövek. |
| [Matomo](https://matomo.org/) | Adatvédelembarát analitika a nyilvános oldalakhoz. |
| [ResourceSpace](https://www.resourcespace.com/) | Digitális eszköztár: grafika, hang, videó, dokumentumok. |
| [Uptime Kuma](https://uptime.kuma.pet/) | Rendelkezésre állás és tanúsítvány-lejárat figyelése, Discord-riasztással. |
| [Grafana](https://wiki.teletypegames.org/hu/infrastructure/grafana) | Monitorozó felület: metrika- és log-dashboardok a gépről, a konténerekről, a mentésről, a portokról, a naplókról és a csapat Gitea-, Redmine- és CI-aktivitásáról. Prometheus és Loki adja az adatot, belépés Gitea-fiókkal. A szerver riasztásai (CPU, memória, lemez, inode, swap, OOM, újraindulási hurok, adatbázisok, mentés, tanúsítványok, CI) Grafana-szabályokként mennek Discordra. |
| [Authentik](https://wiki.teletypegames.org/hu/infrastructure/idp) | Központi belépés: tagonként egy fiók minden rendszerhez (OIDC, SAML, forward-auth). |
| [GoAccess](https://goaccess.io/) | Valós idejű forgalmi riport az Nginx naplóból, [Authentik](https://wiki.teletypegames.org/hu/infrastructure/idp)-belépéssel. |
| [FTP-szerver](https://wiki.teletypegames.org/hu/infrastructure/ftp-server) | Anonim, csak olvasható FTP a DOS-os eszközöknek: a [DOSINST](https://wiki.teletypegames.org/hu/dos/dosinst) programtára (`APPS`) és a [TTGWIKI](https://wiki.teletypegames.org/hu/dos/ttgwiki) wikiexportja (`WIKI`), a C64- és a Plus/4-polc (`C64`, `PLUS4`), valamint bármely FTP-kliensnek a WarpEngine-játékok fájljai (`WARP`); ugyanez a fa sima HTTP-n az archive.teletypegames.org-on. |
| [Modellszolgáltatás](https://wiki.teletypegames.org/hu/infrastructure/llm) | llama.cpp router-módban a belső `interstack` hálózaton: kis nyelvi modellek egy OpenAI-kompatibilis címen, hívónként egy kulccsal. Ma a Qwen3.5 0.8B fut rajta, a [BBS](https://wiki.teletypegames.org/hu/services/teletype-bbs) SERMO-jának modellje és általános kis modell bármelyik stacknek, igény szerint pedig a Gemma 3 270M. |
| BBS-ek | Tíz telnetes board és előttük a [TTG Gate BBS](https://wiki.teletypegames.org/hu/services/ttg-gate-bbs), a [BBS-hálózat](https://wiki.teletypegames.org/hu/services/bbs-network): a [Teletype BBS](https://wiki.teletypegames.org/hu/services/teletype-bbs), az [Impostor BBS](https://wiki.teletypegames.org/hu/services/impostor-bbs), a [TTG Wiki BBS](https://wiki.teletypegames.org/hu/services/wiki-bbs), az [Alexandria BBS](https://wiki.teletypegames.org/hu/services/alexandria-bbs), a [Feedia BBS](https://wiki.teletypegames.org/hu/services/feedia-bbs), a [TTG Blog BBS](https://wiki.teletypegames.org/hu/services/ttg-blog-bbs), a [WarpEngine BBS](https://wiki.teletypegames.org/hu/services/warp-engine-bbs), a [Scriptorium BBS](https://wiki.teletypegames.org/hu/services/scriptorium-bbs), a [Commodex BBS](https://wiki.teletypegames.org/hu/services/commodex-bbs) és a [Pixelia BBS](https://wiki.teletypegames.org/hu/services/pixelia-bbs). |
| Statusbot | Pascal nyelvű Discord-ütemező: heti státuszszálakat nyit. Csak kimenő irányú. |
| Updater | Go szolgáltatás, amely a Gitea-commitokat, a wiki frissítéseit és a Redmine-issue-kat figyeli, és Discord webhookokra posztol. Csak kimenő irányú. |
| Statikus oldalak | `teletype.hu` (busybox httpd) és `enigmazene.hu` (Astro build, közvetlenül az Nginx szolgálja ki). |

# Nyilvános címek

| Cím | Szolgáltatás |
|---|---|
| teletypegames.org | Teletype Games portál |
| git.teletypegames.org | [Gitea](https://wiki.teletypegames.org/hu/infrastructure/gitea) (SSH: 2222-es port) |
| ci.teletypegames.org | [Woodpecker](https://wiki.teletypegames.org/hu/infrastructure/woodpecker) CI |
| wiki.teletypegames.org | ez a wiki |
| pm.teletypegames.org | Redmine |
| assets.teletypegames.org | ResourceSpace |
| uptime.teletypegames.org | Uptime Kuma ([Authentik](https://wiki.teletypegames.org/hu/infrastructure/idp)-belépéssel; a monitor.teletypegames.org és a monitor.teletype.hu ide irányít) |
| grafana.teletypegames.org | [Grafana](https://wiki.teletypegames.org/hu/infrastructure/grafana) (belépés Gitea-fiókkal) |
| ftp.teletypegames.org | [FTP-szerver](https://wiki.teletypegames.org/hu/infrastructure/ftp-server) (21-es port) |
| teletype.hu, enigmazene.hu | statikus oldalak |

A régi `*.teletype.hu` és `*.vps.teletype.hu` címek a `teletypegames.org` megfelelőjükre irányítanak át. A nyitott portok listája: [Szerver portok](https://wiki.teletypegames.org/hu/infrastructure/server-ports).

# Hogyan üzemel

- **Docker Compose stackek**, 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.
- **Minden image verzióra rögzített**, nincs `latest` a külső képeknél. A frissítés kézi, havonta, előtte adatbázis-dumppal.
- **Konténerportok csak localhoston** nyitottak; kívülről minden az Nginx-en át érhető el. Kivétel a Gitea SSH és a három telnetes BBS.
- **Automatikus biztonsági frissítések** (unattended-upgrades) a hoszton; kernelfrissítés után kézi újraindítás.
- **Konfiguráció verziókezelve**: az Nginx konfig saját git-repóban, a többi `/etc` etckeeperrel.

# Biztonság

- TLS mindenhol, HSTS és a szokásos biztonsági fejlécek; rejtett fájlok (`.git`, `.env`) tiltva minden vhoston.
- Az adminfelületek (konténerkezelő, adatbázis-adminok, Webmin, Prometheus, Loki) **nincsenek az interneten**, csak SSH-tunnelen érhetők el. A [Grafana](https://wiki.teletypegames.org/hu/infrastructure/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.

# Mentés

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: [Mentés](https://wiki.teletypegames.org/hu/infrastructure/backup).

# Kivezetett szolgáltatások

| Mikor | Mi | Megjegyzés |
|---|---|---|
| 2026-10 | Netdata | a riasztásai Grafana-szabályok lettek, a metrikákat a Prometheus gyűjti |
| 2026-09 | [Teletype Orbit](https://wiki.teletypegames.org/hu/services/teletype-orbit) | leállítva, a forrás és az adatok archiválva |
| 2026-09 | Wiki.js | a régi wiki adatbázisa; a tartalom már itt, a Gravban él |
| 2026-09 | OpenVPN | nem használt, letiltva |
| 2026-09 | Countdowner | a `countdown.teletype.hu` a portálra irányít |
| 2026-09 | Discourse fórum | a `forum.teletype.hu` a portál kapcsolat-oldalára irányít |

# Legutóbbi változások

- **2026-10-23** – A [Gitea](https://wiki.teletypegames.org/hu/infrastructure/gitea) (saját adatbázissal) és a [Woodpecker](https://wiki.teletypegames.org/hu/infrastructure/woodpecker) kiköltözött a portál stackjéből saját stackbe; a Traefik megszűnt, az Nginx közvetlenül proxyz minden szolgáltatásra.
- **2026-10-18** – Az Uptime Kuma új címe [uptime.teletypegames.org](https://uptime.teletypegames.org) (a monitor.\* átirányít; a push- és badge-URL-ek továbbra is működnek). A Matomo új címe [matomo.teletypegames.org](https://matomo.teletypegames.org) (a régi átirányít), és 5.14-re frissült. A Matomo, az Uptime Kuma és a GoAccess is [Authentik](https://wiki.teletypegames.org/hu/infrastructure/idp)-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.
- **2026-10-17** – 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).
- **2026-10-16** – [Grafana](https://wiki.teletypegames.org/hu/infrastructure/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.
- **2026-10-16** – Mentés: a restic kivezetve, helyette rsync-alapú teljes állomány-tükör a NAS-ra (`vps-backup-sync`); a Gitea adatbázisa bekerült a napi dumpok közé.
- **2026-09-13** – GoAccess forgalmi riport; robot-szűrés és robots.txt a Git-szerveren; etckeeper.
- **2026-09-11** – 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.
- **2026-09-10** – Gitea biztonsági incidens (CVE-2026-59774), még aznap elhárítva, Gitea 1.27.1-re frissítve.

'; var prevLevel = 2; for (var i = 0; i < headings.length; i++) { var h = headings\[i\]; var text = h.textContent.trim(); var slug = text.toLowerCase() .replace(/\[áàâä\]/g,'a').replace(/\[éèêë\]/g,'e').replace(/\[íìîï\]/g,'i') .replace(/\[óòôöő\]/g,'o').replace(/\[úùûüű\]/g,'u') .replace(/\[^a-z0-9\]+/g, '-').replace(/^-|-$/g, ''); if (!slug) slug = 'heading-' + i; if (used\[slug\]) { slug += '-' + i; } used\[slug\] = true; h.id = slug; var level = parseInt(h.tagName.charAt(1)); var cls = level > 2 ? ' class="toc-child"' : ''; html += '- [' + text + '](#'%20+%20slug%20+%20')
'; } html += '
'; toc.innerHTML = html; // Scroll-spy: highlight current heading var links = toc.querySelectorAll('a'); var ids = \[\]; for (var j = 0; j < links.length; j++) ids.push(links\[j\].getAttribute('href').slice(1)); function updateActive() { var current = ''; for (var k = 0; k < ids.length; k++) { var el = document.getElementById(ids\[k\]); if (el && el.getBoundingClientRect().top <= 80) current = ids\[k\]; } for (var m = 0; m < links.length; m++) { links\[m\].parentNode.classList.toggle('active', links\[m\].getAttribute('href') === '#' + current); } } window.addEventListener('scroll', updateActive, { passive: true }); updateActive(); })();

---

## Navigation

- Parent: [Infrastruktúra](https://wiki.teletypegames.org/hu/infrastructure.md)
- Previous: [ResourceSpace](https://wiki.teletypegames.org/hu/infrastructure/resourcespace.md)
- Next: [Szerver portok](https://wiki.teletypegames.org/hu/infrastructure/server-ports.md)
