Guides
Step-by-step guides, no terminal
One goal, a few clicks. Each guide starts from a real case and goes all the way to the result.
Secure a brand new VPS
About ten minutes. You need the email from your provider with the IP and the root password.
- 1
Add the server
Click Add a server, choose Brand new VPS, then enter the IP, the
rootuser and the password you received. - 2
Start the Setup Assistant
Pick your username and the ports to open (SSH, HTTP and HTTPS by default). The assistant shows each step before running it.
- 3
Let it work
Non-root user, SSH hardening, firewall, kernel, fail2ban, Docker, reverse proxy and automatic updates: each step checks what already exists before acting.
- 4
Confirm SSH hardening
Before turning off
rootlogin and passwords, Coxios checks that your new key works and asks for an explicit confirmation. - 5
Check the result
Open the Security tab: everything should be green. To go further, run the Lynis audit and look at the hardening index.
Deploy an application from Git
For an app with a Dockerfile or a docker-compose.yml at the root of its repository.
- 1
Save your Git source
In Git sources, add your GitHub, GitLab or Bitbucket account: a read-only access token is enough (
Contents: Read-only). It is kept in the keychain, never in plain text. - 2
Add the application
On the server page, Applications tab, click Add then Git repository. Paste the repo URL: Coxios checks access and lists the branches.
- 3
Pick the deployment type
Dockerfile or docker-compose, the branch, the app's port and its environment variables.
- 4
Deploy
Coxios clones the repo directly on the VPS and builds the image. If something blocks (Docker stopped, Dockerfile not found), it tells you what to fix.
- 5
Turn on auto-deploy
In the app's configuration, set up the webhook: every push to the watched branch redeploys the app. The signature is verified, and only the chosen branch triggers a deployment.
Put a domain on HTTPS
You need a domain name and an app already deployed with an exposed port.
- 1
Create the DNS record
At your registrar (OVH, Gandi, Cloudflare, Namecheap…), create an
Arecord for your domain or subdomain, pointing to the server's IP. - 2
Link the domain to the app
On the app, click Add a domain and enter it. Coxios checks that the DNS points to the right place and warns you if propagation is not finished.
- 3
Let Caddy do the rest
Coxios adds the block to Caddy's configuration and reloads it. The Let's Encrypt certificate arrives in about thirty seconds and renews itself.
Add a server you already use
To watch over an already configured VPS, without changing anything on it.
- 1
Choose “Already configured VPS”
Coxios looks for your shortcuts in
~/.ssh/config. - 2
Import it
Tick the servers to import, or enter the address, the user and your SSH key by hand.
- 3
See its real state
Coxios reads what is running: containers, proxy, firewall, open ports. The Setup Assistant stays optional, and nothing changes without your confirmation.
- 4
Check the rights
If your user needs a password for sudo, or is not in the
dockergroup, a banner explains it and offers a fix.
Give a teammate access to the server
Everyone gets their own account and key: nobody shares the same access.
- 1
Ask for their public key
Your teammate sends you their public SSH key, a line starting with
ssh-ed25519orssh-rsa. It is safe to share. - 2
Create their user
In the Users tab, create an account in their name. Tick administrator rights only if they need them.
- 3
Add their key
On their card, import the public key. They can now log in with their own private key.
- 4
Remove access when the time comes
Lock or delete their account in one click. Your access and everyone else's stay untouched.