No description
Find a file
2026-06-01 01:29:44 -05:00
.forgejo/workflows Initial commit; adaptation from mascarpone 2026-05-30 12:15:04 -05:00
e2e Initial commit; adaptation from mascarpone 2026-05-30 12:15:04 -05:00
migrations feat: ability to hide underdue tasks 2026-05-31 22:02:32 -05:00
src feat: blurb on login page 2026-06-01 01:29:44 -05:00
static feat: blurb on login page 2026-06-01 01:29:44 -05:00
.gitignore Initial commit; adaptation from mascarpone 2026-05-30 12:15:04 -05:00
build.rs Initial commit; adaptation from mascarpone 2026-05-30 12:15:04 -05:00
Cargo.lock Initial commit; adaptation from mascarpone 2026-05-30 12:15:04 -05:00
Cargo.toml Initial commit; adaptation from mascarpone 2026-05-30 12:15:04 -05:00
CHANGELOG.md Initial commit; adaptation from mascarpone 2026-05-30 12:15:04 -05:00
cliff.toml Initial commit; adaptation from mascarpone 2026-05-30 12:15:04 -05:00
mise.toml Initial commit; adaptation from mascarpone 2026-05-30 12:15:04 -05:00
README.md feat: ability to hide underdue tasks 2026-05-31 22:02:32 -05:00
Taskfile feat: ability to hide underdue tasks 2026-05-31 22:02:32 -05:00

Entretien

It means "maintenance" in French.

I can't actually pronounce it correctly.


A task list for a relatively stable set of fundamentally-repeating task list, e.g., house cleaning and maintenance.

Live at https://entretien.dukeceph.xyz/. Log in with demo as both the username and password to check it out!

Contact me if you want an account there.

Features:

  • Supports daily, weekly, fortnightly, monthly, seasonal, semiannual, and yearly target cadences.
  • Sorts in-section by least-recently-done first.
  • Allows for bulk completion-entry.

Eventual planned features:

  • Review functionality wherein tasks' target cadences can be compared to their actual cadences.
  • Beeminder-consumable completion-stats view.

Development / self-hosting

  1. Clone the repo.
  2. Build for your system with ./Taskfile _cargo build --release.
  3. Deploy the binary from ./target/release/entretien to wherever you want that's in PATH (or use it from here if you want)
  4. In the working directory that you want the server to save its databases in,
    1. Create a user for yourself with entretien set-password YOUR_USERNAME. This will create a users.db file.
    2. Run mkdir dbs.
    3. Copy the hashed_static directory from the code repository.
  5. Run entretien serve [port] from that working directory. The default port is 3000.

Feel free to contact me if you need help.

Example systemd service file

[Unit]
Description=Entretien
After=network.target

[Service]
Type=simple
WorkingDirectory=/var/local/entretien/
ExecStart=/usr/bin/entretien serve --port 6234
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target