Install¶
Streamline runs as one Docker container with one data folder. Prebuilt images exist for amd64 and arm64 (e.g. a Raspberry Pi).
With the release's compose file¶
Each release has a docker-compose.yml that
uses the prebuilt image of that version. Put it in an empty directory and run:
docker compose up -d
From source¶
git clone https://github.com/Laurits7/Streamline.git streamline && cd streamline
docker compose up -d --build
To use the prebuilt image with the repository's compose file instead, remove its build:
section and set image: ghcr.io/laurits7/streamline:latest.
First run¶
Open http://<server-ip>:3000. On the first visit you create the admin account; add more
people under Settings → Users.
Reachable by others before you've set it up?
The first person to open a fresh install becomes the admin. If the server is reachable by
others before you've done that, set INITIAL_ADMIN_USER and INITIAL_ADMIN_PASSWORD
(see Configuration) so the admin is created on startup.
Everything is stored in ./data: a single SQLite database plus its WAL files, backups and
two keys (see Backups and updates).
Plain HTTP on your home network works for everything except installing it as a phone app, push notifications and GPS places. For those, put it behind HTTPS.
Raspberry Pi (arm64)¶
- Prebuilt image: use the release's compose file, or set
image: ghcr.io/laurits7/streamline:latestas above. - Build on the Pi: works as-is. On a model with 1–2 GB of RAM, uncomment the
args:indocker-compose.yml(LTO: thin,CODEGEN_UNITS: "16") so compiling fits in memory.
Resource use¶
Measured for 1.5 (x86-64, scripts/measure.sh): a 16.7 MB image, about 9 MB of memory while
idle, and 118 KB gzipped for the first load of the web app (other pages load as needed).