migrate from drone to gitea-runner
Build Container Image / buildamd64 (push) Successful in 1m21s Details
Build Container Image / packageamd64 (push) Successful in 26s Details
Build Container Image / publishamd64 (push) Successful in 38s Details
Build Container Image / buildarm64 (push) Successful in 2m35s Details
Build Container Image / packagearm64 (push) Successful in 25s Details
Build Container Image / manifestpkg (push) Successful in 12s Details
Build Container Image / publisharm64 (push) Successful in 28s Details
Build Container Image / manifesthub (push) Successful in 17s Details

This commit is contained in:
Daniel Wolf 2023-05-01 13:52:40 -04:00
parent da12782d27
commit d7563aed15
Signed by: nephatrine
GPG Key ID: 59D70EC2E4AAB4D0
7 changed files with 165 additions and 85 deletions

View File

@ -1,5 +1,6 @@
.drone.yml .drone.yml
.git .git
.gitea
.gitignore .gitignore
LICENSE.md LICENSE.md
README.md README.md

View File

@ -1,66 +0,0 @@
---
kind: pipeline
type: exec
name: default
platform:
os: linux
arch: amd64
steps:
- name: build
environment:
PDR_USER:
from_secret: docker-user-pdr
PDR_PASS:
from_secret: docker-pass-pdr
commands:
- docker build -t pdr.nephatrine.net/nephatrine/nginx-h5ai:cached --target builder .
- docker build -t pdr.nephatrine.net/nephatrine/nginx-h5ai:latest .
- docker login -p "$PDR_PASS" -u "$PDR_USER" pdr.nephatrine.net
- docker push pdr.nephatrine.net/nephatrine/nginx-h5ai:latest
- docker logout pdr.nephatrine.net
- name: publish
environment:
DOCKER_USER:
from_secret: docker-user
DOCKER_PASS:
from_secret: docker-pass
commands:
- docker tag pdr.nephatrine.net/nephatrine/nginx-h5ai:latest nephatrine/nginx-h5ai:latest
- docker login -p "$DOCKER_PASS" -u "$DOCKER_USER"
- docker push -a nephatrine/nginx-h5ai
- docker logout
depends_on:
- build
---
kind: pipeline
name: notify
steps:
- name: notify-status
image: appleboy/drone-discord
failure: ignore
settings:
avatar_url: https://nephatrine.net/images/buttons/drone-ci.png
message: "Build of **[{{repo.name}}:{{commit.branch}}](<https://code.nephatrine.net/nephatrine/{{repo.name}}/src/branch/{{commit.branch}}>)** returned [{{build.status}}](<{{build.link}}>)."
username: DroneCI
webhook_id:
from_secret: wh-infra-id
webhook_token:
from_secret: wh-infra-tok
depends_on:
- default
trigger:
status:
- success
- failure
---
kind: signature
hmac: d7774cd61d67081b28130ce74c567ec5045e030e95dd5df70f810ef3d9ce5039
...

140
.gitea/workflows/build.yaml Normal file
View File

@ -0,0 +1,140 @@
name: Build Container Image
run-name: ${{ gitea.actor }} pushed to ${{ gitea.repository }}:${{ gitea.ref_name }}
on: [push, workflow_call]
jobs:
buildamd64:
if: gitea.repository_owner == 'NephNET' && !contains(github.event.head_commit.message, '#noci')
runs-on: nephnet
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Docker Build
run: |
docker build --pull -t code.nephatrine.net/nephnet/nginx-h5ai:${{ gitea.ref_name }}-cached --target builder ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/nginx-h5ai:${{ gitea.ref_name }}-amd64 ${{ gitea.workspace }}
- name: Notify Discord
uses: actions/discord-status@v1
if: always()
with:
title: "Container Build (X86_64)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
buildarm64:
if: gitea.repository_owner == 'NephNET' && !contains(github.event.head_commit.message, '#noci')
runs-on: nephnet-arm64
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Docker Build
run: |
docker build --pull -t code.nephatrine.net/nephnet/nginx-h5ai:${{ gitea.ref_name }}-cached --target builder ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/nginx-h5ai:${{ gitea.ref_name }}-arm64v8 ${{ gitea.workspace }}
- name: Notify Discord
uses: actions/discord-status@v1
if: always()
with:
title: "Container Build (AARCH64)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
packageamd64:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildamd64]
runs-on: nephnet
steps:
- name: Docker Login
uses: actions/docker-login@v2
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
run: docker push code.nephatrine.net/nephnet/nginx-h5ai:${{ gitea.ref_name }}-amd64
packagearm64:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildarm64]
runs-on: nephnet-arm64
steps:
- name: Docker Login
uses: actions/docker-login@v2
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
run: docker push code.nephatrine.net/nephnet/nginx-h5ai:${{ gitea.ref_name }}-arm64v8
manifestpkg:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [packageamd64, packagearm64]
runs-on: nephnet
steps:
- name: Docker Login
uses: actions/docker-login@v2
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Manifest
run: |
docker manifest create code.nephatrine.net/nephnet/nginx-h5ai:${{ gitea.ref_name }} --amend code.nephatrine.net/nephnet/nginx-h5ai:${{ gitea.ref_name }}-amd64 --amend code.nephatrine.net/nephnet/nginx-h5ai:${{ gitea.ref_name }}-arm64v8
docker manifest push --purge code.nephatrine.net/nephnet/nginx-h5ai:${{ gitea.ref_name }}
publishamd64:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildamd64]
runs-on: nephnet
steps:
- name: Check Base Image
if: github.event_name != 'push'
uses: actions/docker-base-image-check@v1.2.1
id: checkbase
with:
base-image: nephatrine/nginx-php:latest-amd64
image: nephatrine/nginx-h5ai:latest-amd64
- name: Docker Login
uses: actions/docker-login@v2
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Docker Push
run: |
docker tag code.nephatrine.net/nephnet/nginx-h5ai:master-amd64 nephatrine/nginx-h5ai:latest-amd64
docker push nephatrine/nginx-h5ai:latest-amd64
- name: Notify Discord
if: github.event_name == 'push' || steps.checkbase.outputs.needs-updating == 'true'
uses: actions/discord-status@v1
with:
title: "DockerHub: nginx-h5ai"
description: "The container image was pushed to [DockerHub](https://hub.docker.com/repository/docker/nephatrine/nginx-h5ai/general).\nPull `nephatrine/nginx-h5ai:latest-amd64` for the newest image."
nodetail: true
webhook: ${{ secrets.DISCORD_WEBHOOK_PACKAGE }}
publisharm64:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildarm64]
runs-on: nephnet-arm64
steps:
- name: Docker Login
uses: actions/docker-login@v2
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Docker Push
run: |
docker tag code.nephatrine.net/nephnet/nginx-h5ai:master-arm64v8 nephatrine/nginx-h5ai:latest-arm64v8
docker push nephatrine/nginx-h5ai:latest-arm64v8
manifesthub:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [publishamd64, publisharm64]
runs-on: nephnet
steps:
- name: Docker Login
uses: actions/docker-login@v2
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Docker Manifest
run: |
docker manifest create nephatrine/nginx-h5ai:8.2.6 --amend nephatrine/nginx-h5ai:latest-amd64 --amend nephatrine/nginx-h5ai:latest-arm64v8
docker manifest create nephatrine/nginx-h5ai:8.2 --amend nephatrine/nginx-h5ai:latest-amd64 --amend nephatrine/nginx-h5ai:latest-arm64v8
docker manifest create nephatrine/nginx-h5ai:8 --amend nephatrine/nginx-h5ai:latest-amd64 --amend nephatrine/nginx-h5ai:latest-arm64v8
docker manifest create nephatrine/nginx-h5ai:latest --amend nephatrine/nginx-h5ai:latest-amd64 --amend nephatrine/nginx-h5ai:latest-arm64v8
docker manifest push --purge nephatrine/nginx-h5ai:8.2.6
docker manifest push --purge nephatrine/nginx-h5ai:8.2
docker manifest push --purge nephatrine/nginx-h5ai:8
docker manifest push --purge nephatrine/nginx-h5ai:latest

View File

@ -0,0 +1,14 @@
name: Build Container Image
run-name: ${{ gitea.actor }} pushed to ${{ gitea.repository }}:${{ gitea.ref_name }}
on:
pull_request:
types: [ opened, synchronize, ready_for_review ]
jobs:
build:
if: gitea.actor == 'nephatrine' && gitea.event.pull_request.draft == false
runs-on: nephnet
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Docker Build
run: docker build --pull ${{ gitea.workspace }}

View File

@ -1,4 +1,4 @@
FROM nephatrine/nxbuilder:nodejs AS builder FROM nephatrine/nxbuilder:alpine AS builder
ARG H5AI_VERSION=0.31.0 ARG H5AI_VERSION=0.31.0
RUN git -C /root clone -b "$H5AI_VERSION" --single-branch --depth=1 https://github.com/glubsy/h5ai.git RUN git -C /root clone -b "$H5AI_VERSION" --single-branch --depth=1 https://github.com/glubsy/h5ai.git

View File

@ -1,4 +1,4 @@
Copyright © 2021 Daniel Wolf <<nephatrine@gmail.com>> Copyright © 2023 Daniel Wolf <<nephatrine@gmail.com>>
**Permission to use, copy, modify, and distribute this software for any **Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above purpose with or without fee is hereby granted, provided that the above

View File

@ -1,9 +1,7 @@
[Git](https://code.nephatrine.net/nephatrine/docker-nginx-h5ai/src/branch/master) | [Git](https://code.nephatrine.net/NephNET/docker-nginx-h5ai/src/branch/master) |
[Docker](https://hub.docker.com/r/nephatrine/nginx-h5ai/) | [Docker](https://hub.docker.com/r/nephatrine/nginx-h5ai/) |
[unRAID](https://code.nephatrine.net/nephatrine/unraid-containers) [unRAID](https://code.nephatrine.net/nephatrine/unraid-containers)
[![Build Status](https://ci.nephatrine.net/api/badges/nephatrine/docker-nginx-h5ai/status.svg?ref=refs/heads/master)](https://ci.nephatrine.net/nephatrine/docker-nginx-h5ai)
# H5AI Web Index # H5AI Web Index
This docker container manages the NGINX application with the H5AI PHP web This docker container manages the NGINX application with the H5AI PHP web
@ -15,17 +13,13 @@ lock them down via the NGINX config or use a container that is not publicly
accessible in the first place. accessible in the first place.
If using this as a standalone web server, you can configure TLS the same way as If using this as a standalone web server, you can configure TLS the same way as
the [nginx-ssl](https://hub.docker.com/r/nephatrine/nginx-ssl/) container. If the [nginx-ssl](https://code.nephatrine.net/NephNET/docker-nginx-ssl) container.
part of a larger envinronment, we suggest using a separate container as a If part of a larger envinronment, we suggest using a separate container as a
reverse proxy server and handle TLS there rather than here. reverse proxy server and handle TLS there instead.
- [Alpine Linux](https://alpinelinux.org/) - [Alpine Linux](https://alpinelinux.org/) w/ [S6 Overlay](https://github.com/just-containers/s6-overlay)
- [Skarnet Software](https://skarnet.org/software/) - [NGINX](https://www.nginx.com/) w/ [CertBot](https://certbot.eff.org/)
- [S6 Overlay](https://github.com/just-containers/s6-overlay) - [PHP](https://www.php.net/) w/ [H5AI](https://larsjung.de/h5ai/)
- [CertBot](https://certbot.eff.org/)
- [NGINX](https://www.nginx.com/)
- [PHP](https://www.php.net/)
- [H5AI](https://larsjung.de/h5ai/)
You can spin up a quick temporary test container like this: You can spin up a quick temporary test container like this:
@ -33,14 +27,11 @@ You can spin up a quick temporary test container like this:
docker run --rm -p 80:80 -it nephatrine/nginx-h5ai:latest /bin/bash docker run --rm -p 80:80 -it nephatrine/nginx-h5ai:latest /bin/bash
~~~ ~~~
This container is primarily intended to be used as a base container for PHP web
applications.
**Remember to change the password in the h5ai configuration as the info page might expose information about your server that you do not want exposed.** **Remember to change the password in the h5ai configuration as the info page might expose information about your server that you do not want exposed.**
## Docker Tags ## Docker Tags
- **nephatrine/nginx-h5ai:latest**: H5AI 0.31.0-glubsy / PHP 8.x / NGINX Mainline / Alpine Latest - **nephatrine/nginx-h5ai:latest**: H5AI 0.31.0-glubsy / Alpine Latest
## Configuration Variables ## Configuration Variables