Pimpo
Documentation

Running Pimpo on a server#

Routines run on schedule, so Pimpo does best on a machine that is always on: a home server, a Raspberry Pi, or a small VPS. The desktop and phone apps then open that Pimpo instead of running their own.

There are two ways to run it: the Docker image, or the single binary with systemd. Both keep everything in one data folder.

With Docker#

The image is ghcr.io/turbine-dev/pimpo, for amd64 and arm64. latest is the latest release, a version number (0.6.0) pins one, and edge follows the main branch.

docker run -d --name pimpo --restart unless-stopped \
  -p 127.0.0.1:7788:7788 -v pimpo:/data -e TZ=Europe/Lisbon \
  ghcr.io/turbine-dev/pimpo:latest
docker exec pimpo pimpo token

The last command prints the login link. Pimpo prints it in its log only the first time it starts; pimpo token prints it whenever you need it, and pimpo token rotate replaces it (the old link and every browser signed in with it stop working). Or, with the compose.yaml in the repository:

docker compose up -d
docker compose exec pimpo pimpo token

With the binary and systemd#

curl -fsSL https://raw.githubusercontent.com/turbine-dev/pimpo/main/scripts/install.sh | sh -s -- --service
pimpo token

--service installs a user service that starts at boot. Update with pimpo update and restart the service (systemctl --user restart pimpo); pimpo update --rollback puts the previous binary back.

Reaching it#

Pimpo speaks plain http and authenticates with a token, so it must not be exposed to the internet directly. The port above is published on the server itself only. To reach it from elsewhere:

Using it from the apps#

Models on a server#

Exploring and compiling routines need a model:

See Configuration for every setting and Validating on real accounts to check how routines do over time (docker exec pimpo pimpo report).

This page is built from the repository's documentation. Improve it on GitHub.