Add your description here
Project description
Inginx
Nginx is a really powerful software, but it requires non-trivial configuration and its own working directory. Command-line configuration is possible but verbose.
This utility creates a temporary working directory and assembles an Nginx configuration optimized for common use cases.
The name “inginx” is derived from “instant Nginx”
Examples
Serve file system
Serve a directory ./dir on 8787
inginx --serve ./dir --listen 0.0.0.0:8787
Output:
Running /usr/bin/freenginx in /tmp/tmpu8151mtc
127.0.0.1 - - [25/Aug/2025:11:18:50 +0200] "GET / HTTP/1.1" 200 263 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:141.0) Gecko/20100101 Firefox/141.0"
....
Reverse proxy
Start a reverse proxy up to https://echo.free.beeceptor.com on 8080
inginx --reverse https://echo.free.beeceptor.com --listen 0.0.0.0:8080
Output:
Running /usr/bin/freenginx in /tmp/tmpo66xmvm_
127.0.0.1 - - [25/Aug/2025:11:21:03 +0200] "GET / HTTP/1.1" 200 844 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:141.0) Gecko/20100101 Firefox/141.0"
...
Common Flags
-
--serve <directory>- Serve a local filesystem directory -
--reverse <remote>- Set up a reverse proxy -
--listen <address[:port]>- Tell Nginx what address/port to use
Installation
This is a self-contained script that has no dependencies. It is aiming to work on as old Python as 3.7.
Managed installation (uvx, pipx)
Ideal solution, but needs uvx, or pipx pre-installed This is the most painless solution
uvx inginx --help
pipx install inginx
inginx --help
pip
pip install --user inginx --break-system-packages
[!WARNING] This is generally not recommended. It will work and not break anything in this case because inginx does not have any dependencies.
Manual
wget https://raw.githubusercontent.com/richard-hajek/inginx/refs/heads/main/inginx/inginx.py -O ~/.local/bin
chmod +x ~/.local/bin/inginx
[!WARNING] Check that ~/.local/bin is in your path by doing echo $PATH and checking, with your eyes, if '.local/bin' is there If not, good luck, have fun, see https://askubuntu.com/questions/440691/add-a-binary-to-my-path for detailed instructions how to manage your $PATH
Advanced configuration
This tool is not indended for advanced configuration. It will however provide you with a good starting point. If you want to further customize the nginx instance, do
mkdir ./prefix
cd ./prefix
inginx <your configuration> --dry > nginx.conf
and then make any changes you want to the generated nginx.conf
And run your nginx with
freenginx -p $(realpath .) -c $(realpath ./nginx.conf)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file inginx-0.3.2.tar.gz.
File metadata
- Download URL: inginx-0.3.2.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b31373b9bfa176febfbfd5ca72233a059f9d0d762cb98aad420610b612d5e52
|
|
| MD5 |
5e0b1b1d103f7cc51bdc5c3d311904dd
|
|
| BLAKE2b-256 |
006aa2a231f435d3786851e633c2896172cf75d19153495506a8f8388618b9eb
|
File details
Details for the file inginx-0.3.2-py3-none-any.whl.
File metadata
- Download URL: inginx-0.3.2-py3-none-any.whl
- Upload date:
- Size: 4.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6faea30201c92c0265b49232f6c22df9d382c25f1452732e95373b32c385546
|
|
| MD5 |
b7e2ca2406b4ddcef99d86e012eeb7d3
|
|
| BLAKE2b-256 |
2c5d08dca8e10cc0823228e48154fefea025eafc3cfe10139f8240e7516fbadc
|