Minimal personal CRM.
Donna is personal relationship management tool, commonly known as a personal CRM. It is named after Donna Paulsen, Harvey's assistant from the series "Suits".
It enables you too ...
- Keep track of your contacts: Donna serves as a simple contact book, enabling you to safely store names, addresses and more.
- Register activities: By using it's integrated activity tracker, you can easily get a quick overview of your recent history with a contact.
- Keep a journal: Donna includes a journal with markdown support to keep track of personal progress and activities.
Click on an image to see a larger version.
If you just want to quickly evaluate Donna, check out the hosted demo:
You can get the OCI image like so:
$ podman pull ghcr.io/pojntfx/donna
Static binaries are available on GitHub releases.
On Linux, you can install them like so:
$ curl -L -o /tmp/donna "https://github.com/pojntfx/donna/releases/latest/download/donna.linux-$(uname -m)"
$ sudo install /tmp/donna /usr/local/bin
On macOS, you can use the following:
$ curl -L -o /tmp/donna "https://github.com/pojntfx/donna/releases/latest/download/donna.darwin-$(uname -m)"
On Windows, the following should work (using PowerShell as administrator):
PS> Invoke-WebRequest https://github.com/pojntfx/donna/releases/latest/download/donna.windows-x86_64.exe -OutFile \Windows\System32\donna.exe
You can find binaries for more operating systems and architectures on GitHub releases.
$ donna --help
Usage of donna:
-laddr PORT
Listen address (port can also be set with PORT env variable) (default ":1337")
-oidc-client-id string
OIDC Client ID (i.e. myoidcclientid) (can also be set using the OIDC_CLIENT_ID env variable)
-oidc-issuer string
OIDC Issuer (i.e. https://pojntfx.eu.auth0.com/) (can also be set using the OIDC_ISSUER env variable)
-oidc-redirect-url string
OIDC redirect URL (can also be set using the OIDC_REDIRECT_URL env variable) (default "http://localhost:1337/authorize")
-pgaddr POSTGRES_URL
Database address (can also be set using POSTGRES_URL env variable) (default "postgresql://postgres@localhost:5432/donna?sslmode=disable")
You can set some flags using environment variables, which are compatible with the conventions that platforms like Railway, Heroku and Vercel use. For more info, see the command line arguments.
- kyleconroy/sqlc provides the SQL library.
- pressly/goose provides migration support.
- yuin/goldmark enables markdown rendering.
To contribute, please use the GitHub flow and follow our Code of Conduct.
To build and start a development version of donna locally, run the following:
$ git clone https://github.com/pojntfx/donna.git
$ cd donna
$ make depend
$ docker rm -f donna-postgres && docker run -d --name donna-postgres -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust -e POSTGRES_DB=donna postgres
$ docker exec donna-postgres bash -c 'until pg_isready; do sleep 1; done'
$ export OIDC_ISSUER='https://pojntfx.eu.auth0.com/' OIDC_CLIENT_ID='dyMxiRh1v2o8ALJcxN1WiHbmRygqNyno' OIDC_REDIRECT_URL='http://localhost:1337/authorize'
$ go run ./cmd/donna
Have any questions or need help? Chat with us on Matrix!
Donna (c) 2023 Felicitas Pojtinger, Daniel Hiller and contributors
SPDX-License-Identifier: AGPL-3.0