ProxyMini is a lightweight proxy server written in Go that provides HTTP request logging capabilities
PROXYMINI_PORT: The port on which the ProxyMini server will listen. Default is 14443.PROXYMINI_CONFIG: The path to the TOML configuration file. Default is "proxymini.conf.toml".PROXYMINI_DB: The path to the database file used for request logging. Default is "rl.db".
ProxyMini uses a TOML file to define proxy routing rules. Example config:
[[proxy]]
prefix = "/api"
target = "http://api-server:8080"
[[proxy]]
prefix = "/auth"
target = "http://auth-service:9000"More specific rules should be before more general ones.
ProxyMini includes a web interface for viewing request logs. Access it by navigating to /app
The UI source lives in webui/ and is built as a static site into webapp/static/.
The webapp/static/ contents are generated and are not committed to git.
Prerequisites:
Common commands:
# install frontend dependencies
task ui:install
# build static UI into webapp/static
task ui:build
# run sveltekit dev server
task ui:dev
# build UI + backend binary
task build
# run UI checks + backend tests
task testDownload binary from release page or use docker image:
docker pull ghcr.io/mishankov/proxymini:latestservices:
proxy:
image: ghcr.io/mishankov/proxymini:latest
ports:
- "14443:14443"
volumes:
# mapping config file to container
- ./proxymini.conf.toml:/app/proxymini.conf.toml:ro
# mapping folder with database
- ./data:/app/data:rw