Cockpit
The simple view of your apps. Each app gets one page that says in one sentence whether all is fine.
On this page
What it is
klickops shows your apps in two views. Studio shows every setting. Cockpit is the simple one: a list of your apps, and one page per app that tells you in one sentence whether all is fine. Both views show the same apps and cost the same.
Cockpit is not open for every account yet. When it is open for yours, Studio's account menu shows Switch to Cockpit. Until then you do everything on this page in Studio. Your first deploy starts there.
Cockpit's interface is in English for now.
Switch between the two
In Studio, open the account menu and choose Switch to Cockpit. In Cockpit, Switch to Studio sits in the header and in the account menu. klickops stores your choice on your account, so it holds on every device. Switching changes nothing about your apps.
Once Cockpit is open, a new account starts there. Accounts from before stay in Studio until they switch.
Your apps
The first page lists your apps. One sentence on top says how they are, for example "Your app is online. Nothing needs you right now." When something needs you, it shows first, with the cause in one sentence and the button that fixes it. The other apps sit below under All good or Paused.
Put an app online starts a new one.
Put an app online
Pick where your app comes from:
- Connect GitHub: your code is in a repository, and every push updates the app.
- Upload a folder: you have the files and pick the folder.
- Start from a chat: Claude or ChatGPT writes the app and puts it here.
For GitHub, connect klickops to your account, then pick a repository. klickops reads the code and tells you what it found: the kind of app, what it handles for you, and the keys your app asks for. Paste your .env and it sorts each key. It never shows a value back.
If it can't tell what kind of app it is, it says so and tries a standard build. If one change in your code would help, it shows the change and a prompt for your AI tool. After you push, Pushed it? Check again reads the code once more.
Put it online creates the app with a secure address. If the code needs a database, Launch offers one with its monthly price. You see the cost before you start, and nothing is created until you press the button. The app page then shows each step while the app goes online. It usually takes 2 to 5 minutes, and you can leave and come back.
The app page
On top you see the app's picture, its state (Online) and Visit. Next to it, one sentence: "All good. Nothing needs you right now." When something needs you, that sentence becomes the problem and its fix.
Below, At a glance lists the rows. Each one opens a dialog with the detail. Cost opens Plan and usage instead.
| Row | What it shows |
|---|---|
| Address | The app's address, whether it is secure, whether it is public. Copy it, or use your own domain. |
| Who can open it | Anyone, or Private with its share links. |
| Version | The commit that runs, who made it and when. Go back returns to the one before. |
| Safety | What the last check of your code found, and what klickops handled for you. |
| Database | The database the app uses and whether it runs. Download a copy saves its data as a .sql file. |
| Saved files | The folder the app keeps, if it has one. |
| Keys | How many keys the app reads, and how many of them visitors can see. Secret values are never shown again. |
| Cost | About what the app costs a month, and whether your plan covers it. |
A row only shows when it applies. An app without a database has no Database row.
Go back and undo
Go back on the Version row runs the previous version at once. There is no confirm. A message offers Undo, and the Version row keeps a Return to link. Your next push goes live as usual.
If the version you go back to had a safety problem the newer one fixed, the Version dialog opens first and says so.
Your own domain
Own domains come with Hobby and every plan above it. Free has none. On the Address row, choose Use your own domain and type the domain.
Type example.ch and www.example.ch becomes the main address, and example.ch forwards to it. Want only one address, like shop.example.ch? Type that instead. Nothing changes at your domain until you set the records.
klickops then lists the DNS records to set: one for the main address, one for the forward, and, for a domain your workspace hasn't proven yet, one that proves it is yours. Copy each value into your DNS host's page, or email the steps to whoever runs it. klickops checks the records for you. It usually takes 30 minutes, sometimes hours, and you get an email when the domain is live. The app keeps working at its platform address the whole time.
When a record is wrong, the dialog says which and why:
- Old record in the way: the name still points to another site. Change that record instead of adding a second.
- Full domain in the name field: rename the record to just the name shown.
- Proxy is on: a proxy such as Cloudflare's orange cloud sits in front. Set it to DNS only.
When all records are right, HTTPS usually takes a few minutes. If a CAA record at your domain allows only another certificate authority, the dialog shows the one CAA record to add, next to the old one. After that, Try again.
Private apps and share links
Who can open it switches between Anyone and Private. A private app asks for sign-in: people in your workspace get in, everyone else sees a page saying the app is private. Webhooks and other services can't reach a private app either, payment webhooks included.
To show a private app to someone outside your workspace, use Share a link. Give it a name if you like, pick 24 hours, 7 days or 30 days, and copy it. klickops shows the link only once. Anyone with it opens the app without an account, including people it gets forwarded to. Turn off ends a link at once, and the visitor then reads that the link was turned off.
Making the app public again turns off its share links.
Plan and usage
Plan and usage in the account menu shows your plan, what you used this month and what you will likely use by its end, split by app. The Cost row on each app page leads there too.
If your usage would run past what your plan includes, the page says when. On a paid plan it offers Add to balance or Switch plan instead, on Free Switch to Hobby. Free to Hobby applies at once, and CHF 9 for the month goes on your next invoice. A top-up or a bigger paid plan applies once your payment is confirmed. Invoices come by email. If plan and balance both run out, your apps pause after 48 hours. Nothing is deleted, and they start again once there is credit. On Free, what neither the credit nor the balance covered is written off at the end of the month, so the 1st starts without debt. Plans and costs explains the money.
Remove an app
At the bottom of the app page, Remove shop (with your app's name) deletes the app, its saved files and the databases only this app uses. It can't be undone. Before you confirm, the dialog offers a download of each database's data. You confirm by typing the app's name. Your code stays on GitHub.
What isn't there yet
- Cockpit is not open for every account yet. See the note at the top.
- Cockpit's interface is in English only.
- Anything Cockpit doesn't show, Studio has, down to every setting.
Get help
Get help in the header opens a short form: what's wrong, how urgent, and a screenshot if you have one. klickops checks the app's build and logs itself, never your key values, and answers by email. Getting help explains the rest.