Skip to content

Commit

Permalink
ENT-23: add hooks for running pre- and post-init scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
RangerRick committed May 15, 2024
1 parent 1265d22 commit 5f362a9
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
3 changes: 3 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ services:
test: "curl -f http://localhost:8080/login/ || exit 1"
volumes:
- ./configuration:/etc/netbox/config:z,ro
- init-files:/opt/init:ro
- netbox-media-files:/opt/netbox/netbox/media:rw
- netbox-reports-files:/opt/netbox/netbox/reports:rw
- netbox-scripts-files:/opt/netbox/netbox/scripts:rw
Expand Down Expand Up @@ -72,6 +73,8 @@ services:
- netbox-redis-cache-data:/data

volumes:
init-files:
driver: local
netbox-media-files:
driver: local
netbox-postgres-data:
Expand Down
18 changes: 16 additions & 2 deletions docker/docker-entrypoint.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
#!/bin/bash
# Runs on every start of the NetBox Docker container

# Stop when an error occures
# Stop when an error occurs
set -e

# Allows NetBox to be run as non-root users
umask 002

if [ -d /opt/init/pre ]; then
find /opt/init/pre -type f -name \*.sh | sort -u | while read -r FILE; do
echo "⚙️ Running pre-init script '${FILE}'..."
/bin/bash -e "${FILE}" "$@"
done
fi

# Load correct Python3 env
# shellcheck disable=SC1091
source /opt/netbox/venv/bin/activate
Expand Down Expand Up @@ -91,8 +98,15 @@ except Token.DoesNotExist:
pass
END

if [ -d /opt/init/post ]; then
find /opt/init/post -type f -name \*.sh | sort -u | while read -r FILE; do
echo "⚙️ Running post-init script '${FILE}'..."
/bin/bash -e "${FILE}" "$@"
done
fi

echo "✅ Initialisation is done."

# Launch whatever is passed by docker
# (i.e. the RUN instruction in the Dockerfile)
# (i.e. the CMD instruction in the Dockerfile)
exec "$@"

0 comments on commit 5f362a9

Please sign in to comment.