Compare commits
19 Commits
Author | SHA1 | Date | |
---|---|---|---|
27bf52cf3e | |||
5dea11c4d4 | |||
35c19d0fc8 | |||
cd42632628 | |||
09c897aa22 | |||
656b118826 | |||
f134a44bc7 | |||
5add31ee7a | |||
2d5c453350 | |||
942f978ed2 | |||
52f38a3771 | |||
a24c19c503 | |||
f13a6bf5e4 | |||
52f80cc7ca | |||
a7ebc148e8 | |||
636495e062 | |||
6e735fd431 | |||
671f5e9411 | |||
d9ff19fd30 |
32
.github/workflows/release.yml
vendored
32
.github/workflows/release.yml
vendored
@ -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 }}
|
||||||
|
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
|
||||||
###
|
###
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user