A single Ubuntu 24.04 LTS machine runs everything Teletype Games uses: the portal, the Git server, CI, the wiki, project management, analytics and the BBSes. Nearly every service is a Docker Compose stack, and Nginx is the entry point for all of them. This page is the public digest; the detailed operations documentation is internal (VPS assistant).
graph LR
Internet -->|HTTPS| Nginx
Internet -->|SSH| Gitea
Internet -->|telnet| BBS[BBSes]
Internet -->|FTP| FTP[FTP server]
Nginx --> Gitea
Nginx --> Woodpecker
Nginx --> WebApp[Teletype Games portal]
Nginx --> Grav[Grav wiki]
Nginx --> Redmine
Nginx --> Matomo
Nginx --> ResourceSpace
Nginx --> UptimeKuma[Uptime Kuma]
Nginx --> Grafana
Nginx --> Authentik
Nginx --> GoAccess
Nginx --> Static[Static sites]
Woodpecker -->|build + deploy| WebApp
Statusbot --> Discord
Updater --> Discord
UptimeKuma --> Discord
Grafana -->|alerts| Discord
| Service | What it does |
|---|---|
| Nginx | Entry point for all web traffic, TLS termination with Let's Encrypt certificates, security headers, bot filtering. |
| Gitea | Self-hosted Git: repositories, code review, issues, package registry. Registration is closed. |
| Woodpecker | CI/CD engine integrated with Gitea. It also deploys the portal: push to master → tests → image build → database migration → container swap. |
| Teletype Games portal | Vue frontend + Rails API on the WarpEngine catalog engine, backed by MySQL. Running in production mode from its own images since September 2026. |
| Grav | This wiki: a flat-file CMS whose content lives in a git repository. Alongside it run a fetcher (git sync via webhook) and the wiki's telnet BBS view. |
| Redmine | Project management: tasks, bugs, milestones. |
| Matomo | Privacy-friendly analytics for the public sites. |
| ResourceSpace | Digital asset management: game art, audio, video, documents. |
| Uptime Kuma | Availability and certificate-expiry monitoring with Discord alerts. |
| Grafana | Monitoring UI: metric and log dashboards for the machine, containers, backups, ports, logs, and the team's Gitea, Redmine and CI activity. Data from Prometheus and Loki; sign in with a Gitea account. The server's alerts (CPU, memory, disk, inodes, swap, OOM, restart loops, databases, backup, certificates, CI) go to Discord as Grafana rules. |
| Authentik | Central sign-in: one account per member for every system (OIDC, SAML, forward auth). |
| GoAccess | Real-time traffic report from the Nginx log, behind Authentik sign-in. |
| FTP server | Anonymous, read-only FTP for the DOS tools: the DOSINST program store (APPS) and the TTGWIKI wiki export (WIKI), the C64 and Plus/4 shelves (C64, PLUS4), and the WarpEngine game files for any FTP client (WARP); the same tree over plain HTTP at archive.teletypegames.org. |
| Model service | llama.cpp in router mode on the internal interstack network: small language models behind one OpenAI-compatible address, a key per caller. Today it runs Qwen3.5 0.8B, the model of the BBS's SERMO and a general small model for any stack, and Gemma 3 270M on demand. |
| BBSes | Ten telnet boards and TTG Gate BBS in front of them, the BBS network: the Teletype BBS, the Impostor BBS, the TTG Wiki BBS, Alexandria BBS, Feedia BBS, TTG Blog BBS, WarpEngine BBS, Scriptorium BBS, Commodex BBS and Pixelia BBS. |
| Statusbot | Pascal Discord scheduler that opens weekly status threads. Outbound only. |
| Updater | Go service watching Gitea commits, wiki updates and Redmine issues, posting to Discord webhooks. Outbound only. |
| Static sites | teletype.hu (busybox httpd) and enigmazene.hu (Astro build served directly by Nginx). |
| Address | Service |
|---|---|
| teletypegames.org | Teletype Games portal |
| git.teletypegames.org | Gitea (SSH on port 2222) |
| ci.teletypegames.org | Woodpecker CI |
| wiki.teletypegames.org | this wiki |
| pm.teletypegames.org | Redmine |
| assets.teletypegames.org | ResourceSpace |
| uptime.teletypegames.org | Uptime Kuma (Authentik sign-in; monitor.teletypegames.org and monitor.teletype.hu redirect here) |
| grafana.teletypegames.org | Grafana (Gitea sign-in) |
| ftp.teletypegames.org | FTP server (port 21) |
| teletype.hu, enigmazene.hu | static sites |
The legacy *.teletype.hu and *.vps.teletype.hu names redirect to their teletypegames.org counterparts. Open ports are listed on Server ports.
latest for external images. Updates are manual, monthly, preceded by a database dump./etc via etckeeper..git, .env) blocked on every vhost.Two chains: nightly database dumps (Gitea included) plus a mirror of every Gitea repository, followed by an rsync-based full mirror of all stacks, configuration and dumps to an off-site NAS. No versioning: the NAS always holds the latest state. Details: Backup.
| When | What | Note |
|---|---|---|
| 2026-10 | Netdata | its alerts became Grafana rules, Prometheus collects the metrics |
| 2026-09 | Teletype Orbit | stopped; source and data archived |
| 2026-09 | Wiki.js | the old wiki database; content now lives here in Grav |
| 2026-09 | OpenVPN | unused, disabled |
| 2026-09 | Countdowner | countdown.teletype.hu redirects to the portal |
| 2026-09 | Discourse forum | forum.teletype.hu redirects to the portal's contact page |
vps-backup-sync); the Gitea database joined the nightly dumps.