Simplecontainer dashboard is free for self-hosted enthusiasts

The dashboard is free now

Simplecontainer dashboard is now available as OSS and is made to be self-hosted. Now you can self-host and manage your containers directly from the UI. It gives an overview of the deployment and reports errors in real time.

Dashboard makes container state tracking and control a breeze.

How to install?

Dashboard comes as container package (Pack) that makes running it easy. You can use the already available Dashboard pack to install it and run it directly on the Simplecontainer node.

Run simplecontainer node

curl -sL https://raw.githubusercontent.com/simplecontainer/smr/refs/heads/main/scripts/production/smrmgr.sh -o smrmgr
chmod +x smrmgr
sudo mv smrmgr /usr/local/bin
sudo smrmgr install
smrmgr start
smrctl context import $(smr agent export) -y
smrctl ps
NODE                    RESOURCE                                            IMAGE                                                      PORTS                 ENGINE STATE      SMR STATE           

Localhost

Add these to /etc/hosts file:

127.0.0.1 authentik.dashboard.localhost
127.0.0.1 proxy.dashboard.localhost
127.0.0.1 api.dashboard.localhost
127.0.0.1 dashboard.localhost

After that run:

git clone https://github.com/simplecontainer/dashboard-pack.git
mkcert dashboard.localhost proxy.dashboard.localhost api.dashboard.localhost authentik.dashboard.localhost
smrctl apply dashboard-pack --set user=$USER --set traefik.certificate="$(cat dashboard.localhost+3.pem)" --set traefik.key="$(cat dashboard.localhost+3-key.pem)"

That's it. This pack runs:

  • Authentik
  • Postgres
  • Traefik
  • Dashboard
  • Proxy-manager

Just access https://dashboard.locahost and you should see the login form.

🔒
You need to setup authentik user fist. Visit https://authentik.dashboard.localhost/if/flows/initial-setup to create an admin user.

Public facing

After cloning of the pack, configure domains per your DNS.

git clone https://github.com/simplecontainer/dashboard-pack.git
smrctl apply dashboard-pack --set user=$USER --set traefik.localhost=false

That's it. It should run on your domain with TLS automatically configured.

Notable features

Contexts switcher

Dashboard gives you ability to change between contexts easily to manage work on multiple simplecontainer nodes/clusters.

All the contexts are read from the ~/.smrctl/contexts directly in the container. It is up to user to mount directory with correct contexts.

Dock

Dashboard presents Dock as a way to interact with the simplecontainer control-plane. Currently only editor is implemented as a way to deploy resources directly from the dashboard to the simplecontainer.

Shell and Pack are yet to be implemented.

Containers

Minimal UI to list containers with few control options like:

  • Restart container
  • Delete containers
Container listing and management page.

GitOps

Minimal UI to list GitOps with few control options like:

  • Refresh: Pull the latest changes immediately
  • Sync: Apply repo state to the node
  • Delete: Delete GitOps object and cascade delete children resources created by it
GitOps visualization and control page.

Nodes

Dashboard gives overview of the nodes and let's you control:

  • Node upgrade or Cluster upgrade (based on if it is running cluster or standalone node)
  • Node restart
  • Node removal

Rest

  • Configuration listing
  • Resources listing
  • Secrets listing
  • CertKey listing
  • HttpAuth listing

Not fan of the UI?

If you are not fan of the UI, we got you. The smrctl CLI is tool for you. This client enables control-plane communication directly in the terminal.

curl -sL https://raw.githubusercontent.com/simplecontainer/smr/refs/heads/main/scripts/production/smrmgr.sh -o smrmgr
chmod +x smrmgr
sudo mv smrmgr /usr/local/bin
sudo smrmgr install

This will install smr and smrctl binaries in the /usr/local/bin.

Now you are ready to deploy using simplecontainer!