Skip to content

v1.39.0 - Deploy from GitLab

Latest

Choose a tag to compare

@stoicsoft stoicsoft released this 05 Aug 13:29
e53f3d0

New Features

CleanShot 2026-08-05 at 18 44 25@2x CleanShot 2026-08-05 at 18 50 56@2x

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