diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..c31e1cc1 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +Dockerfile + +/build/ +.waf-*-*/ +.waf3-*-*/ +.lock-waf* + +/VERSION.info diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index d11a6aed..3caa6086 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -15,10 +15,9 @@ permissions: env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} jobs: - publish: + nfd: runs-on: ubuntu-latest steps: - name: Checkout repository @@ -37,7 +36,7 @@ jobs: id: meta uses: docker/metadata-action@v5 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + images: ${{ env.REGISTRY }}/${{ github.repository_owner }}/nfd flavor: latest=true - name: Build and push Docker image @@ -48,3 +47,35 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + + nfd-status-http-server: + needs: nfd + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Login to ${{ env.REGISTRY }} + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ github.repository_owner }}/nfd-status-http-server + flavor: latest=true + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: ./tools + file: ./tools/Dockerfile.nfd-status-http-server + pull: true + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/Dockerfile b/Dockerfile index 1d0515a7..63e9aa5e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,6 +27,9 @@ COPY --from=builder /usr/lib/libndn-cxx.so* /usr/lib/ COPY --from=builder /usr/bin/nfd /usr/bin/ COPY --from=builder /usr/bin/nfdc /usr/bin/ +COPY --from=builder /usr/bin/nfd-status-http-server /usr/bin/ +COPY --from=builder /usr/share/ndn/ /usr/share/ndn/ + VOLUME /config VOLUME /run/nfd diff --git a/tools/Dockerfile.nfd-status-http-server b/tools/Dockerfile.nfd-status-http-server new file mode 100644 index 00000000..62545acb --- /dev/null +++ b/tools/Dockerfile.nfd-status-http-server @@ -0,0 +1,12 @@ +FROM ghcr.io/named-data/nfd:latest + +RUN apt-get update \ + && apt-get install -y --no-install-recommends python3 \ + && rm -rf /var/lib/apt/lists/* + +VOLUME /run/nfd + +EXPOSE 8080/tcp + +ENTRYPOINT ["/usr/bin/nfd-status-http-server"] +CMD ["--address", "0.0.0.0", "--port", "8080"]