Self-hosted service manager

Your server.
Your services.
Under control.

bases takes a plain description of your application and turns it into a running, proxied, authenticated service on your own hardware — in minutes, not days.

Scroll

A self-hosted server shouldn't require a weekend of config files. bases gives you containers, routing, and auth as one coherent tool — describe a service once, run it anywhere.

Three steps from zero
to running service.

01

Write a Basefile

A small, readable file that describes your service — the image it runs on, the port it listens on, and the commands to install and start it.

Basefile
name: wiki
image: ubuntu:24.04
port: 3000

install:
  - apt install nodejs -y
  - npm ci

start: node server.js

02

Run bases install

bases reads the Basefile, provisions a container, wires up a subdomain through Caddy, and runs your install steps. You watch it happen in real time.

terminal
# point at your Basefile
$ bases install ~/wiki

 Container created from ubuntu:24.04
 Environment variables injected
 Route added → wiki.example.com
 Install task complete
 Service started

03

It's live

Your service is running at its subdomain, behind passkey authentication. Invite users, manage access, and keep everything running from the bases admin panel.

browser
# available immediately at
https://wiki.your-server.com

# protected by passkey —
# no passwords to manage

Everything you need.
Nothing you don't.

Containers

Isolated by default

Every service runs in its own Incus container. Clean installs, no dependency conflicts, easy to destroy and start over.

Routing

Subdomains, automatically

Caddy handles TLS and reverse proxy routing. Each service gets its own subdomain the moment it's installed — no config files to hand-edit.

Auth

Passkeys, not passwords

bases sits in front of your services and handles authentication via WebAuthn passkeys. No password databases, no OAuth integrations to maintain.

Simplicity

One file per service

A Basefile is readable by anyone. Version-control it alongside your app. Share it with others. There's no hidden state.

Control

Your hardware, fully

No cloud accounts, no vendor lock-in. bases runs on any Linux server. Your data stays where you put it.

Users

Invite, don't manage

Send a single-use invite link. Recipients register a passkey on first sign-in. No user accounts to provision manually.

Ready when
your server is.

curl -fsSL https://get.bas.es | sh

Requires Linux · Incus · Caddy