Skip to content
lodilorenzoPublic

About

Teatro is a beta, noncommercial source-available game library server under CC BY-NC-SA 4.0. Signed beta images for amd64 and arm64 are published on GHCR.

Topics

Resources

Security policy

Stars

14 stars

Watchers

0 watching

Forks

Repository files navigation

Teatro

Teatro version Status: beta License: CC BY-NC-SA 4.0 Rust: 1.93 or newer Docker: published beta images on GHCR

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.

Features

  • 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.

Quick start with Docker

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.1

Open 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.

Documentation

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.

Limits and release status

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.

License and security

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.

About

Teatro is a beta, noncommercial source-available game library server under CC BY-NC-SA 4.0. Signed beta images for amd64 and arm64 are published on GHCR.

Topics

Resources

Security policy

Stars

14 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages