diff --git a/.github/workflows/deploy-container-image.yaml b/.github/workflows/deploy-container-image.yaml new file mode 100644 index 0000000000..4bd56bf9ee --- /dev/null +++ b/.github/workflows/deploy-container-image.yaml @@ -0,0 +1,65 @@ +name: Publish container image + +on: + push: + branches-ignore: + - 'dependabot/**' + pull_request_target: + types: + - opened + - synchronize + +jobs: + container-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + pull-requests: write + steps: + - uses: actions/checkout@v4 + + - run: echo "github.actor = ${{ github.actor }}" + + - name: Log in to the container registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + + - name: Build and push images + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Add comment + if: github.event_name == 'pull_request_target' + uses: thollander/actions-comment-pull-request@v2 + with: + comment_tag: container-image + message: | + Use `docker` or `podman` to test this pull request locally. + + Local test with mock data + ``` + podman run --rm -it -p 127.0.0.1:3000:3000 ${{ steps.meta.outputs.tags }} + ``` + + Proxy data from develop.opencast.org + ``` + podman run --rm -it -p 127.0.0.1:3000:3000 -e PROXY_TARGET=https://develop.opencast.org ${{ steps.meta.outputs.tags }} + ``` + + It may take a few seconds for the interface to spin up. + It will then be available at http://127.0.0.1:3000. + For more options you can pass on to the proxy, take a look at the `README.md`. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..2782425b1f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM node:20 +EXPOSE 3000 + +COPY . /admin-interface +WORKDIR /admin-interface + +RUN npm ci + +ENV CI true +CMD [ "npm", "start" ]