♻️ Make netbox-worker it's own container
One container should ideally have one responsibility [1]. Therefore I implemented the netbox-worker to start in it's own container. This is possible, because netbox and the worker communicate via redis anyway. They still use the same image underneath, just the "command" they execute while starting different. Or in other words: I see no reason to introduce supervisord, when we already have docker-compose which can take care of running multiple processes. Also, here's another benefit: Now it's possible to view the logs of the webhook worker independently of the other netbox logs (and vice-versa). Other changes in this commit: * I don't see a reason to put a password for Redis in the docker-compose setup, so I removed it. * Slightly changed the nginx config, so that the nginx startup command becomes simpler and any error should be visible in the docker log. * Some housekeeping in the `Dockerfile`. * Added some troubleshooting advice regarding webhooks to the README. I'd like to thank Brady (@bdlamprecht [2]) here who did the harder work of figuring out what's even required to have webhooks working. [3] [1] https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#decouple-applications [2] https://github.com/bdlamprecht [3] https://github.com/ninech/netbox-docker/pull/90
This commit is contained in:
parent
b8885e4b79
commit
013f81b791
7 changed files with 129 additions and 96 deletions
10
Dockerfile
10
Dockerfile
|
@ -6,15 +6,14 @@ RUN apk add --no-cache \
|
|||
ca-certificates \
|
||||
cyrus-sasl-dev \
|
||||
graphviz \
|
||||
ttf-ubuntu-font-family \
|
||||
jpeg-dev \
|
||||
libffi-dev \
|
||||
libxml2-dev \
|
||||
libxslt-dev \
|
||||
openldap-dev \
|
||||
postgresql-dev \
|
||||
wget \
|
||||
supervisor
|
||||
ttf-ubuntu-font-family \
|
||||
wget
|
||||
|
||||
RUN pip install \
|
||||
# gunicorn is used for launching netbox
|
||||
|
@ -48,15 +47,12 @@ COPY docker/docker-entrypoint.sh docker-entrypoint.sh
|
|||
COPY startup_scripts/ /opt/netbox/startup_scripts/
|
||||
COPY initializers/ /opt/netbox/initializers/
|
||||
COPY configuration/configuration.py /etc/netbox/config/configuration.py
|
||||
COPY configuration/supervisord.conf /etc/supervisord.conf
|
||||
|
||||
WORKDIR /opt/netbox/netbox
|
||||
|
||||
ENTRYPOINT [ "/opt/netbox/docker-entrypoint.sh" ]
|
||||
|
||||
VOLUME ["/etc/netbox-nginx/"]
|
||||
|
||||
CMD ["supervisord", "-c /etc/supervisord.conf"]
|
||||
CMD ["gunicorn", "-c /etc/netbox/config/gunicorn_config.py", "netbox.wsgi"]
|
||||
|
||||
LABEL SRC_URL="$URL"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue