Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/workflows/docker-publish-proxy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Build and publish Docker proxy image

on:
workflow_dispatch

env:
REGISTRY: ghcr.io
SELECTZYME_VERSION: 0.0.5
IMAGE_NAME: ${{ github.repository }}

jobs:
build:
runs-on: ubuntu-latest

permissions:
contents: read
packages: write
id-token: write
Comment on lines +9 to +18
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (bug_risk): The published proxy image name does not match the image reference used in docker-compose.

In docker-compose.yml the proxy service uses ghcr.io/ipb-halle/selectzyme-proxy:0.0.5, but this workflow publishes to ghcr.io/<org>/<repo>:0.0.5 via ${{ github.repository }}. The proxy image therefore won’t be published under the name used by compose. Please either set IMAGE_NAME explicitly to ipb-halle/selectzyme-proxy or override images: so it matches the compose reference.


steps:
- name: Check out repository
uses: actions/checkout@v5

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags:
type=raw,value=${{ env.SELECTZYME_VERSION }}
labels: |
org.opencontainers.image.url=${{ github.server_url }}/${{ github.repository }}
org.opencontainers.image.title=selectzyme-proxy
org.opencontainers.image.description=SelectZyme Web Application proxy
org.opencontainers.image.licenses=MIT
org.opencontainers.image.version=${{ env.SELECTZYME_VERSION }}

- name: Build and push Docker proxy image
uses: docker/build-push-action@v6
with:
context: ./nginx
# target: final # if there is a staged building process
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
no-cache: true
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: Build and publish Docker image
name: Build and publish Docker selectzyme image

on:
workflow_dispatch

env:
REGISTRY: ghcr.io
SELECTZYME_VERSION: 0.0.4
SELECTZYME_VERSION: 0.0.5
IMAGE_NAME: ${{ github.repository }}

jobs:
Expand Down Expand Up @@ -46,7 +46,7 @@ jobs:
org.opencontainers.image.licenses=MIT
org.opencontainers.image.version=${{ env.SELECTZYME_VERSION }}

- name: Build and push Docker image
- name: Build and push Docker selectzyme image
uses: docker/build-push-action@v6
with:
context: .
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,13 @@ Because of a restricted company network, images (github: packages) are build usi
```mermaid
sequenceDiagram
actor User
participant BP as Biocloud Proxy
participant SDP as Selectzyme Demo Proxy (nginx)
participant SDA as Selectzyme Demo App
participant BP as Infrastructure Proxy
participant SDP as Proxy (nginx)
participant SDA as Selectzyme App

User->>+BP: Request resource
BP->>+SDP: Forward request (e.g., to selectzyme-proxy.selectzyme-network)
SDP->>+SDA: Proxy request to Selectzyme Demo App
SDP->>+SDA: Proxy request to Selectzyme App
SDA-->>-SDP: App response
SDP-->>-BP: Forward response
BP-->>-User: Response
Expand Down
23 changes: 9 additions & 14 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
services:
selectzyme-proxy:
image: nginx:alpine
image: ghcr.io/ipb-halle/selectzyme-proxy:0.0.5 # from docker.publish-proxy.yml org.opencontainers.image.title=selectzyme-proxy
# Port forwarding disabled for production runs (profiles or docker-compose.override.yml can be used alternatively)
#ports:
# - "80:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
- ./nginx/index.html:/usr/share/nginx/html/selectzyme/index.html
- ./nginx/bootstrap.min.css:/usr/share/nginx/html/selectzyme/bootstrap.min.css
- ./assets/:/usr/share/nginx/html/selectzyme/assets/
# ports:
# - "80:80"
depends_on:
- selectzyme-demo
- selectzyme-petase
Expand All @@ -20,47 +15,47 @@ services:
- selectzyme-network

selectzyme-demo:
image: ghcr.io/ipb-halle/selectzyme-app:0.0.4
image: ghcr.io/ipb-halle/selectzyme-app:0.0.5
environment:
- DASH_URL_BASE_PATHNAME=/selectzyme/demo/
- SELECTZYME_DATASET=demo
networks:
- selectzyme-network

selectzyme-petase:
image: ghcr.io/ipb-halle/selectzyme-app:0.0.4
image: ghcr.io/ipb-halle/selectzyme-app:0.0.5
environment:
- DASH_URL_BASE_PATHNAME=/selectzyme/petase/
- SELECTZYME_DATASET=petase
networks:
- selectzyme-network

selectzyme-ired:
image: ghcr.io/ipb-halle/selectzyme-app:0.0.4
image: ghcr.io/ipb-halle/selectzyme-app:0.0.5
environment:
- DASH_URL_BASE_PATHNAME=/selectzyme/ired/
- SELECTZYME_DATASET=ired
networks:
- selectzyme-network

selectzyme-lpor:
image: ghcr.io/ipb-halle/selectzyme-app:0.0.4
image: ghcr.io/ipb-halle/selectzyme-app:0.0.5
environment:
- DASH_URL_BASE_PATHNAME=/selectzyme/lpor/
- SELECTZYME_DATASET=lpor
networks:
- selectzyme-network

selectzyme-lov:
image: ghcr.io/ipb-halle/selectzyme-app:0.0.4
image: ghcr.io/ipb-halle/selectzyme-app:0.0.5
environment:
- DASH_URL_BASE_PATHNAME=/selectzyme/lov/
- SELECTZYME_DATASET=lov
networks:
- selectzyme-network

selectzyme-fmos:
image: ghcr.io/ipb-halle/selectzyme-app:0.0.4
image: ghcr.io/ipb-halle/selectzyme-app:0.0.5
environment:
- DASH_URL_BASE_PATHNAME=/selectzyme/fmos/
- SELECTZYME_DATASET=fmos
Expand Down
8 changes: 8 additions & 0 deletions nginx/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM nginx:alpine

COPY default.conf /etc/nginx/conf.d/default.conf
COPY index.html /usr/share/nginx/html/selectzyme/index.html
COPY bootstrap.min.css /usr/share/nginx/html/selectzyme/bootstrap.min.css
COPY ipb-logo.png /usr/share/nginx/html/selectzyme/ipb-logo.png

# CMD and ENTRYPOINT are inherited from the base image, so we don't need to specify them here unless we want to override them.
2 changes: 1 addition & 1 deletion nginx/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</head>
<body class="bg-light">
<div class="container py-5">
<img src="assets/ipb-logo.png" alt="IPB Logo" style="position: absolute; top: 20px; right: 20px; height: 50px;" />
<img src="ipb-logo.png" alt="IPB Logo" style="position: absolute; top: 20px; right: 20px; height: 50px;" />

<h1 class="mb-4">SelectZyme Analysis Dashboard</h1>
<p>Select a dataset below to explore the analysis results:</p>
Expand Down
Binary file added nginx/ipb-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading