diff --git a/README.md b/README.md index 6c36460..c2e3c60 100644 --- a/README.md +++ b/README.md @@ -15,13 +15,18 @@ The goal is to keep it simple! For feature-rich solutions are [hedgedoc](https:/ ## Features +**Use cases:** +- shared notepad on multiple machines +- collaboration on the same notepage with multiple people (notes, config, etc) +- config changes in aukpad > `curl -o app.conf https://aukpad.com/{pad_id}/raw` > change config in aukpad > repeat `curl` command + **Available**: - live collab notepad - line numbers -- custom path for more privacy +- custom path `{pad_id}` for more privacy - optional caching with valkey/redis - pad creation with HTTP post requests with curl (see *Usage*) -- `[pad_id]/raw` HTTP endpoint +- `{pad_id}/raw` HTTP endpoint **Ideas**: [Check out the open feature requests](https://git.uphillsecurity.com/cf7/aukpad/issues?q=&type=all&sort=&state=open&labels=12&milestone=0&project=0&assignee=0&poster=0&archived=false) @@ -45,6 +50,57 @@ ip -br a | curl -X POST https://aukpad.com --data-binary @- # command output ## Installation +**Please use a reverse proxy and TLS in production!** + +### Docker + +**Simple / Testing** + +`docker run -p 127.0.0.1:8000:8000 git.uphillsecurity.com/cf7/aukpad:latest` + +Open `127.0.0.1:8000` + +**Adv. example with Podman** + +```bash +# Create Pod +podman pod create --name aukpad-pod -p 127.0.0.1:8000:8000 + +# Start Valkey Container (or replace with redis) +podman run -d --name aukpad-cache \ + --replace \ + --pod aukpad-pod \ + --restart=unless-stopped \ + docker.io/valkey/valkey:7 \ + --requirepass xeZNopyIeMMncqDFPHtJQwMwIathgMWo \ + --maxmemory 2gb \ + --maxmemory-policy allkeys-lru \ + --save "" \ + --appendonly no \ + --bind 0.0.0.0 \ + --protected-mode yes + +# Start aukpad Container +podman run -d --name aukpad-app \ + --replace \ + --pod aukpad-pod \ + --read-only \ + --tmpfs /tmp \ + --security-opt no-new-privileges:true \ + --cap-drop ALL \ + --user 1000:1000 \ + -e USE_VALKEY=true \ + -e VALKEY_URL=redis://:xeZNopyIeMMncqDFPHtJQwMwIathgMWo@localhost:6379 \ + -e MAX_TEXT_SIZE=5 \ + -e MAX_CONNECTIONS_PER_IP=20 \ + -e RETENTION_HOURS=72 \ + git.uphillsecurity.com/cf7/aukpad:latest +``` + +*Tested only with Podman - Docker-Compose file might follows.* + +Enable support for web sockets in your reverse proxy of choice! - Nginx config example will be added at some point. + ### Environment Variables The following environment variables can be configured: @@ -55,13 +111,9 @@ The following environment variables can be configured: | `VALKEY_URL` | `redis://localhost:6379/0` | Redis/Valkey connection URL | | `MAX_TEXT_SIZE` | `5` | Maximum text size in MB (5MB default) | | `MAX_CONNECTIONS_PER_IP` | `10` | Maximum concurrent connections per IP address | -| `RETENTION_HOURS` | `48` | How long to retain pads in hours (48 hours default) | +| `RETENTION_HOURS` | `48` | How long to retain pads in hours after last access | | `DESCRIPTION` | `powered by aukpad.com` | Instance description shown on info page | -### Running - -WORK IN PROGRESS - --- ## Security