Installation
Use this flow to install the packaged Deku release on a Linux server.
Requirements
Section titled “Requirements”- Linux server with
apt-getavailable - Ubuntu 22.04+ or Debian 11+
- Docker Engine 24+
- 512 MB RAM minimum
- Root access
One-line Install
Section titled “One-line Install”curl -fsSL https://get-deku.vercel.app/install.sh | sudo bashhttps://get-deku.vercel.app/install.sh is the canonical public installer entrypoint for this project.
The installer will:
- Install required system packages, then add the Angie apt repository and install Angie
- Download the latest
dekudanddekubinaries plus packaged support files - Install the packaged systemd unit and base Angie fragment
- Run
deku setup --no-systemd - Stage the packaged dashboard bundle into the configured data directory
- Enable and start
angieanddeku - Verify the Angie config, daemon health endpoint, and Unix socket
dekud expects a staged dashboard directory at runtime. The packaged installer handles that for you by unpacking the release dashboard bundle into the configured dashboard directory.
New installs default Deku’s embedded SSH deploy server to port 2222. This avoids the common case where the host’s own sshd already occupies port 22. CLI and API deploys do not depend on the SSH listener.
If the installer has an interactive TTY, deku setup prompts for values like data directory, API port, SSH port, Angie config directory, global domain, and optional object storage. Without a TTY, it runs with built-in defaults and warns that you can rerun deku setup later to customize settings.
What You Get After Install
Section titled “What You Get After Install”The install and setup flow gives you the dashboard access details you need:
- The server-reachable dashboard URL
- The local loopback dashboard URL for on-host access
- A one-time dashboard token shown during
deku setup - The
deku dashboardcommand you can run later for non-secret access details - The
deku dashboard reset-tokencommand to mint a new token if the original is lost
If ~/.deku/config.toml already exists, the installer keeps the current config instead of rerunning setup.
After install, use:
deku dashboardAfter Install
Section titled “After Install”Useful first checks from the server:
deku dashboarddeku apps listdeku apps info <app>deku dashboard prints:
- The server-reachable dashboard URL
- The local loopback dashboard URL
- The config path
- Token status
- SSH tunnel and firewall guidance for remote access
- The reset-token command if you need a replacement token
Dashboard Reachability
Section titled “Dashboard Reachability”The dashboard and authenticated HTTP API are served on TCP port 2810 by default.
If your browser is running on the Deku host itself, use the local URL printed by deku dashboard, usually http://127.0.0.1:2810.
If your browser is running on another machine, either:
- Use an SSH tunnel, which is the recommended default:
ssh -L 2810:127.0.0.1:2810 root@YOUR_SERVER_IP - Or allow TCP
2810through your firewall for direct browser access:sudo ufw allow 2810/tcp
If you expose 2810 directly, prefer restricting it to your own public IP instead of opening it to the world:
sudo ufw allow from YOUR_PUBLIC_IP to any port 2810 proto tcpIf you lost the original one-time token:
deku dashboard reset-tokenContinue with Get Started for the first app flow, or read Dashboard Overview for the web interface.
Uninstall
Section titled “Uninstall”Use the packaged uninstall command from the server:
deku uninstallThe command is root-only and interactive by default. It supports two modes:
keep persisted dataremoves the Deku service, binaries, and Deku-managed Angie config, but keeps your local config, SQLite database, dashboard assets, logs, SSH host key, Docker volumes, and the Angie package already installed on the hostfull uninstallremoves the same host install artifacts, removes Deku-owned local state and built-in service volumes, and also purges the Angie package plus its apt metadata
Useful non-interactive variants:
deku uninstall --keep-datadeku uninstall --full-remove --yesdeku uninstall --full-remove --dry-rundeku uninstall is currently intended for the packaged Linux install path only.