GitHub software, installed everywhere.
The Repo Depot is a free, self-hosted web app for the software you get from GitHub. Search for a project, press Install, pick the machines, and it's set up on each one. After that it watches for new versions and updates them for you, or waits for your OK, on every Linux and Windows machine on your network.
Find it, read it, install it
Search all of GitHub or paste a link. The Repo Depot shows the README, the releases and what the project needs, works out how it installs, and puts an Install button next to it. You can also browse the repos you've starred.
- Docker Compose: the project's own compose file, with your changes kept separate so updates don't overwrite them
- Release download: the right file for each machine's system and CPU, including archives, .deb, .rpm and .msi
- Source: the code at a tag or commit, plus your build command
- Track only: for software you installed yourself, so you still hear about updates
Pick the machines, press Install
The install window shows every machine with its system and whether it's online, and the ways this project can be installed, with the best fit picked for you. Change the compose file, ports or folder before it goes on, or keep the defaults.
- Install on one machine or several at once
- Machines that can't run it (no Docker, wrong system) say why
- Every install, update and uninstall has its full log in Activity
Every update on your terms
My Depot lists everything installed, on which machine and at which version. When something new comes out you see what changed before you update one app, the ones you pick, or all of them. Or turn on auto-update for an app and limit it to the hours you choose.
- Follow releases, tags, or every commit on a branch
- Skip a version, hold an app, ignore versions matching a pattern
- Roll back to the previous version in one click, or install any older one
- Alerts by ntfy, email, Discord or Slack, with an Update now button that works from your phone
A small agent on each machine
Each machine runs a lightweight agent that does the installing, started with one command from the Machines page. It runs as a service, so it starts with the computer and is always ready.
- Linux (amd64 and arm64, systemd) and Windows (as a service)
- Agents update themselves when the server has a newer one, with no command to run
- They only accept updates signed with The Repo Depot's release key, and never an older version
- Only the server, holding each machine's token, can give an agent a job
What's been tested
The Repo Depot runs every day on our own network: a Linux Docker server, a Linux NAS and a Windows PC. Everything has automated tests; this is what has also been used for real.
Used for real
- Installing, updating, rolling back and uninstalling Docker Compose and release-download apps on Linux
- Track only apps with an update command
- Users and roles, backups, agents updating themselves on Linux and Windows
Known issue
- The Windows agent isn't code-signed yet, so Windows Smart App Control can block it. Free signing through the SignPath Foundation is being set up.
Automated tests only so far
- Installing apps onto Windows, and arm64 machines
- Email, Discord and Slack notifications, and agents over HTTPS
# honest scorecard, version 0.6.1.0 ✓ Compose + release apps on Linux ✓ update, roll back, uninstall ✓ agents update themselves ✗ Windows agent code signing (coming) ? apps installed onto Windows ? arm64, email, webhooks # ✓ tested ✗ not yet ? automated tests only
Two commands
You need a Linux machine with Docker for the server. Download the compose file, start it, open it in your browser and create your account. Then add your machines from the Machines page.
- Self-hosted: your data stays on your server
- Updating the server is a
docker compose pull - Free and open source (Apache 2.0). Forks keep the credit to AC3 Labs
- Code signing policy
# on your Docker server curl -fsSLO https://raw.githubusercontent.com/AC3Labs/RepoDepot/main/docker-compose.yml docker compose up -d # then open http://<server>:8470