Files
stapler/README.md
T
2026-04-11 23:20:22 +02:00

60 lines
1.7 KiB
Markdown

# Stapler
```txt
usage: stapler [-h] [-p PORT] [--host HOST] [-d DATA_DIR] [-b BIND] [-t TOKEN]
Static pages as simple as a gzip file
options:
-h, --help show this help message and exit
-p, --port PORT server port (default: 8080) (env var: PORT)
--host HOST server default host (default: localhost) (env var: HOST)
-d, --data-dir DATA_DIR
directory where files are/will be stored (default: ./data) (env var: DATA_DIR)
-b, --bind BIND server bind address (default: 0.0.0.0) (env var: BIND)
-t, --token TOKEN secret token for update requests (env var: TOKEN)
```
## TODO
- [x] basic http server
- [x] docker container
- [x] env instead of args when available
- [ ] POST gzip data into /data/xxx
- [ ] DELETE request
- [ ] CNAME in /data/xxx can be translated as host in GET /
- [ ] PUT to write CNAME file
- [ ] cerbot install in container + path env/arg
- [ ] redirect /.well-known/acme-challenge to specific path
- [ ] certbot/self-signed create/renew in specific dir
- [ ] renew command
- [ ] https mode w/ multiple hosts
- [ ] restart command (on new/deleted host)
- [ ] proper doc
## Makefile targets
```txt
Usage: make [target1] (target2) ...
Commands/Targets:
help show this message
ruff ruff check
ruff-fix ruff check (and fix)
ruff-format ruff format
ruff-format-check ruff format (check only)
ty ty check
docker-build docker build
docker-run docker run
format format project
lint lint project
start start server in localhost
Environment:
UV = uv
RUFF = uv run ruff
TY = uv run ty
DOCKER = docker
DOCKER_TAG = localhost/stapler:latest
```