Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Streamline

CI Docs Release License: GPL-3.0-or-later Image Desktop app

rustfmt clippy TypeScript Bundle

A self-hosted todo list and day planner for a household. One small container, one data folder, and it works from any phone, tablet or computer on your network, plus a Linux desktop app that also works offline.

📖 Documentation: https://laurits7.github.io/Streamline/

  • Plan your day: a Today view with a timeline, a planning ritual, a week view, and week templates whose time blocks hold your routines, around your calendar.
  • Share the household: groups share projects, chores and routines live; day plans and journals stay personal. Projects can even be shared with people on other Streamline servers.
  • Routines and chores: any schedule, multi-step chores, checklists, prerequisites, waiting for results and ongoing tasks.
  • Reflect: a journal, tracking (mood, weight, water and your own metrics), a tree of goals with habits and rules, and a weekly review.
  • Connect: CalDAV calendars (read and write-back) and tasks from GitHub, GitLab and Gitea.
  • Small: a 17 MB image using about 9 MB of memory; one SQLite file on your own machine.

The full list is on the Features page.

Screenshots

Today: the plan, routines due, and the timeline with time blocks

The week on an hour grid, with time blocks and the routines planned into them The week editor: day templates per weekday, blocks with routines in them
Week: blocks and the routines planned into them Week templates: draw blocks, drag routines in
Goals as a tree, with routines, habits and rules Tracking: mood, weight, water and sleep
Goals: a tree, with routines, habits and rules Tracking: quick amounts and a 7-day strip
Today in the dark theme Today on a phone Tracking on a phone
Dark theme On a phone

The screenshots show made-up example data.

Quick start

Each release has a docker-compose.yml using the prebuilt image (amd64 and arm64). Put it in an empty directory and run:

docker compose up -d

Then open http://<server-ip>:3000 and create the admin account. Your data is in ./data.

Next steps: configuration, HTTPS for the phone app and notifications and backups and updates.

Desktop app (Linux)

Streamline in its own window for Linux desktops (x86_64). It stays in the tray, can start at login, and keeps working offline. Install it from a release:

yay -S streamline-desktop-bin                              # Arch Linux (AUR); streamline-desktop builds it
sudo apt install ./streamline-desktop_<version>_amd64.deb  # Debian, Ubuntu

On other distributions, unpack streamline-desktop-<version>-x86_64-linux.tar.gz into / or ~/.local (needs WebKitGTK 4.1, GTK 3 and libayatana-appindicator).

Run it from your application menu (Streamline) or with streamline-desktop. On first start it asks how to use it:

  • Connect to a server: enter your Streamline server's address (the one you open in the browser) and sign in once. Changes made offline are sent when the server is back.
  • This computer only: no server needed; Streamline runs inside the app and keeps your data in ~/.local/share/io.github.laurits7.streamline/server. You can move to a server later.

To build it from source: install libwebkit2gtk-4.1-dev libayatana-appindicator3-dev (Debian and Ubuntu names), run make desktop, then start crates/desktop/target/release/streamline-desktop. More in the desktop app docs.

Development

Rust 1.88+ and Node 22+. make dev-server and make dev-web run it with hot reload; make test and make check run the tests and linters. See Developing for the layout and the spec, work plan and decisions behind it. What changed in each version is in the changelog.

License

GPL-3.0-or-later

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages