Skip to main content

Documentation Index

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

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

Keeping Netbox RIPE Updater current means pulling the latest code, rebuilding the Docker image, and periodically rotating RIPE API credentials. RIPE enforces a 12-month maximum TTL on API keys, so credential rotation is a recurring operational task — not a one-off step.
This project follows Semantic Versioning. Minor and patch releases are safe to apply without reviewing breaking changes. A major version bump signals breaking changes — read the GitHub release notes before upgrading across a major boundary.

Updating the containers

1

Pull the desired version

Choose whether you want the latest commit on the current branch or a specific tagged release.
git pull
2

Rebuild the containers

Always rebuild after pulling new code. The Docker image is built from source, so a rebuild is required to include any Python or Dockerfile changes.
docker compose build
3

Restart the stack

Bring the stack down cleanly and start it again with the updated image.
docker compose down && docker compose up -d

Rotating RIPE API keys

RIPE imposes a maximum TTL of 12 months on API keys. Set a calendar reminder so you rotate credentials before they expire — an expired key causes the updater to silently fail to push objects to RIPE.

Manual rotation

Update RIPE_API_USER and RIPE_API_PASS in .env.updater, then restart the containers:
docker compose down && docker compose up -d
No rebuild is required for a credential change — the env file is read at container start.

Automated rotation with update-ripe-key.sh

A helper script is included at ./update-ripe-key.sh. It prompts for the new credentials, backs up .env.updater with a timestamp, updates the values in-place, and restarts the containers automatically.
update-ripe-key.sh
#!/bin/bash
set -e

ENV_FILE=".env.updater"

read -r -p "Enter RIPE_API_USER: " NEW_USER
read -r -s -p "Enter RIPE_API_PASS: " NEW_PASS
echo

BACKUP="${ENV_FILE}.bak.$(date +%Y%m%d_%H%M%S)"
cp "$ENV_FILE" "$BACKUP"
echo "Backup saved to $BACKUP"

sed -i -e '$a\' "$ENV_FILE"

if grep -q '^RIPE_API_USER=' "$ENV_FILE"; then
  sed -i "s/^RIPE_API_USER=.*/RIPE_API_USER=$NEW_USER/" "$ENV_FILE"
else
  echo "RIPE_API_USER=$NEW_USER" >> "$ENV_FILE"
fi

if grep -q '^RIPE_API_PASS=' "$ENV_FILE"; then
  sed -i "s/^RIPE_API_PASS=.*/RIPE_API_PASS=$NEW_PASS/" "$ENV_FILE"
else
  echo "RIPE_API_PASS=$NEW_PASS" >> "$ENV_FILE"
fi

docker compose down
docker compose up -d

echo "-------------------------------------------------------------"
echo "RIPE API credentials updated and Docker containers restarted."
echo "-------------------------------------------------------------"
Run it from the project root:
bash update-ripe-key.sh
The script saves a timestamped backup of .env.updater (e.g. .env.updater.bak.20250517_143022) before making any changes, so you can roll back by copying the backup file back and restarting.

Deployment

Review the full Docker Compose setup and port configuration

Backups

Browse and restore backed-up RIPE objects

Build docs developers (and LLMs) love