Your servers.
One deck.
Install Portdeck on a Linux server with one command, connect your other servers, and deploy apps from one console. Give each workspace access to only its own apps.
An invitation key is required. Beta access is free; pricing comes later. This is early software: not for critical production, and provided with no warranty.
Illustrative screens with sample data.
From a bare server to a running app in three steps.
Portdeck is not a cloud provider. You bring the servers: a VPS, a homelab box, cloud VMs. Portdeck runs on one of them and manages the rest. The installer supports built-in HTTPS with Caddy, your own reverse proxy, a Cloudflare Tunnel by token, or plain HTTP for a first try. You need no account with anyone else. Backups are encrypted and kept on the server, and upgrades happen when you choose, with a backup first.
Install on one server
One command on a Linux server with Docker and Compose v2. It generates every secret and asks how people should reach Portdeck.
Connect your servers
Add a server, run the one-line command Portdeck shows, and it joins. No open port and no SSH key. Portdeck tracks CPU, memory and disk on each one.
● arm-node-02 arm64 · docker
● homelab-01 amd64 · docker
Deploy an app
Pick an image, a size and a port, or build from a GitHub repository with a pipeline. Roll back if a release goes wrong.
size Small · port 8080
✓ Running
Built for one operator running workloads for many people.
Everything here is in the private beta now. What is not, is marked as coming further down.
A separate ops console
Whoever runs the install signs in to their own ops console, apart from the workspace app, with mandatory two-factor.
Workspaces and roles
Workspaces with roles, a switcher, and invites with a link to copy. Hosts belong to a workspace.
Docker apps on your servers
Connect servers with a small agent, no open port and no SSH key, and run Docker apps on x86 or ARM.
Server health at a glance
CPU, memory and disk for every connected server on the Hosts page, plus logs and start, stop, restart and delete for every app.
Pipelines that roll back
Pipelines from a GitHub repository, deploy history, and roll back to an earlier version. An unhealthy redeploy rolls back by itself.
Public URLs with HTTPS
With the built-in Caddy, give an app on the same machine as Portdeck its own address with a certificate.
You see everything. Each workspace sees only its own.
Run several teams or clients on one install. Each gets a workspace with its own hosts and apps, and one workspace cannot use another's servers.
Ops console
For whoever runs the install
| Workspace | Owner | Hosts | Instances |
|---|---|---|---|
| northwind | ops@northwind | 2 | 9 |
| acmedental | maria@acmedental | 1 | 2 |
| brightbakery | dev@brightbakery | 1 | 3 |
- Every workspace, host and account on the install
- Move a host between workspaces, transfer ownership, delete with a 7-day grace period
- Audit logs for the install and for each workspace
Workspace view
What maria@acmedental sees
- Only their own workspace's hosts, apps and logs
- Admin, Operator or Viewer access, set by the workspace owner
- A white-label client portal is coming
Illustrative screens with sample data.
The screens you'll actually use.
| Name | Status | Host | Access | Owner |
|---|---|---|---|---|
| acme-dental-site acme-site:main-7c41e2a | Running | vps-east-01 | acmedental.example | maria |
| bright-bakery Starting it · 68% | Deploying | arm-node-02 | Private | dev |
| booking-api booking:main-3be9c10 | Running | arm-node-02 | Private | maria |
| blog-test blog:main-0f3e771 | Stopped | homelab-01 | Private | ops |
Your apps in one list, with status, host, access and owner.
The status changes to Running when the app is healthy.
Launch instanceName it, pick an image from the approved list, a size and a port, and launch.
Pipelines from a GitHub repository. Deploy a version that already exists, or roll back to an earlier one.
Illustrative screens with sample data.
Access you can explain to a client.
Know who can touch what, who did what, and what stays on your own server.
Roles and isolation
Admin, Operator and Viewer roles. Workspaces are kept apart, and one workspace cannot use another's servers.
Two-factor on the ops console
The ops console has its own sign-in with mandatory two-factor.
Audit logs
Actions are recorded in an audit log for the install and for each workspace.
Agents connect out
Your servers need no open port and no SSH key for Portdeck. Agent releases are signed.
Encrypted backups
Daily backups are encrypted. You hold the private key, offline.
Code scanning Coming soon
Leaked secrets, vulnerable dependencies, image scans, SBOMs and deploy policies.
Found a security problem? Write to security@getportdeck.com. Please do not report it in public.
What's coming next.
None of this is in the beta yet. It is listed so you know where Portdeck is headed. Please do not report it as a bug.
Connect
- A hosted console, run by us, so there is nothing to install
- GitHub App, GitLab, Bitbucket, Gitea and any Git URL
- Public URLs for apps on other servers, and wildcard certificates
- A CLI: portdeck deploy, logs and status
- Single sign-on and SCIM
Build and ship
- An Update button and an "update available" badge
- Build from source with no Dockerfile
- Preview deploys for every pull request
- One-click databases with backups
- Template catalog
Operate and resell
- A client portal with white-labeling
- Linux environments and virtual machines
- Metrics and alerts: the observability stack is not part of the beta install
- Code scanning and deploy policies
- Backups copied off the server
Questions operators ask.
Can I use it today?
Yes, if you are invited. Portdeck is in a private beta of the self-hosted edition: you install it on your own server with one command and need an invitation key. It is early software, not for critical production, and comes with no warranty. A hosted console is planned but not open.
What does the beta cost?
Beta access is free. Pricing comes later and is not set yet.
Is it open source?
No. Portdeck is proprietary software under a commercial license, and the code is private. The self-hosted beta is available now by invitation.
Do I need my own servers?
Yes. Portdeck manages servers you already have: a VPS, a homelab machine, or VMs at any cloud provider. It is not a hosting provider. The install server needs Docker with Compose v2, 2 GiB of memory (4 GiB is better) and 4 GiB of free disk.
How is this different from Coolify or Dokploy?
Both are good tools, and they overlap with Portdeck. Portdeck focuses on one operator running workloads for many people: workspaces with roles, a separate ops console, servers that one workspace cannot borrow from another, and audit logs.
Can my clients log in?
Yes. Invite them into a workspace with a role, and they see only that workspace. A white-label client portal is coming.
Where does my data live?
In the self-hosted beta, everything stays on your own server: accounts, configuration, apps and backups. License keys are checked offline, and the beta has no usage statistics or telemetry. Portdeck does contact image registries to check for newer versions of your apps, and you can turn that off.
Run your servers from one deck.
Write to us for an invitation key, then follow the beta guide.
Beta access is free; pricing comes later. Read the beta terms and the privacy notice first.