Requirements
Docker and Docker Compose, on any Linux x86, x86_64, or arm64 machine - a PC, a NUC, or a Raspberry Pi/SBC. Nothing else to install; the app and its MariaDB database both run as containers.
Deploy
In an empty folder, grab docker-compose.yml and .env.example:
cp .env.example .env
# edit .env - set DB_PASSWORD and DB_ROOT_PASSWORD at minimum
Then bring it up:
docker compose up -d
This pulls the published image, starts MariaDB, waits for it to report healthy, then starts DomOS - which imports its own database schema automatically on that first boot. Nothing else to configure by hand.
First run
Open the app in your browser (port 8080 by default, see PORT in .env).
Since no account exists yet, it shows a setup screen instead of a login form: pick a
username, email, and password for the one admin account. There's no separate registration
flow - once that account exists, everyone after that just logs in.
Running headless
Set DOMOS_HEADLESS=true in .env to turn off the web UI entirely -
only the /api/* routes stay reachable. Useful if something else (another
automation system, a mobile app) is the only thing that will ever talk to this install.
HTTPS
DomOS itself speaks plain HTTP. If you need to reach it from outside your own network, put a
reverse proxy with a real TLS certificate in front of it, and set
DOMOS_SECURE_COOKIES=true - otherwise leave that setting off, since it would
block login entirely for a typical LAN-only install with no HTTPS in front of it.
Support
DomOS is a very early build - expect rough edges. Questions or issues: email info@makershop.fi.