Compare commits

...

32 commits
3.20.7 ... main

Author SHA1 Message Date
a82d1bb047 Update .forgejo/workflows/build.yml
All checks were successful
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Successful in 8s
docker-build / cron (push) Successful in 8s
2025-06-22 14:47:11 +02:00
afda9d5414 Update .forgejo/workflows/build.yml
Some checks failed
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Failing after 6s
docker-build / cron (push) Has been skipped
2025-06-22 14:45:49 +02:00
523b49acb1 Update .forgejo/workflows/build.yml 2025-06-22 14:45:30 +02:00
ecc81f1f12 Update .forgejo/workflows/build.yml
Some checks failed
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Failing after 0s
docker-build / cron (push) Has been skipped
2025-06-22 14:40:21 +02:00
1a7829f6ed Update .forgejo/workflows/build.yml
Some checks failed
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Failing after 1s
docker-build / cron (push) Has been skipped
2025-06-22 14:39:15 +02:00
ed0e028ade Update .forgejo/workflows/build.yml 2025-06-22 14:38:34 +02:00
b839662c83 Update .forgejo/workflows/build.yml
Some checks failed
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Failing after 0s
docker-build / cron (push) Has been skipped
2025-06-22 14:37:03 +02:00
c77245ec85 Update .forgejo/workflows/docker-build.yml
Some checks failed
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Failing after 0s
docker-build / cron (push) Has been skipped
2025-06-22 14:36:05 +02:00
bb42d0c786 Merge pull request 'Add .forgejo/workflows/docker-build.yml' (#2) from holzi1005-patch-1 into main
Some checks failed
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Failing after 0s
docker-build / cron (push) Has been skipped
Reviewed-on: #2
2025-06-22 14:34:16 +02:00
30c682209a Update .forgejo/workflows/build.yml 2025-06-22 14:33:49 +02:00
fbceb71ab4 Add .forgejo/workflows/docker-build.yml 2025-06-22 14:31:47 +02:00
a70d9e73dc Update .forgejo/workflows/build.yml
Some checks failed
docker-build / release (push) Successful in 5s
docker-build / docker-build (alpine-php8-webserver) (push) Has been cancelled
docker-build / docker-build (alpine-php8-cron-webserver) (push) Has been cancelled
2025-06-22 14:27:13 +02:00
173ee39e69 Update rootfs/etc/nginx/nginx.conf
All checks were successful
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Successful in 10s
docker-build / cron (push) Successful in 13s
2025-06-22 12:10:37 +02:00
21865b2684 Update .forgejo/workflows/build.yml
All checks were successful
docker-build / release (push) Successful in 6s
docker-build / webserver (push) Successful in 8s
docker-build / cron (push) Successful in 9s
2025-06-22 11:47:40 +02:00
8ed1b9a778 Update .forgejo/workflows/build.yml
All checks were successful
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Successful in 8s
docker-build / cron (push) Successful in 13s
2025-06-22 11:45:31 +02:00
ab108102d4 Update .forgejo/workflows/build.yml
All checks were successful
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Successful in 9s
docker-build / cron (push) Successful in 8s
2025-06-22 11:34:46 +02:00
d44760b02e Update .forgejo/workflows/build.yml
All checks were successful
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Successful in 9s
docker-build / cron (push) Successful in 8s
2025-06-22 11:31:18 +02:00
9606857714 Update .forgejo/workflows/build.yml
All checks were successful
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Successful in 8s
docker-build / cron (push) Successful in 9s
2025-06-22 11:22:14 +02:00
8ccd3b3d6f Update .forgejo/workflows/build.yml
Some checks failed
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Successful in 9s
docker-build / cron (push) Failing after 7s
2025-06-22 11:20:29 +02:00
b9045f12f9 Update .forgejo/workflows/build.yml
Some checks failed
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Successful in 9s
docker-build / cron (push) Failing after 25s
2025-06-22 11:18:08 +02:00
539e845ad0 Update .forgejo/workflows/build.yml
Some checks failed
docker-build / release (push) Successful in 5s
docker-build / webserver (push) Successful in 9s
docker-build / cron (push) Failing after 39s
2025-06-22 11:11:05 +02:00
db37c3fb1b Update rootfs/etc/nginx/nginx.conf
All checks were successful
docker-build / release (push) Successful in 6s
docker-build / docker-build (push) Successful in 15s
2025-06-22 11:00:34 +02:00
c750cba136 Update rootfs/etc/nginx/nginx.conf
All checks were successful
docker-build / release (push) Successful in 5s
docker-build / docker-build (push) Successful in 10s
2025-06-22 10:51:31 +02:00
ec9fcb7842 Update .forgejo/workflows/build.yml
All checks were successful
docker-build / release (push) Successful in 6s
docker-build / docker-build (push) Successful in 10s
2025-06-22 10:39:33 +02:00
157ac30d4e Add .forgejo/workflows/build.yml
All checks were successful
docker-build / release (push) Successful in 6s
docker-build / docker-build (push) Successful in 22s
2025-06-22 09:37:58 +02:00
2d073376d1 Update rootfs/etc/nginx/nginx.conf 2025-06-22 09:22:23 +02:00
e989738aa6 add pm_mode as env 2025-02-28 15:39:17 +01:00
e0f21268b0 update www php-fpm config 2025-02-28 15:21:09 +01:00
4b6ae8ef13 fix dockerfile 2025-02-28 14:42:50 +01:00
8d30dd70a2 Merge pull request 'increase pm ressources' (#1) from hotfix/increase-pm_worker into main
Reviewed-on: #1
Reviewed-by: emanuel.holzmann <emanuel.holzmann@noreply.localhost>
2025-02-28 14:36:59 +01:00
d11499928f Merge branch 'main' into hotfix/increase-pm_worker 2025-02-28 10:41:43 +01:00
75b588935f increase pm ressources 2025-02-28 10:35:05 +01:00
5 changed files with 169 additions and 5 deletions

View file

@ -0,0 +1,107 @@
name: docker-build
on:
push:
branches:
- main
permissions: write-all
jobs:
release:
runs-on: docker
outputs:
version: ${{ steps.version.outputs.version }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Define next tag
uses: https://github.com/paulhatch/semantic-version@v5.0.2
id: version
with:
tag_prefix: ""
major_pattern: "(MAJOR)"
minor_pattern: "(MINOR)"
change_path: .
version_format: "${major}.${minor}.${patch}"
- name: Create tag
run: |
git config --global user.name "${GITHUB_ACTOR}"
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git tag "${{ steps.version.outputs.version }}" -m "[forgejo-action-tag]"
git push origin --tags
webserver:
env:
REPO_NAME: alpine-php8-webserver
needs:
- release
outputs:
version: ${{ needs.release.outputs.version }}
runs-on: host
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
github-server-url: https://git.h2-invent.com
repository: Public-System-Design/${{ env.REPO_NAME }}
ref: main
path: ${{ env.REPO_NAME }}
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: git.h2-invent.com
username: ${{ secrets.FORGEJO_ACTION_PACKAGE_RW_USER }}
password: ${{ secrets.FORGEJO_ACTION_PACKAGE_RW_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: ./${{ env.REPO_NAME }}
push: true
tags: |
git.h2-invent.com/public-system-design/${{ env.REPO_NAME }}:${{ needs.release.outputs.version }}
git.h2-invent.com/public-system-design/${{ env.REPO_NAME }}:latest
build-args: |
VERSION=${{ needs.release.outputs.version }}
cron:
env:
REPO_NAME: alpine-php8-cron-webserver
needs:
- webserver
runs-on: host
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
github-server-url: https://git.h2-invent.com
repository: Public-System-Design/${{ env.REPO_NAME }}
ref: main
path: ${{ env.REPO_NAME }}
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: git.h2-invent.com
username: ${{ secrets.FORGEJO_ACTION_PACKAGE_RW_USER }}
password: ${{ secrets.FORGEJO_ACTION_PACKAGE_RW_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: ./${{ env.REPO_NAME }}
push: true
tags: |
git.h2-invent.com/public-system-design/${{ env.REPO_NAME }}:${{ needs.webserver.outputs.version }}
git.h2-invent.com/public-system-design/${{ env.REPO_NAME }}:latest
build-args: |
VERSION=${{ needs.webserver.outputs.version }}

View file

@ -0,0 +1,40 @@
name: Build and Push Image
description: Builds and pushes a Docker image.
inputs:
repo_name:
description: "Name of the repo (also used as build context path)"
required: true
version:
description: "Version tag"
required: true
jobs:
build:
runs-on: host
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
github-server-url: https://git.h2-invent.com
repository: Public-System-Design/${{ inputs.repo_name }}
ref: main
path: ${{ inputs.repo_name }}
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: git.h2-invent.com
username: ${{ secrets.FORGEJO_ACTION_PACKAGE_RW_USER }}
password: ${{ secrets.FORGEJO_ACTION_PACKAGE_RW_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: ./${{ inputs.repo_name }}
push: true
tags: |
git.h2-invent.com/public-system-design/${{ inputs.repo_name }}:${{ inputs.version }}
git.h2-invent.com/public-system-design/${{ inputs.repo_name }}:latest
build-args: |
VERSION=${{ inputs.version }}

View file

@ -87,8 +87,14 @@ ENTRYPOINT ["/bin/docker-entrypoint.sh"]
HEALTHCHECK --timeout=10s CMD curl --silent --fail http://127.0.0.1:8080/fpm-ping || exit 1
ENV nginx_root_directory=/var/www/html/public \
nginx_fastcgi_read_timeout=100 \
client_max_body_size=2M \
clear_env=no \
pm_mode=dynamic \
pm_start_servers=20 \
pm_min_spare_servers=10 \
pm_max_spare_servers=20 \
pm_max_requests=1000 \
allow_url_fopen=On \
allow_url_include=Off \
display_errors=Off \

View file

@ -57,9 +57,7 @@ http {
index index.php index.html;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.php
try_files $uri $uri/ /index.php?q=$uri&$args;
try_files $uri /index.php$is_args$args;
}
# Redirect server error pages to the static page /50x.html
@ -68,6 +66,14 @@ http {
root /var/lib/nginx/html;
}
location ^~ /theme/ {
alias /var/www/html/public/theme/;
add_header 'Access-Control-Allow-Origin' '*' always;
expires 30d;
access_log off;
try_files $uri =404;
}
# Pass the PHP scripts to PHP-FPM listening on socket
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
@ -76,6 +82,8 @@ http {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_index index.php;
fastcgi_read_timeout ${nginx_fastcgi_read_timeout};
include fastcgi_params;
# Pass the original forwarded_scheme and HTTPS status to the PHP backend

View file

@ -34,7 +34,7 @@ listen.group = nobody
pm.status_path = /fpm-status
; Ondemand process manager
pm = ondemand
pm = $pm_mode
; The number of child processes to be created when pm is set to 'static' and the
; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
@ -46,6 +46,9 @@ pm = ondemand
; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
; Note: This value is mandatory.
pm.max_children = 100
pm.start_servers = $pm_start_servers
pm.min_spare_servers = $pm_min_spare_servers
pm.max_spare_servers = $pm_max_spare_servers
; The number of seconds after which an idle process will be killed.
; Note: Used only when pm is set to 'ondemand'
@ -56,7 +59,7 @@ pm.process_idle_timeout = 10s;
; This can be useful to work around memory leaks in 3rd party libraries. For
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
; Default Value: 0
pm.max_requests = 1000
pm.max_requests = $pm_max_requests
; Make sure the FPM workers can reach the environment variables for configuration
clear_env = $clear_env