Teatro is a self-hosted game library server with a player library, browser administration, and a focused ROMM-compatible API. SQLite stores the catalog; game files remain visible on disk. Teatro does not supply games or run emulators. Import only content you have permission to use.
Teatro is beta, noncommercial source-available software under
CC BY-NC-SA 4.0. Docker is the main deployment method.
Published beta images on GHCR
are available for Linux amd64 and arm64. No local compilation is needed.
There is no stable binary release. The current version is defined in
Cargo.toml.
- Authenticated browsing, search, game details, covers and browser downloads.
- Combined metadata filters and ascending/descending title, date, year, rating and size sorting.
- Admin-curated collections with dedicated URLs and opt-in anonymous LAN Party Zones.
- Uploads and managed-library scans for single files, optical-disc descriptors, tracks and multi-disc playlists.
- Metadata and cover editing, optional IGDB matching, and explicit file deletion.
- Read-only and administrator accounts, browser sessions and scoped API tokens.
- CRC32, MD5, SHA-1 and SHA-256 hashing with Logiqx XML DAT verification.
- Optional GOG offline-installer extraction into Windows ZIPs.
- Optional browsing and selected-game imports from one remote RomM server.
- Optional same-link IPv4 discovery for compatible clients.
- Experimental, opt-in compression on import to WUA, RVZ, CHD and 7z.
Use a 64-bit Linux Docker engine. The signed beta image supports amd64 and
arm64; there is no latest tag. The current version is defined in Cargo.toml.
For a fresh installation:
docker volume create teatro-data
docker run --detach \
--name teatro \
--restart unless-stopped \
--publish 4440:4440 \
--volume teatro-data:/data \
ghcr.io/lodilorenzo/teatro:0.22.1Open http://YOUR_SERVER:4440/setup and create the first administrator. Use /
for the player library and /admin for administration. The teatro-data volume
holds the database, game files and covers.
Complete setup on a trusted network. Do not expose port 4440 directly to the
Internet. Passwords and tokens need HTTPS or a trusted VPN outside that boundary.
For host-only access, replace --publish 4440:4440 with
--publish 127.0.0.1:4440:4440.
Read Docker deployment before using existing storage, changing permissions, upgrading, verifying image signatures, or building from source. For a native build, see development.
All documentation is included here; no wiki is required.
| Guide | Covers |
|---|---|
| Changelog | User-visible functionality added or changed between public versions. |
| Docker deployment and operations | Installation, volumes, HTTPS, users, backup, restore, upgrades and troubleshooting. |
| Library guide | Playing and downloading, uploads, scans, metadata, deletion, Jobs and integrity checks. |
| Integrations | IGDB, GOG, remote RomM, compatible clients and LAN discovery. |
| Configuration | Environment variables, defaults, limits and credential storage. |
| API reference | Authentication, read/download contract and all management endpoint groups. |
| Development | Source builds, checks and project structure. |
| Beta image publication | Native builds, security exceptions, SBOMs, signatures and publication gates. |
| Security policy | Supported versions and private vulnerability reporting. |
Teatro implements a subset of the ROMM API for browsing and downloads, not the full API. GOG, remote RomM and conversion imports are disabled by default. Converted outputs are verified against their inputs but not yet qualified with emulators. Remote RomM compatibility has not been validated against a live server. Server-side import jobs do not resume after a restart. Archives are hashed as files, not by their members; split archives and ClrMamePro text DATs are unsupported.
The Docker recipe and beta publishing workflow target native linux/amd64 and
linux/arm64 builds. Review the image security policy
before deployment. Stable-release qualification, production recovery,
independent reproducibility and client validation across devices remain pending.
Teatro's original code, documentation and artwork are licensed under CC BY-NC-SA 4.0. Copyright © 2026 Lorenzo Lodi. This is noncommercial source-available software, not OSI-approved open source.
Third-party material retains its own licenses. See THIRD_PARTY_NOTICES.md, RUST_DEPENDENCY_LICENSES.tsv, notices beside the web assets, and packaging notices. Source-publication review does not qualify generated images for redistribution.
Report vulnerabilities through the private route in SECURITY.md. Do not post exploit details, credentials or personal library data in public issues.
