Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/grizzlyware/netbox-ripe-updater/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks through the complete setup of Netbox RIPE Updater, from cloning the repository to running the Docker Compose stack. Each step covers what you are configuring and why, so you understand how the components fit together before going live.
1

Clone the repository

Clone the repository and move into the project directory:
git clone https://github.com/grizzlyware/netbox-ripe-updater.git
cd netbox-ripe-updater
2

Copy the environment files

The project ships with two example environment files. Copy both to create your local configuration:
cp .env.example .env
cp .env.updater.example .env.updater
.env controls the Docker Compose stack (ports, template directory, Minio credentials). .env.updater is passed directly into the ripe-updater container and holds all service-level credentials.
3

Configure .env

Open .env and update the following values:
# The port/address which the updater will bind to on the host machine.
UPDATER_HTTP_PORT=127.0.0.1:9000

# The template directory to use for the RIPE updater (copy your templates to 'custom' & change this)
RIPE_TEMPLATE_DIR=./ripe-templates/example

# Minio access details
# When changing, update S3_ACCESS_KEY & S3_SECRET_ACCESS_KEY in .env.updater too
MINIO_ROOT_USER=CjGb9PDkjQqMi6V
MINIO_ROOT_PASSWORD=8s82NHXq6pPsJAP4S
  • UPDATER_HTTP_PORT — The host address and port the updater HTTP interface binds to. The default 127.0.0.1:9000 binds only to localhost; adjust this if you need the service reachable on another interface.
  • RIPE_TEMPLATE_DIR — Path to the directory containing your RIPE object templates. Change this to your custom templates directory once you have configured your templates (see step 5).
  • MINIO_ROOT_USER / MINIO_ROOT_PASSWORD — Credentials for the Minio backup storage container. These must match the S3_ACCESS_KEY and S3_SECRET_ACCESS_KEY values in .env.updater.
Change MINIO_ROOT_USER, MINIO_ROOT_PASSWORD, S3_ACCESS_KEY, and S3_SECRET_ACCESS_KEY from their defaults before using this stack in production. The default values are publicly known and must not be used in a live environment.
4

Configure .env.updater

Open .env.updater and fill in each section with your environment’s values:
# UI credentials, ie /backups (Administrators -> Updater UI)
UI_USER=admin
UI_PASSWORD=password

# Update API credentials (Netbox -> Updater)
UPDATE_TOKEN=Token 123456abcdef

# Netbox API (Updater -> Netbox)
NETBOX_URL=https://netbox.local
NETBOX_TOKEN=123456abcdef

# RIPE (Updater -> RIPE)
DEFAULT_COUNTRY=GB
RIPE_API_USER=empty_user
RIPE_API_PASS=empty_pass
RIPE_DB=TEST

# S3 (Minio by default) backup storage (these must match Minio credentials in .env if using Minio)
S3_ACCESS_KEY=CjGb9PDkjQqMi6V
S3_SECRET_ACCESS_KEY=8s82NHXq6pPsJAP4S
#S3_ENDPOINT_URL (defaulted to local Minio)

# Misc
DEBUG=no
  • UI_USER / UI_PASSWORD — Credentials for the updater web UI, used to access the /backups endpoint.
  • UPDATE_TOKEN — The bearer token NetBox uses when calling the updater API. Set this to a long random string and configure the matching webhook in NetBox.
  • NETBOX_URL / NETBOX_TOKEN — The URL of your NetBox instance and an API token with read access to prefixes and regions.
  • DEFAULT_COUNTRY — ISO Alpha-2 country code used as a fallback when a region slug cannot be resolved.
  • RIPE_API_USER / RIPE_API_PASS — Your RIPE NCC API credentials. RIPE imposes a maximum 12-month TTL on API keys; you will need to rotate these periodically.
  • RIPE_DB — The RIPE database to write to. Defaults to TEST.
  • S3_ACCESS_KEY / S3_SECRET_ACCESS_KEY — Must match MINIO_ROOT_USER and MINIO_ROOT_PASSWORD in .env when using the bundled Minio container.
RIPE_DB defaults to TEST, which directs all changes to the RIPE test database. No live RIPE objects are modified until you change this value to RIPE and restart the stack.
5

Set up RIPE templates

The updater requires RIPE object templates to know how to format INETNUM and related objects. Copy the example templates from ripe-templates/example to a custom directory and edit them to match your organisation:
cp -r ripe-templates/example ripe-templates/custom
Then update RIPE_TEMPLATE_DIR in .env to point to your custom directory:
RIPE_TEMPLATE_DIR=./ripe-templates/custom
For full details on template structure and available variables, see Set up RIPE templates.
6

Start the stack

Once your environment files and templates are configured, bring up the Docker Compose stack:
docker compose up
Add the -d flag to run in the background:
docker compose up -d
The stack starts the ripe-updater service and a local Minio instance for backup storage. The updater UI is available at the address defined by UPDATER_HTTP_PORT.

Full environment reference

Detailed reference for every variable in .env and .env.updater.

Configure NetBox

Set up the NetBox webhook and API token to connect NetBox to the updater.

Set up RIPE templates

Learn how to structure and customise your RIPE object templates.

Running the stack

Commands and guidance for running, stopping, and monitoring the stack.

Build docs developers (and LLMs) love