Was uploy für dich tut
Drei Dinge, die den Unterschied zwischen „händisch deployen“ und „ruhig schlafen“ ausmachen.
Automatische Updates
uploy prüft nach Zeitplan, ob dein Repository einen neuen Stand hat — pro App, mit manueller Freigabe vor jedem Deploy.
Rollback bei Fehlern
Schlägt ein Deploy fehl, stellt uploy den vorherigen Commit wieder her und spielt das Datenbank-Backup zurück — die App bleibt auf der letzten funktionierenden Version.
Signierte Releases
Jedes Artefakt ist Ed25519-signiert; der Installer pinnt den Schlüssel und verweigert manipulierte Downloads — bei der Installation und bei jedem Update.
Das brauchst du vorher
Ein einzelner kleiner Server reicht. Jeder Punkt unten ist in wenigen Minuten erledigt.
Server oder Rechner mit Linux, Windows oder macOS
Debian 11/12 und Ubuntu 22.04+ sind die getesteten Linux-Ziele. Ein vCPU und 2 GB RAM tragen uploy plus ein paar kleine Apps; 50 GB Speicher sind ein sinnvoller Start.
Node.js 18 oder neuer und git
Node betreibt den uploy-Dienst selbst; git zieht deine Repositories. Prüfen mit node -v und git --version.
Optional, je nach Projekttyp: Docker
Docker-Compose-Apps brauchen docker und das docker compose-Plugin. Node.js-, Python- und statische Apps nicht. Installiere Docker mit dem offiziellen Script, wenn du Container deployen willst.
Zugriff auf deinen Git-Provider
Ein Personal Access Token für private Repositories (GitHub, GitLab oder jedes git-Remote). Öffentliche Repos funktionieren ohne Token.
# Node.js 20 von NodeSource
curl -fsSL https://deb.nodesource.com/setup_20.x | sh -
apt-get install -y nodejs git
# optional: Docker Compose für Container-Apps
curl -fsSL https://get.docker.com | sh
Installiere Node.js 18+ aus deiner Distribution oder von nodejs.org und git aus dem Paketmanager. Auf RHEL-Systemen funktioniert dnf module install nodejs:20; auf Alpine apk add nodejs git.
node -v # v18.0.0 oder neuer
git --version
# Node.js 20 LTS
winget install OpenJS.NodeJS.LTS --source winget
# git
winget install Git.Git --source winget
brew install node@20 git
brew link node@20
Installation und erstes Deployment
Fünf Schritte von einem leeren Server zu einer laufenden App. Jeder Schritt zeigt, was du sehen solltest, wenn er geklappt hat.
Installer ausführen
Der Installer lädt das signierte Release herunter, prüft Signatur und SHA-256-Checksumme gegen einen gepinnten Schlüssel und packt es aus. Schlägt die Verifikation fehl, bricht er ab — ein beschädigter oder manipulierter Download wird nie entpackt.
curl -fsSL https://uploy.app/releases/install.sh | sh
& ([scriptblock]::Create((irm https://uploy.app/releases/install.ps1)))
Installiert nach /opt/uploy (als root) oder ~/.uploy-app (sonst); auf Windows nach %LOCALAPPDATA%\uploy. Der Befehl uploy wird — wenn möglich — nach /usr/local/bin verlinkt; erscheint stattdessen eine PATH-Anweisung, kopiere diese Zeile in deine Shell und öffne sie neu.
Dienst starten
Ein Befehl startet den Daemon und das Web-Dashboard.
uploy start
http://SERVER-IP:8765 im Browser, erscheint der Einrichtungsdialog.
Erreicht der Browser den Port nicht, öffne ihn in deiner Firewall (auf vielen VPS-Images: ufw allow 8765).
Ersteinrichtung abschließen
Der Einrichtungsdialog fragt nach Admin-Benutzername und -Passwort, dann nach der gewünschten Schnittstelle: HTTP fürs lokale Netzwerk oder HTTPS mit selbstsigniertem bzw. Let's-Encrypt-Zertifikat, sobald eine Domain auf den Server zeigt. Zwei-Faktor-Authentifizierung lässt sich für das Admin-Konto direkt dort aktivieren.
Erste App hinzufügen
Im Dashboard: Neue App, Repository-URL einfügen, Projekttyp wählen (Auto-Erkennung deckt Docker Compose, Node.js und weitere ab) und das Prüfintervall festlegen. Beim ersten Deploy pullt uploy das Repository, führt den Deploy-Adapter aus und prüft den Health-Check. Schlägt der Deploy fehl, wird der Code automatisch auf den vorherigen Commit zurückgerollt.
Lizenz aktivieren
Nach dem Kauf erhältst du einen Lizenzschlüssel per E-Mail. Im Dashboard öffne Einstellungen → Lizenz und füge ihn ein. Der Server validiert online — oder per Lizenzdatei, wenn er keinen Internetzugang hat.
Noch kein Schlüssel? Plan auswählen.
Dauerhaft am Laufen halten
Drei Dinge, die du einmal einrichtest und danach nie wieder anfasst.
Beim Boot starten
uploy autostart install registriert einen systemd-Dienst (Linux), eine geplante Aufgabe (Windows) oder einen LaunchDaemon (macOS). Status mit uploy autostart status, Entfernen mit uploy autostart uninstall.
Updates für uploy selbst
Im Dashboard gibt es unter Einstellungen einen Update-Check. Update-Checks sind Opt-in; bei ausgeschaltetem Auto-Update löst du jedes Upgrade selbst aus. Neue Releases sind mit demselben gepinnten Schlüssel signiert wie die Erstinstallation.
Alltag über die CLI
uploy list, uploy deploy APP-ID, uploy restart APP-ID, uploy logs APP-ID -f. uploy doctor prüft das lokale Setup: Git-Erreichbarkeit, Docker, Speicherplatz, Berechtigungen.
Download ohne Installer
Direkt per Plattform-Button oder als Einzelteile. Jedes Artefakt ist signiert — prüfe mindestens die Checksumme gegen den gepinnten Public Key (siehe Verifizieren).
Nicht jede Plattform ist zu jedem Zeitpunkt veröffentlicht — die Route meldet 404, solange kein aktuelles Manifest existiert. ARM64/macOS-Builds entstehen auf Anfrage.
Linux x86-64
Windows x86-64
Linux ARM64 · macOS (Intel und Apple Silicon)
Auf Anfrage gebaut. Schreibe an hello@uploy.app oder prüfe ob bereits ein ARM64-Manifest existiert.
Download verifizieren
Der Installer verifiziert automatisch. Hast du das Tarball von Hand geladen, führe den Verifier selbst aus, bevor du es entpackst.
node install-verify.mjs \
--manifest install-manifest-linux-x64.json \
--archive uploy-0.1.4-linux-x64.tar.gz \
--pubkey "$(cat uploy-release-public-key.b64)"
node install-verify.mjs `
--manifest install-manifest-windows-x64.json `
--archive uploy-0.1.4-windows-x64.tar.gz `
--pubkey (Get-Content uploy-release-public-key.b64 -Raw)
Exit-Code 0 heißt: Signatur und Checksumme stimmen. 2 heißt: das Archiv passt nicht zu seiner Checksumme, 3 heißt: die Signatur verifiziert nicht. Verwerfe in beiden Fällen den Download und lade ihn neu.
Fragen, die tatsächlich gestellt werden
Etwas anderes: hello@uploy.app.
Wo speichert uploy meine Daten?
~/.uploy auf dem Server, der den Daemon ausführt: eine JSON-Datenbank, verschlüsselte Secrets, Git-Working-Copies und Backups. Eine Deinstallation löscht dort nichts — außer du entfernst das Verzeichnis selbst.