Lightweight self-hostable to-do lists app with LDAP authentication.
- Store items as single JSON file for each
ouinitemsdirectory, which is mounted to the Docker container. - No tags, no categories. Just colored symbol. Click/tap the symbol on the right to change the color of the item. (
default -> green -> yellow -> red -> default) - Sortable. (Only in the left-most tab)
- Built-in LDAP authentication. Items are managed based on the
ou: For instance, if your DN iscn=user,ou=people,dc=example,dc=comyou can manage items in thepeople.json. However, you will not be able to view items inusers.json, which can only be accessed by those withou=users.
- Prepare empty
itemsdirectory, and.envfile with the following variables:
LTD_DOMAIN=yourdomain.com
LTD_SECRET_KEY=SECRET_STRING_TO_ENCODE_JWT
LTD_NETWORK=ldap://ldap:3890
LTD_API_TOKEN=SECRET_KEY_TO_POST_ITEM_VIA_API
sudo docker run -d -v /path/to/items:/ltd/items --env-file /path/to/.env --network="ldap_docker_network_name_if_needed" --name ltd -p 8080:8080 kyoheiudev/ltd:1.4.2
To post an item via API, use HTTP POST request:
POST /api/post
Content-Type: application/json
Authorization: LTD_API_TOKEN
{
"value": "new item",
"ou": "people"
}- React
- axum
- WebSocket
- protobuf
- ldap3
- JWT cookie
prerequisite: add test user to LDAP via LLDAP http server. See https://github.com/lldap/lldap .
make generate # generate types from .proto configuration
make dev