TasksPipesDocs
Self-hosting Français

Running the instance

E-mails and reports, rate limits, calendar feeds and backups.

E-mails, notifications and reports

The server checks every minute: e-mails sent at once go out about two minutes after what caused them, the daily digest and the daily reports at REPORT_HOUR (local to TIMEZONE), weekly reports on Fridays. Each sending is recorded, so nothing goes out twice, even across restarts. Push notifications go out every 15 seconds.

Rate limits

Routes that sign people in, accept a secret or send an e-mail are rate limited; past the limit, the client is blocked for the length of the window, then longer at each new offence. Counters live in Redis and are shared by every instance of the app.

Calendar feeds

Each person's calendar feed is served at <APP_URL>/cal/<token>.ics: calendar apps fetch it without a session, the token being its only credential. It can be renewed from the app.

Webhooks from GitHub and GitLab

Connected pipes receive webhooks at <APP_URL>/hooks/github/… and <APP_URL>/hooks/gitlab/…: GitHub or GitLab must be able to reach APP_URL.

Backups

Everything is in PostgreSQL, files included. Back it up regularly:

docker compose exec db pg_dump -U taskspipes -Fc taskspipes > taskspipes-$(date +%F).dump

Keep APP_SECRET with the backups: secrets stored in the database are encrypted with it.

Edit this page on GitHub