From 4ef67d6071a21febd100e5fd4203acba88b04346 Mon Sep 17 00:00:00 2001
From: "Jamie (Bear) Murphy" <git@jam.ie>
Date: Fri, 8 Apr 2022 21:49:35 +0100
Subject: [PATCH] created preentry script to help with local development

---
 Dockerfile             |  1 +
 docker-compose.yml     |  2 ++
 docker/housekeeping.sh |  3 +++
 docker/preentry.sh     | 16 ++++++++++++++++
 4 files changed, 22 insertions(+)
 create mode 100644 docker/preentry.sh

diff --git a/Dockerfile b/Dockerfile
index 6928723..fee59f2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -70,6 +70,7 @@ COPY docker/ldap_config.docker.py /opt/netbox/netbox/netbox/ldap_config.py
 COPY docker/docker-entrypoint.sh /opt/netbox/docker-entrypoint.sh
 COPY docker/housekeeping.sh /opt/netbox/housekeeping.sh
 COPY docker/launch-netbox.sh /opt/netbox/launch-netbox.sh
+COPY docker/preentry.sh /opt/netbox/preentry.sh
 COPY startup_scripts/ /opt/netbox/startup_scripts/
 COPY initializers/ /opt/netbox/initializers/
 COPY configuration/ /etc/netbox/config/
diff --git a/docker-compose.yml b/docker-compose.yml
index 20a1036..578b715 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -16,12 +16,14 @@ services:
     - ./reports:/etc/netbox/reports:z,ro
     - ./scripts:/etc/netbox/scripts:z,ro
     - netbox-media-files:/opt/netbox/netbox/media:z
+    # - ./custom_preentry.sh:/opt/netbox/preentry.sh
   netbox-worker:
     <<: *netbox
     depends_on:
     - redis
     - postgres
     command:
+    - /opt/netbox/preentry.sh
     - /opt/netbox/venv/bin/python
     - /opt/netbox/netbox/manage.py
     - rqworker
diff --git a/docker/housekeeping.sh b/docker/housekeeping.sh
index cfe06b1..fcaf0bf 100755
--- a/docker/housekeeping.sh
+++ b/docker/housekeeping.sh
@@ -1,4 +1,7 @@
 #!/bin/bash
+# run preentry script to install any local depencencies / file mods
+/opt/netbox/preentry.sh
+
 SECONDS=${HOUSEKEEPING_INTERVAL:=86400}
 echo "Interval set to ${SECONDS} seconds"
 while true; do
diff --git a/docker/preentry.sh b/docker/preentry.sh
new file mode 100644
index 0000000..ac4250c
--- /dev/null
+++ b/docker/preentry.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+set -e
+
+# Example of how to activate a development plugin
+
+# echo -e "installing custom plugin"
+# source /opt/netbox/venv/bin/activate
+# cd /opt/plugin_source
+# python3 setup.py develop
+# echo -e "finished installing custom plugin"
+
+
+# follow on scripts expect this to be the current dir. 
+# uncomment if you have changed directory
+# cd /opt/netbox/netbox
+exec "$@"
\ No newline at end of file