# 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 ```