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"]