Add Dockerfile for nfd-status-http-server
Change-Id: I87349b2cf351c7323d8511677ce7f4a31d944387
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..c31e1cc
--- /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 d11a6ae..3caa608 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -15,10 +15,9 @@
env:
REGISTRY: ghcr.io
- IMAGE_NAME: ${{ github.repository }}
jobs:
- publish:
+ nfd:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
@@ -37,7 +36,7 @@
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 @@
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 1d0515a..63e9aa5 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -27,6 +27,9 @@
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 0000000..62545ac
--- /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"]