FROM alpine:latest LABEL maintainer="Mike Crute " ARG netbox_version ADD config-patch1.diff /config-patch1.diff ADD config-patch2.diff /config-patch2.diff ADD settings-patch.diff /settings-patch.diff RUN set -euxo pipefail; \ \ apk --no-cache add \ build-base \ dumb-init \ jpeg-dev \ libffi-dev \ libxml2-dev \ libxslt-dev \ openssl-dev \ postgresql-dev \ py3-pip \ python3-dev \ runit \ su-exec \ uwsgi \ uwsgi-python \ zlib-dev \ ; \ cd /tmp; \ wget "https://github.com/netbox-community/netbox/archive/v${netbox_version}.tar.gz"; \ tar -xvf "v${netbox_version}.tar.gz" -C /opt; \ rm "v${netbox_version}.tar.gz"; \ mv /opt/netbox-${netbox_version}/ /opt/netbox/; \ \ cd /; \ cp /opt/netbox/netbox/netbox/configuration.example.py /opt/netbox/netbox/netbox/configuration.py; \ patch -p1 < /config-patch1.diff; \ rm /config-patch1.diff; \ \ addgroup -S netbox; \ adduser -S -G netbox netbox; \ chown -R netbox:netbox /opt/netbox/netbox/media; \ \ cd /opt/netbox; \ pip3 install wheel; \ pip3 install -r requirements.txt; \ \ python3 netbox/manage.py collectstatic --no-input; \ \ cd /; \ cp /opt/netbox/netbox/netbox/configuration.example.py /opt/netbox/netbox/netbox/configuration.py; \ patch -p1 < /config-patch2.diff; \ rm /config-patch2.diff; \ \ patch -p1 < /settings-patch.diff; \ rm /settings-patch.diff; \ \ mkdir -p /usr/lib/python3.8/site-packages/django/db/backends/postgresqlvault; \ touch /usr/lib/python3.8/site-packages/django/db/backends/postgresqlvault/__init__.py; \ \ rm -rf /root/.cache; \ apk --no-cache del --purge \ build-base \ ; ADD django-vault-client.py /usr/lib/python3.8/site-packages/django/contrib/vault_client.py ADD django-driver.py /usr/lib/python3.8/site-packages/django/db/backends/postgresqlvault/base.py ADD etc/ /etc/ ADD entrypoint.sh /entrypoint.sh STOPSIGNAL SIGHUP ENTRYPOINT [ "/entrypoint.sh" ] CMD [ "/usr/bin/dumb-init", "/sbin/runsvdir", "/etc/service" ]