Skip to content

Commit 791f639

Browse files
authored
Build docker image on native platform (#28)
* Build docker image on native platform * Add copy of missing modified files * Fix native dependencies * Avoid double copy * Add missing files * Add missing configs
1 parent 5db306f commit 791f639

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

docker/Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,32 @@
22
ARG NETBOX_VERSION
33
FROM docker.io/netboxcommunity/netbox:${NETBOX_VERSION} AS base
44

5+
FROM --platform=$BUILDPLATFORM docker.io/netboxcommunity/netbox:${NETBOX_VERSION} AS build
6+
57
# Patch NGINX Unit config
68
RUN apt-get update || true && apt-get install -yq jq
79
RUN jq -r '.settings.http.max_body_size = 52428800' /etc/unit/nginx-unit.json \
810
> /etc/unit/nginx-unit-edit.json && \
911
mv /etc/unit/nginx-unit-edit.json /etc/unit/nginx-unit.json
1012

13+
# Install packages for collectstatic
1114
COPY plugin_requirements.txt extra_requirements.txt /opt/netbox/
1215
RUN /usr/local/bin/uv pip install \
1316
-r /opt/netbox/plugin_requirements.txt \
1417
-r /opt/netbox/extra_requirements.txt
1518

1619
COPY plugins.py extra.py /etc/netbox/config/
1720
RUN SECRET_KEY="dummydummydummydummydummydummydummydummydummydummy" /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py collectstatic --no-input
21+
22+
FROM docker.io/netboxcommunity/netbox:${NETBOX_VERSION} AS prod
23+
24+
# Copy modified files
25+
COPY --from=build /etc/unit /etc/unit
26+
COPY --from=build /opt/netbox/netbox/static /opt/netbox/netbox/static
27+
28+
# Install plugins and config for prod
29+
COPY plugins.py extra.py /etc/netbox/config/
30+
COPY plugin_requirements.txt extra_requirements.txt /opt/netbox/
31+
RUN /usr/local/bin/uv pip install \
32+
-r /opt/netbox/plugin_requirements.txt \
33+
-r /opt/netbox/extra_requirements.txt

0 commit comments

Comments
 (0)