docs: more README instructions

This commit is contained in:
Robert Perce 2026-04-04 22:59:39 -05:00
parent 5866c94535
commit 6855a943a8

View file

@ -11,17 +11,55 @@ I think of when I see "CRM".
* Last-contact-time mapping * Last-contact-time mapping
* Address as single field (plus code? lat/long? go crazy!) * Address as single field (plus code? lat/long? go crazy!)
* Free-text-entry field * Free-text-entry field
* Desired contact periodicity
* Journal with Obsidian-like `[[link]]` syntax * Journal with Obsidian-like `[[link]]` syntax
* Contact groups (e.g. "Met with `[[Brunch Bunch]]` at the diner")
* ical server for birthday reminders * ical server for birthday reminders
## Explore
My instance is at https://crm.rperce.net. Username "demo" and password "demo" let
you log into an ephemeral demo user if you want to poke around.
If you want an account, contact me directly or use the "self-hosting" instructions below.
## Planned features ## Planned features
* Report birthdays and manage add'l fields for contacts stored on a remote CardDAV server * Report birthdays and manage add'l fields for contacts stored on a remote CardDAV server
* Act as CardDAV server for other clients * Act as CardDAV server for other clients
* For each contact: * For each contact:
* Arbitrary add'l yearly dates (e.g. anniversaries) that show on calendar * Arbitrary add'l yearly dates (e.g. anniversaries) that show on calendar
* Relationship mapping * Relationship mapping
* Desired contact periodicity
* Additional arbitrary fields (no special handling) * Additional arbitrary fields (no special handling)
* Contact groups (e.g. "Met with `[[Brunch Bunch]]` at the diner")
* "Named in journal but has no contact entry" detection * "Named in journal but has no contact entry" detection
* Email birthday reminders over SMTP * Email birthday reminders over SMTP
---
## Development / self-hosting
1. Clone the repo.
2. Build for your system with `./Taskfile _cargo build --release`.
3. Deploy the binary from `./target/release/mascarpone` to wherever you want that's accessible to you.
4. In the working directory that you want the server to save its databases in,
1. Create a user for yourself with `mascarpone 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 `mascarpone serve [port]` from that working directory. The default port is 3000.
If you need to be able to bind to a host other than `0.0.0.0`, contact me directly.
### Example systemd service file
```
[Unit]
Description=Mascarpone CRM
After=network.target
[Service]
Type=simple
WorkingDirectory=/var/local/mascarpone/
ExecStart=/usr/bin/mascarpone serve
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
```