This is an old revision of the document!
NETBOX
IPAM: (TODO: Document mycompany2 ipam system with API)
docker compose exec netbox /opt/netbox/netbox/manage.py createsuperusergit clone https://github.com/netbox-community/netbox-demo-data.git cd netbox-demo-data
This is the script:
#!/usr/bin/env bash
# load_netbox_demo.sh
# Load NetBox demo SQL data into a docker-compose NetBox stack.
set -euo pipefail
# ----------------------------------------------------------------------
# Adjust these if your environment differs
SQL_PATH="./netbox-demo-data/sql/netbox-demo-v4.3.sql"
POSTGRES_USER="${POSTGRES_USER:-netbox}"
POSTGRES_DB="${POSTGRES_DB:-netbox}"
# ----------------------------------------------------------------------
echo "Starting NetBox stack (docker compose up -d)…"
docker compose up -d
# Get running container IDs
PG_CONTAINER=$(docker compose ps -q postgres)
NB_CONTAINER=$(docker compose ps -q netbox)
# Wait until Postgres accepts connections
echo "Waiting for Postgres to become ready…"
until docker exec "$PG_CONTAINER" pg_isready -U "$POSTGRES_USER" -d "$POSTGRES_DB" >/dev/null 2>&1; do
sleep 2
done
echo "Postgres is ready."
# Copy SQL file into the Postgres container
echo "Copying SQL dump into Postgres container…"
docker cp "$SQL_PATH" "$PG_CONTAINER":/tmp/demo.sql
# Drop and recreate the public schema
echo "Dropping and recreating public schema…"
docker compose exec postgres \
psql -U "$POSTGRES_USER" -d "$POSTGRES_DB" \
-c 'DROP SCHEMA public CASCADE; CREATE SCHEMA public;'
# Load the demo data
echo "Loading demo data into database…"
docker compose exec postgres \
psql -U "$POSTGRES_USER" -d "$POSTGRES_DB" -f /tmp/demo.sql
# Run Django migrations to align with current code
echo "Running Django migrations…"
docker compose exec netbox \
python /opt/netbox/netbox/manage.py migrate --noinput
# Restart NetBox services so they use the new data
echo "Restarting NetBox containers…"
docker compose restart netbox netbox-worker netbox-housekeeping
echo ""
echo "Demo data loaded successfully. Visit http://localhost:8000 (admin / admin)."