You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
New Features
Connect a GitLab Account
Deploy from GitLab.com or your own GitLab server — connect a GitLab account with a personal access token and deploy private projects the same way you already deploy from GitHub
Add an account from three places: the global Git Accounts screen, a server's Git tab, or the new Git SSH tab in Server Settings
The form tells you exactly where to create the token, with separate instructions for newer and older GitLab versions
Point it at gitlab.com or the address of the GitLab you run yourself
Optionally generate and upload an SSH key for the server in the same step — recommended for private project deployments
Projects in nested groups work — a project buried any number of subgroups deep can be selected and deployed
Build on VPS supports GitLab — pick a GitLab project and branch and deploy it straight to your server
Account pickers only offer accounts that actually work — GitHub Actions builds and GitHub Container Registry stay GitHub-only, and when accounts are hidden you're told how many and why, instead of them silently disappearing
Deletions That Finish, Even Offline
Deleting a server no longer waits for the server to answer — it disappears from every list immediately and the remaining cleanup finishes in the background, so you can delete a server that's already gone
A new Pending Cleanup tab in Settings shows anything still waiting, with a count badge when something needs attention
See exactly what's left behind: SSH configuration on each server, local key files, SSH keys on your Git provider, and registry tokens
Retry a cleanup that failed, or abandon it — abandoning tells you precisely what is being left in place so you can remove it yourself
Cleanup survives quitting and reopening the app
Removing a Git account cleans up the right keys — only the keys Server Compass created for that server are removed from your Git provider, instead of every key whose name happens to start with "ServerCompass"
A deletion started on another computer is recognized after a restore — it's listed for you to finish rather than silently reappearing as if nothing happened
Stop and Start One Container at a Time
Stop or start a single service from an app's Overview — the rest of the app keeps running
Domains stay honest — a domain served by the container you stopped is suspended so visitors don't hit a broken page, and it comes back automatically when you start that container again
Domains served by other containers are left alone
Force stop is offered when you want the container down anyway, with a warning that the domain may return an error
Starting a service that was never created works — it gets built and started rather than failing
Failures explain themselves — the actual error from the server is shown, with a way to dismiss it
The app's overall status stays correct — after stopping or starting one container, the app shows Running, Partial, or Stopped based on what's actually up
Reconnect a Restored App
Apps restored onto a different computer ask to be reconnected — an app's Overview shows which Git account it needs and lets you pick one
Only accounts on the same provider and same GitLab or GitHub address are offered, and the exact original project is matched for you
Deploying and redeploying are held back until reconnection succeeds, instead of failing partway through
If nothing matches, you're told to add or link an account first
Improvements
Safer Handling of Access Tokens
Tokens are never written into repository addresses — Server Compass no longer stores a personal access token inside a repository URL on your server, so a token can't be read out of a checkout later
If an old checkout still has one, you're told — the app shows whether the address needs migrating or whether the exposed token should be rotated, and walks you through replacing it and confirming you revoked the old one
Self-managed GitLab is trusted deliberately — connections use HTTPS by default, and plain HTTP or a self-signed certificate each require your explicit approval, remembered per account
An account can't be swapped to a different person by accident — replacing a token with one belonging to another user is refused with a clear explanation rather than quietly repointing the account
Elsewhere
"Hide all data" now hides more — the dashboard also masks each server's username, port, and authentication type
Adding a Git account is clearer about what's supported — the empty state now offers GitHub, GitLab.com, and self-managed GitLab, and the account list shows every connected provider account with the servers it's linked to
Bug Fixes
Fixed "Delete remote tunnel" failing when the tunnel was already deleted in Cloudflare — Server Compass now finishes clearing its own records instead of stopping with an error
Fixed hostname removal getting stuck when the tunnel setup was changed in Cloudflare directly — your change is left untouched, and the removal continues rather than trapping the hostname
Fixed an app card's colored status stripe poking outside its rounded corners in the app grid
Fixed the Updates screen using an interactive blue for a purely informational panel