Compare commits
24 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
753cb98ca3 | |
|
|
b9836c3af2 | |
|
|
27bf52cf3e | |
|
|
5dea11c4d4 | |
|
|
35c19d0fc8 | |
|
|
cd42632628 | |
|
|
09c897aa22 | |
|
|
656b118826 | |
|
|
f134a44bc7 | |
|
|
5add31ee7a | |
|
|
2d5c453350 | |
|
|
942f978ed2 | |
|
|
52f38a3771 | |
|
|
a24c19c503 | |
|
|
f13a6bf5e4 | |
|
|
52f80cc7ca | |
|
|
a7ebc148e8 | |
|
|
636495e062 | |
|
|
6e735fd431 | |
|
|
671f5e9411 | |
|
|
d9ff19fd30 | |
|
|
8b3ded51b5 | |
|
|
302f6464bb | |
|
|
dabfc38a92 |
|
|
@ -35,19 +35,11 @@ jobs:
|
||||||
name: Get Version of NetBox Docker
|
name: Get Version of NetBox Docker
|
||||||
run: echo "version=$(cat VERSION)" >>"$GITHUB_OUTPUT"
|
run: echo "version=$(cat VERSION)" >>"$GITHUB_OUTPUT"
|
||||||
shell: bash
|
shell: bash
|
||||||
- id: qemu-setup
|
- id: check-build-needed
|
||||||
name: Set up QEMU
|
name: Check if the build is needed for '${{ matrix.build_cmd }}'
|
||||||
uses: docker/setup-qemu-action@v3
|
env:
|
||||||
- id: buildx-setup
|
CHECK_ONLY: "true"
|
||||||
name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
- id: docker-build
|
|
||||||
name: Build the image with '${{ matrix.build_cmd }}'
|
|
||||||
run: ${{ matrix.build_cmd }}
|
run: ${{ matrix.build_cmd }}
|
||||||
- id: test-image
|
|
||||||
name: Test the image
|
|
||||||
run: IMAGE="${FINAL_DOCKER_TAG}" ./test.sh
|
|
||||||
if: steps.docker-build.outputs.skipped != 'true'
|
|
||||||
# docker.io
|
# docker.io
|
||||||
- id: docker-io-login
|
- id: docker-io-login
|
||||||
name: Login to docker.io
|
name: Login to docker.io
|
||||||
|
|
@ -56,7 +48,15 @@ jobs:
|
||||||
registry: docker.io
|
registry: docker.io
|
||||||
username: ${{ secrets.dockerhub_username }}
|
username: ${{ secrets.dockerhub_username }}
|
||||||
password: ${{ secrets.dockerhub_password }}
|
password: ${{ secrets.dockerhub_password }}
|
||||||
if: steps.docker-build.outputs.skipped != 'true'
|
if: steps.check-build-needed.outputs.skipped != 'true'
|
||||||
|
- id: buildx-setup
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
with:
|
||||||
|
version: "lab:latest"
|
||||||
|
driver: cloud
|
||||||
|
endpoint: "netboxcommunity/netbox-default"
|
||||||
|
if: steps.check-build-needed.outputs.skipped != 'true'
|
||||||
# quay.io
|
# quay.io
|
||||||
- id: quay-io-login
|
- id: quay-io-login
|
||||||
name: Login to Quay.io
|
name: Login to Quay.io
|
||||||
|
|
@ -65,7 +65,7 @@ jobs:
|
||||||
registry: quay.io
|
registry: quay.io
|
||||||
username: ${{ secrets.quayio_username }}
|
username: ${{ secrets.quayio_username }}
|
||||||
password: ${{ secrets.quayio_password }}
|
password: ${{ secrets.quayio_password }}
|
||||||
if: steps.docker-build.outputs.skipped != 'true'
|
if: steps.check-build-needed.outputs.skipped != 'true'
|
||||||
# ghcr.io
|
# ghcr.io
|
||||||
- id: ghcr-io-login
|
- id: ghcr-io-login
|
||||||
name: Login to GitHub Container Registry
|
name: Login to GitHub Container Registry
|
||||||
|
|
@ -74,11 +74,11 @@ jobs:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
if: steps.docker-build.outputs.skipped != 'true'
|
if: steps.check-build-needed.outputs.skipped != 'true'
|
||||||
- id: build-and-push
|
- id: build-and-push
|
||||||
name: Push the image
|
name: Push the image
|
||||||
run: ${{ matrix.build_cmd }} --push
|
run: ${{ matrix.build_cmd }} --push
|
||||||
if: steps.docker-build.outputs.skipped != 'true'
|
if: steps.check-build-needed.outputs.skipped != 'true'
|
||||||
env:
|
env:
|
||||||
BUILDX_PLATFORM: ${{ matrix.platform }}
|
BUILDX_PLATFORM: ${{ matrix.platform }}
|
||||||
BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }}
|
BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
*.sql.gz
|
*.sql.gz
|
||||||
.netbox
|
.netbox
|
||||||
.python-version
|
.python-version
|
||||||
docker-compose.override.yml
|
|
||||||
*.pem
|
*.pem
|
||||||
configuration/*
|
configuration/*
|
||||||
!configuration/configuration.py
|
!configuration/configuration.py
|
||||||
|
|
|
||||||
12
Dockerfile
12
Dockerfile
|
|
@ -1,5 +1,5 @@
|
||||||
ARG FROM
|
ARG FROM
|
||||||
FROM ${FROM} as builder
|
FROM ${FROM} AS builder
|
||||||
|
|
||||||
RUN export DEBIAN_FRONTEND=noninteractive \
|
RUN export DEBIAN_FRONTEND=noninteractive \
|
||||||
&& apt-get update -qq \
|
&& apt-get update -qq \
|
||||||
|
|
@ -46,7 +46,7 @@ RUN \
|
||||||
###
|
###
|
||||||
|
|
||||||
ARG FROM
|
ARG FROM
|
||||||
FROM ${FROM} as main
|
FROM ${FROM} AS main
|
||||||
|
|
||||||
RUN export DEBIAN_FRONTEND=noninteractive \
|
RUN export DEBIAN_FRONTEND=noninteractive \
|
||||||
&& apt-get update -qq \
|
&& apt-get update -qq \
|
||||||
|
|
@ -64,15 +64,15 @@ RUN export DEBIAN_FRONTEND=noninteractive \
|
||||||
openssl \
|
openssl \
|
||||||
python3 \
|
python3 \
|
||||||
tini \
|
tini \
|
||||||
&& curl --silent --output /etc/apt/keyrings/nginx-keyring.gpg \
|
&& curl --silent --output /usr/share/keyrings/nginx-keyring.gpg \
|
||||||
https://unit.nginx.org/keys/nginx-keyring.gpg \
|
https://unit.nginx.org/keys/nginx-keyring.gpg \
|
||||||
&& echo "deb [signed-by=/etc/apt/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ mantic unit" \
|
&& echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ noble unit" \
|
||||||
> /etc/apt/sources.list.d/unit.list \
|
> /etc/apt/sources.list.d/unit.list \
|
||||||
&& apt-get update -qq \
|
&& apt-get update -qq \
|
||||||
&& apt-get install \
|
&& apt-get install \
|
||||||
--yes -qq --no-install-recommends \
|
--yes -qq --no-install-recommends \
|
||||||
unit=1.32.1-1~mantic \
|
unit=1.33.0-1~noble \
|
||||||
unit-python3.12=1.32.1-1~mantic \
|
unit-python3.12=1.33.0-1~noble \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY --from=builder /opt/netbox/venv /opt/netbox/venv
|
COPY --from=builder /opt/netbox/venv /opt/netbox/venv
|
||||||
|
|
|
||||||
7
build.sh
7
build.sh
|
|
@ -103,6 +103,8 @@ GH_ACTION If defined, special 'echo' statements are enabled that set the
|
||||||
- FINAL_DOCKER_TAG: The final value of the DOCKER_TAG env variable
|
- FINAL_DOCKER_TAG: The final value of the DOCKER_TAG env variable
|
||||||
${_GREEN}Default:${_CLEAR} undefined
|
${_GREEN}Default:${_CLEAR} undefined
|
||||||
|
|
||||||
|
CHECK_ONLY Only checks if the build is needed and sets the GH Action output.
|
||||||
|
|
||||||
${_BOLD}Examples:${_CLEAR}
|
${_BOLD}Examples:${_CLEAR}
|
||||||
|
|
||||||
${0} master
|
${0} master
|
||||||
|
|
@ -355,6 +357,11 @@ else
|
||||||
fi
|
fi
|
||||||
gh_echo "::endgroup::"
|
gh_echo "::endgroup::"
|
||||||
|
|
||||||
|
if [ "${CHECK_ONLY}" = "true" ]; then
|
||||||
|
echo "Only check if build needed was requested. Exiting"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
###
|
###
|
||||||
# Build the image
|
# Build the image
|
||||||
###
|
###
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
services:
|
||||||
|
netbox:
|
||||||
|
ports:
|
||||||
|
- "8000:8080"
|
||||||
|
# If you want the Nginx unit status page visible from the
|
||||||
|
# outside of the container add the following port mapping:
|
||||||
|
# - "8001:8081"
|
||||||
|
# healthcheck:
|
||||||
|
# Time for which the health check can fail after the container is started.
|
||||||
|
# This depends mostly on the performance of your database. On the first start,
|
||||||
|
# when all tables need to be created the start_period should be higher than on
|
||||||
|
# subsequent starts. For the first start after major version upgrades of NetBox
|
||||||
|
# the start_period might also need to be set higher.
|
||||||
|
# Default value in our docker-compose.yml is 60s
|
||||||
|
# start_period: 90s
|
||||||
|
# environment:
|
||||||
|
# SKIP_SUPERUSER: "false"
|
||||||
|
# SUPERUSER_API_TOKEN: ""
|
||||||
|
# SUPERUSER_EMAIL: ""
|
||||||
|
# SUPERUSER_NAME: ""
|
||||||
|
# SUPERUSER_PASSWORD: ""
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
services:
|
services:
|
||||||
netbox: &netbox
|
netbox: &netbox
|
||||||
image: docker.io/netboxcommunity/netbox:${VERSION-v4.1-3.0.0}
|
image: docker.io/netboxcommunity/netbox:${VERSION-v4.1-3.0.2}
|
||||||
depends_on:
|
depends_on:
|
||||||
- postgres
|
- postgres
|
||||||
- redis
|
- redis
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,4 @@ django-auth-ldap==4.8.0
|
||||||
django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.14.4
|
django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.14.4
|
||||||
dulwich==0.22.1
|
dulwich==0.22.1
|
||||||
python3-saml==1.16.0 --no-binary lxml,xmlsec
|
python3-saml==1.16.0 --no-binary lxml,xmlsec
|
||||||
sentry-sdk[django]==2.12.0
|
sentry-sdk[django]==2.14.0
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue