Skip to main content

Backup and Restore netbox database

cd <path_to>/netbox-docker

# Stop all containers
docker compose down

# Only start the DB
docker compose up -d postgres

# Take a DB backup
docker compose exec -T postgres sh -c 'pg_dump -cU $POSTGRES_USER $POSTGRES_DB' | gzip > db_dump.sql.gz

# Stop the database
docker compose down

# Restore the database
docker compose up -d postgres
gunzip -c db_dump.sql.gz | docker compose exec -T postgres sh -c 'psql -U $POSTGRES_USER $POSTGRES_DB'

docker compose exec postgres sh -c 'psql -U $POSTGRES_USER $POSTGRES_DB'
ALTER USER netbox WITH PASSWORD '<YOUR_DB_PASSWORD>';
ALTER DATABASE netbox OWNER TO netbox;
# Once complete, enter `\q` to exit the PostgreSQL shell.

# Start all other containers
docker compose up

Resources