You can run RIPE Updater directly on a Linux host without Docker by installing its Python dependencies into a virtualenv and launching the application with gunicorn. This approach suits environments where container runtimes are unavailable or undesirable, such as bare-metal servers or existing virtualised infrastructure managed without containers.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/jalmargyyk/ripe-updater/llms.txt
Use this file to discover all available pages before exploring further.
Dependencies
RIPE Updater requires Python 3.8 or later. The following packages are installed fromrequirements.txt:
| Package | Version | Purpose |
|---|---|---|
flask | 2.1.1 | Web framework and request handling |
gunicorn | 20.1.0 | WSGI HTTP server |
requests | 2.27.1 | HTTP client for RIPE DB and NetBox API calls |
pynetbox | 6.6.2 | NetBox API client |
iso3166 | 2.0.2 | Country code lookup for prefix region mapping |
boto3 | 1.21.44 | S3 client for optional backup storage |
Installation
Install Python 3.8 or later
Confirm your Python version meets the minimum requirement:On Debian/Ubuntu, install Python 3 if it is not already present:On RHEL/Rocky/AlmaLinux:
Install Python dependencies
From the repository root, install all required packages:Using a virtualenv is strongly recommended to isolate RIPE Updater’s dependencies from system packages:
Configure the application
Configuration can be provided in two ways — choose whichever fits your workflow.Option A — environment variables (recommended)Export each variable before starting the server, or load them from a See the environment variables reference for the full list of supported variables.Option B — configuration fileEdit
.env file with a tool such as direnv:ripeupdater/configuration.py directly and set each value in the file. Environment variables take precedence over values in the configuration file when both are present.Start the application
Launch RIPE Updater with gunicorn:The service listens on port 80 with 2 worker processes. Adjust
-b to change the bind address or port, and -w to change the worker count based on your available CPU cores.Binding to port 80 requires elevated privileges on most Linux systems. Either run the process as root (not recommended), use
CAP_NET_BIND_SERVICE, or bind to a higher port (e.g., :8080) and place a reverse proxy in front.Running as a systemd service
For production use, manage RIPE Updater with systemd so it starts automatically on boot and restarts after failures. Create a unit file at/etc/systemd/system/ripe-updater.service: