selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

seelf logo

Self-host seelf

v2.4.2

Self-hosted PaaS for Docker Compose deployments

ReleaseOpen SourceGPL-3.0
Updatedlast year
LanguageGo
Setup difficultyModerate
ThemeDark mode
Stars
350
Port
8080 (HTTP web dashboard and API)
Requires
Docker Engine
Docker
yuukanoo/seelf
Install with Docker
seelf home dashboard showing deployed applications

What is seelf?

seelf is a Go-based platform you run on your own hardware to deploy Docker Compose applications. Give it a working compose.yml and it provisions services, configures Traefik for routing, issues TLS certificates automatically, and exposes each app on its own subdomain. A web dashboard manages targets, applications, and deployments; a REST API enables CI/CD integration. Data lives in an embedded SQLite database. Licensed GPL-3.0, funded by donations.

Should you self-host seelf?

seelf scores 49/100 on selfhost.directory (how scoring works) and ranks #6 of 11 in Deployment. It has 350 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is GPL-3.0-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is coolify (89/100, 65 148 stars). It scores higher overall, so compare the two before you pick. See seelf vs coolify side by side.

Features

  • Automatic HTTPS certificates
  • Background job queue
  • CI/CD Integration
  • Docker Compose Deployment
  • Embedded SQLite database
  • Multi-target support
  • REST API for deploymentsOnly deployment-related routes currently available via API key
  • Subdomain routing
  • Traefik reverse proxy
  • Web Dashboard

seelf README

How to install seelf

Install seelf with Docker

Environment variables
ADMIN_EMAIL, ADMIN_PASSWORD, and other config options

docker run -d
-e "ADMIN_EMAIL=admin@example.com"
-e "ADMIN_PASSWORD=admin"
-v "/var/run/docker.sock:/var/run/docker.sock"
-v "seelfdata:/seelf/data"
-v "seelfssh:/root/.ssh"
-p "8080:8080"
yuukanoo/seelf

Standalone Docker container

How to configure seelf

  • ADMIN_EMAILEmail of the first user account to create (ignored if a user already exists)

    Email of the first user account to create (ignored if a user already exists)

  • ADMIN_PASSWORDPassword of the first user account to create (ignored if a user already exists)

    Password of the first user account to create (ignored if a user already exists)

  • DATA_PATH~/.config/seelfWhere data produced by seelf will be saved (deployment artifacts, logs, local db, …)

    Where data produced by seelf will be saved (deployment artifacts, logs, local db, …)

  • DEPLOYMENT_DIR_TEMPLATE{{ .Environment }}Go template determining the directory where the build will occur

    Go template determining the directory where the build will occur

  • EXPOSED_ONURL at which the seelf container will be exposed and default target url

    URL at which the seelf container will be exposed and default target url

  • HTTP_HOST0.0.0.0Host to listen to

    Host to listen to

  • HTTP_PORT8080Port to listen to

    Port to listen to

  • HTTP_SECRET<generated if empty>Secret key to use when signing cookies

    Secret key to use when signing cookies

  • HTTP_SECUREfalseWhether or not the web server is served over https

    Whether or not the web server is served over https

    values: true, false

  • LOG_FORMATconsoleFormat of the logs (json, console)

    Format of the logs (json, console)

    values: json, console

  • LOG_LEVELinfoLog level to use (info, warn or error)

    Log level to use (info, warn or error)

    values: info, warn, error

  • RUNNERS_CLEANUP_COUNT2How many cleanup jobs could be run simultaneously

    How many cleanup jobs could be run simultaneously

  • RUNNERS_DEPLOYMENT_COUNT4How many deployment jobs could be run simultaneously

    How many deployment jobs could be run simultaneously

  • RUNNERS_POLL_INTERVAL4sInterval at which background jobs are picked

    Interval at which background jobs are picked

seelf releases & version history

More in Deployment

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…