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. 1

    Add the server

    Click Add a server, choose Brand new VPS, then enter the IP, the root user and the password you received.

  2. 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. 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. 4

    Confirm SSH hardening

    Before turning off root login and passwords, Coxios checks that your new key works and asks for an explicit confirmation.

  5. 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. 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. 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. 3

    Pick the deployment type

    Dockerfile or docker-compose, the branch, the app's port and its environment variables.

  4. 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. 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. 1

    Create the DNS record

    At your registrar (OVH, Gandi, Cloudflare, Namecheap…), create an A record for your domain or subdomain, pointing to the server's IP.

  2. 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. 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. 1

    Choose “Already configured VPS”

    Coxios looks for your shortcuts in ~/.ssh/config.

  2. 2

    Import it

    Tick the servers to import, or enter the address, the user and your SSH key by hand.

  3. 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. 4

    Check the rights

    If your user needs a password for sudo, or is not in the docker group, 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. 1

    Ask for their public key

    Your teammate sends you their public SSH key, a line starting with ssh-ed25519 or ssh-rsa. It is safe to share.

  2. 2

    Create their user

    In the Users tab, create an account in their name. Tick administrator rights only if they need them.

  3. 3

    Add their key

    On their card, import the public key. They can now log in with their own private key.

  4. 4

    Remove access when the time comes

    Lock or delete their account in one click. Your access and everyone else's stay untouched.