Introduction
Telesphorepo is a self-hosted package repository. It hosts Maven repositories (including Gradle plugins), Debian (apt) repositories and raw file repositories.
It is one Go binary with the web UI built in. Metadata lives in SQLite. File contents (blobs) live on the local disk or in any S3-compatible bucket, such as Cloudflare R2, SeaweedFS or AWS S3.
What it hosts
Section titled “What it hosts”| Format | What you store | Guide |
|---|---|---|
maven |
Maven and Gradle artifacts, including Gradle plugins | Maven and Gradle |
debian |
.deb packages, served as a signed apt repository |
Debian |
raw |
Plain files at any path | Raw files |
Each format is a plugin. The server core does not know the formats by name.
What it does not do
Section titled “What it does not do”- It hosts only. It has no proxy or cache repositories.
- It does not implement the Nexus API. You can still migrate from Nexus 3.
How the parts fit together
Section titled “How the parts fit together”- Server. One process. It serves the web UI, the JSON API and the format routes (
/maven/...,/debian/...,/raw/...) on one port, 8080 by default. - Database. SQLite, in the data directory. It holds users, repositories, settings and an index of every stored file.
- Blob storage. Local disk by default. You can switch to S3 on the Settings page, and the server moves the existing files for you.
- Settings. Almost all configuration lives in the database and on the Settings page. See Configuration.
- Publishing. Every upload needs a short-lived publish session. A password or a read token can read but never write. See the publishing overview.
Where to go next
Section titled “Where to go next”- Install the server.
- Follow First run to sign in, set up two-factor authentication and create a repository.
- Read Configuration before you put the server on a public address.