This guide walks you through deploying RIPE Updater, connecting it to your NetBox instance, setting up your first templates, and verifying that the system correctly processes a prefix webhook — all before touching your production RIPE database.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.
RIPE Updater defaults to
RIPE_DB=TEST, so every write goes to the RIPE TEST database until you explicitly change that variable. Run through this guide in TEST mode first to validate your templates safely.Deploy RIPE Updater
Copy the example environment file and edit it with your credentials:The key variables to set before the first run are:
Start the container, mounting your local
| Variable | Description |
|---|---|
NETBOX_URL | URL of your NetBox instance, e.g. https://netbox.example.com |
NETBOX_TOKEN | NetBox API token with read access to prefixes, aggregates, regions, and sites |
RIPE_MNT_PASSWORD | Password for your RIPE maintainer object |
DEFAULT_COUNTRY | ISO 3166-1 alpha-2 fallback country code, e.g. DE |
UPDATE_TOKEN | Optional shared secret that NetBox sends in the Authorisation header |
RIPE_DB | Set to TEST (default) for initial testing, RIPE for production |
templates/ directory:Configure NetBox
RIPE Updater relies on three custom fields and one webhook in NetBox. Create them in Customization → Custom Fields and Integrations → Webhooks.Custom field:
lir- Name:
lir, Label:LIR - Assigned model:
ipam → aggregates - Type: Selection — add one choice per LIR you manage
- Required: yes
ripe_report- Name:
ripe_report, Label:RIPE Report - Assigned model:
ipam → prefixes - Type: Boolean, Default:
false - Required: no
ripe_template- Name:
ripe_template, Label:RIPE Template - Assigned model:
ipam → prefixes - Type: Selection — add one choice per template you create in step 3
- Required: no
- Name:
ripe-updater, Enabled: yes - Events: Create, Update, Delete
- HTTP Method: POST
- Payload URL:
http(s)://your-ripe-updater-host/update - Content Type:
application/json - Assigned model:
ipam | prefix - Additional header (if
UPDATE_TOKENis set):Authorisation: Token YOURTOKEN
Your NetBox sites must have a country as a parent region. RIPE Updater uses the region hierarchy to determine the
country attribute on the RIPE object. If no country can be resolved, it falls back to DEFAULT_COUNTRY.Create templates
Templates are JSON files stored in the directory mounted at Edit the file so each LIR choice you defined in NetBox maps to its organisation handle:Base template — defines the INETNUM/INET6NUM attributes. Use the provided example as a starting point:Include an empty Add an entry for each template:
/opt/ripeupdater/templates (configured by TEMPLATES_DIR). You need two files to get started.lir_org.json — maps each LIR name to a RIPE organisation object:org entry so RIPE Updater fills the organisation from lir_org.json automatically:templates.json — maps template names (matching your ripe_template custom field choices) to base templates:Test with a prefix
With everything in place, trigger a test run against the RIPE TEST database:Once your TEST runs succeed, set
- In NetBox, find a prefix you want to test with.
- Set
ripe_reportto true and choose aripe_templatevalue. - Save the prefix — NetBox fires the webhook to
/update. - Check the RIPE Updater logs for a
204response confirming the object was written. - Verify the object in the RIPE TEST database using your prefix.
RIPE_DB=RIPE in your .env file and restart the container to go live.Next steps
Docker deployment
Run with docker-compose and configure a production reverse proxy
Environment variables
Full reference for every configuration option
NetBox setup
Detailed guide to custom fields, regions, and webhook configuration
Templates
Build complex RIPE objects with base templates and inheritance