add conatiner for webserver

This commit is contained in:
2025-08-25 21:00:35 +02:00
parent c47cf77dbd
commit ae73f21f67
5 changed files with 310 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
on:
push:
tags: "container-*"
env:
REGISTRY: git.gay
IMAGE_NAME: ${{ github.repository }}
# There is a single job in this workflow. It's configured to run on the latest
# available version of Ubuntu.
jobs:
build-and-push-image:
runs-on: gay_elf_runner
steps:
- name: Checkout repository
uses: https://code.forgejo.org/actions/checkout@v4
# Uses the `docker/login-action` action to log in to the Container
# registry registry using the account and password that will publish the
# packages. Once published, the packages are scoped to the account defined
# here.
- name: Log in to the Container registry
uses: https://code.forgejo.org/docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.REGISTRY_TOKEN }}
# This step uses [docker/metadata-action](https://code.forgejo.org/docker/metadata-action#about)
# to extract tags and labels that will be applied to the specified image.
# The `id` "meta" allows the output of this step to be referenced in a
# subsequent step. The `images` value provides the base name for the tags
# and labels.
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: https://code.forgejo.org/docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
latest
# This step uses the `docker/build-push-action` action to build the image,
# based on your repository's `Dockerfile`. If the build succeeds, it
# pushes the image to GitHub Packages.
# It uses the `context` parameter to define the build's context as the set
# of files located in the specified path. For more information, see
# "[Usage](https://code.forgejo.org/docker/build-push-action#usage)" in
# the README of the `docker/build-push-action` repository.
# It uses the `tags` and `labels` parameters to tag and label the image
# with the output from the "meta" step.
- name: Build and push Docker image
uses: https://code.forgejo.org/docker/build-push-action@v6
with:
# the path to the container files (the `Dockerfile`)
context: docker
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}