# Development ## Makefile targets ```txt Usage: make [target1] [target2] ... Commands/Targets: help show this message install install project update update project dependencies format format project lint lint project build build project start start server in localhost test test project test-% test project with specific test coverage test project with coverage uv-sync uv sync uv-upgrade uv sync upgrade ruff ruff check ruff-fix ruff check (and fix) ruff-format ruff format ruff-format-check ruff format (check only) ty ty check unittest unittest unittest-% unittest -k [filter] coverage-unittest coverage run -m unittest coverage-report coverage report coverage-html coverage html coverage-xml coverage xml docker-build docker build docker-run docker run ``` ## TODO - [x] basic http server - [x] docker container - [x] env instead of args when available - [x] PUT gzip data into /data/xxx - [x] DELETE request - [x] max file size - [x] .host in /data/xxx can be translated as host in GET / - [x] header to setup .host file instead of in archive - [x] ignore .gitignore/.host etc at root - [x] cerbot install in container + path env/arg - [x] redirect /.well-known/acme-challenge to specific path - [x] certbot/self-signed create/renew in specific dir - [x] better logger - [x] renew command - [x] https mode w/ multiple hosts - [x] create certificate on request - [x] certbot copy certificates for unique path - [x] better error page - [x] add favicon.ico + special path - [x] [http.server security](https://docs.python.org/3/library/http.server.html#http-server-security) - [x] launch separate upgrade 80->443 server when https - [x] token management with "generate" command and bind path to specific token - [x] docker compose example + .env - [x] 404 GET on host not found - [x] 403 PUT on host already taken - [x] remove dot files after file extract - [x] unit tests - [x] github actions - [x] X-Redirect - [x] X-Proxy - [x] detect root certificate change and update server - [x] detect tokens change and update token_manager - [x] proper doc - [x] X-Host-Only - [ ] Fix certbot on base path with upgrade server