12 Commits
Author SHA1 Message Date
Jonatan Rek 3e4c781ce2 Merge branch 'main' of https://git.steelants.cz/JonatanRek/DOCKER_PHP_BASE
Build - Docker Image - PROD / publish (push) Successful in 13m32s
2026-02-15 18:50:29 +01:00
Jonatan Rek 4706600cb0 Add additional PHP extensions and system dependencies to Dockerfile 2026-02-15 18:50:25 +01:00
JonatanRek 24381ef43f Update queue-statistics command sleep duration to 5 seconds
Build - Docker Image - PROD / publish (push) Successful in 11m21s
2026-02-03 09:25:07 +01:00
JonatanRek 16bd695890 Small Fixes 2026-02-03 09:24:57 +01:00
JonatanRek 7461f0a25e Fixes
Build - Docker Image - PROD / publish (push) Has been cancelled
2026-02-03 09:22:25 +01:00
JonatanRek 305aa9c83d Merge branch 'main' of https://git.steelants.cz/JonatanRek/DOCKER_PHP_BASE
Build - Docker Image - PROD / publish (push) Successful in 11m35s
2026-02-03 08:18:24 +01:00
JonatanRek a9e3ace717 Fix oo cache 2026-02-03 08:18:23 +01:00
Jonatan Rek 85ed62b401 Fix context paths in Docker build configuration
Build - Docker Image - PROD / publish (push) Failing after 10m42s
2026-01-29 15:37:40 +01:00
Jonatan Rek 34cc835f1c Fixes
Build - Docker Image - PROD / publish (push) Has been cancelled
2026-01-29 15:36:15 +01:00
Jonatan Rek c498df805c Fix
Build - Docker Image - PROD / publish (push) Successful in 11m16s
Build - Docker Image - RC / publish (push) Failing after 22s
2026-01-28 11:16:03 +01:00
Jonatan Rek b6f8151bd4 Fixes
Build - Docker Image - PROD / publish (push) Failing after 8m13s
2026-01-28 10:41:13 +01:00
Jonatan Rek 189dc975bd Refactor Docker setup: move Dockerfiles to respective directories and add supervisor configurations
Build - Docker Image - PROD / publish (push) Has been cancelled
2026-01-28 10:40:10 +01:00
6 changed files with 136 additions and 78 deletions
-66
View File
@@ -1,66 +0,0 @@
name: "Build - Docker Image - RC"
run-name: ${{ gitea.actor }} is runs ci pipeline
on:
push:
branches:
- dev
schedule:
- cron: "0 1 * * *"
concurrency:
group: docker-build-dev
cancel-in-progress: true
jobs:
publish:
runs-on: ubuntu-latest
permissions:
packages: write
container:
image: catthehacker/ubuntu:act-latest
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v1
- uses: docker/login-action@v3
with:
registry: git.steelants.cz
username: ${{ secrets.GITEAUSER }}
password: ${{ secrets.GITEAPASSWD }}
- uses: docker/build-push-action@v6
with:
context: .
push: true
labels: |
org.steelants.image.traffic.version=${{ env.release_version }}
tags: git.steelants.cz/steelants/docker_php_base:dev
# ✅ Notifikace při úspěšném deploymentu
- name: Discord Webhook Success
if: success()
uses: tsickert/discord-webhook@v6.0.0
with:
webhook-url: ${{ secrets.WEBHOOK_URL }}
content: |
✅ Build successful!
Repo: ${{ github.repository }}
Branch: ${{ github.ref_name }}
Commit: ${{ github.sha }}
Version: ${{ env.release_version }}
# ❌ Notifikace při neúspěšném deploymentu
- name: Discord Webhook Failure
if: failure()
uses: tsickert/discord-webhook@v6.0.0
with:
webhook-url: ${{ secrets.WEBHOOK_URL }}
content: |
❌ Build failed!
Repo: ${{ github.repository }}
Branch: ${{ github.ref_name }}
Commit: ${{ github.sha }}
Version: ${{ env.release_version }}
+35 -5
View File
@@ -33,10 +33,8 @@ jobs:
- uses: docker/build-push-action@v6
with:
context: .
context: apache
push: true
labels: |
org.steelants.image.traffic.version=${{ env.release_version }}
tags: git.steelants.cz/steelants/docker_php_base:latest
# ✅ Notifikace při úspěšném deploymentu
@@ -46,7 +44,7 @@ jobs:
with:
webhook-url: ${{ secrets.WEBHOOK_URL }}
content: |
✅ Build successful!
APACHE - Build successful!
Repo: ${{ github.repository }}
Branch: ${{ github.ref_name }}
Commit: ${{ github.sha }}
@@ -59,7 +57,39 @@ jobs:
with:
webhook-url: ${{ secrets.WEBHOOK_URL }}
content: |
❌ Build failed!
APACHE - Build failed!
Repo: ${{ github.repository }}
Branch: ${{ github.ref_name }}
Commit: ${{ github.sha }}
Version: ${{ env.release_version }}
- uses: docker/build-push-action@v6
with:
context: fmp-alpine
push: true
tags: git.steelants.cz/steelants/docker_php_base:fpm-alpine-latest
# ✅ Notifikace při úspěšném deploymentu
- name: Discord Webhook Success
if: success()
uses: tsickert/discord-webhook@v6.0.0
with:
webhook-url: ${{ secrets.WEBHOOK_URL }}
content: |
✅ FMP - ALPINE - Build successful!
Repo: ${{ github.repository }}
Branch: ${{ github.ref_name }}
Commit: ${{ github.sha }}
Version: ${{ env.release_version }}
# ❌ Notifikace při neúspěšném deploymentu
- name: Discord Webhook Failure
if: failure()
uses: tsickert/discord-webhook@v6.0.0
with:
webhook-url: ${{ secrets.WEBHOOK_URL }}
content: |
❌ FMP - ALPINE - Build failed!
Repo: ${{ github.repository }}
Branch: ${{ github.ref_name }}
Commit: ${{ github.sha }}
+15 -4
View File
@@ -23,6 +23,9 @@ RUN --mount=type=cache,target=/var/cache/apt \
libzip-dev \
zip \
unzip \
zlib1g-dev \
libicu-dev \
g++ \
nodejs \
npm \
cron \
@@ -51,7 +54,12 @@ RUN --mount=type=cache,target=/var/cache/apt \
# Enable Apache mod_rewrite for URL rewriting
RUN a2enmod rewrite
RUN docker-php-ext-configure intl
# Install PHP extensions
RUN docker-php-ext-configure \
opcache --enable-opcache
RUN docker-php-ext-install \
pdo_mysql \
pgsql \
@@ -62,9 +70,12 @@ RUN docker-php-ext-install \
sockets\
bcmath \
soap \
gd
gd \
intl
RUN docker-php-ext-enable imagick
RUN docker-php-ext-enable \
imagick \
opcache
# PHP
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_FILE" && \
@@ -74,7 +85,7 @@ RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_FILE" && \
printf '[Date]\ndate.timezone="%s"\n', $TZ > "$PHP_INI_DIR/conf.d/tzone.ini"
#OPCACHE
RUN echo '\n\
RUN echo "\n\
[opcache]\n\
opcache.enable=1\n\
opcache.revalidate_freq=0\n\
@@ -83,7 +94,7 @@ opcache.max_accelerated_files=${PHP_OPCACHE_MAX_ACCELERATED_FILES}\n\
opcache.memory_consumption=${PHP_OPCACHE_MEMORY_CONSUMPTION}\n\
opcache.max_wasted_percentage=${PHP_OPCACHE_MAX_WASTED_PERCENTAGE}\n\
opcache.interned_strings_buffer=16\n\
opcache.fast_shutdown=1' >> "$PHP_INI_DIR/conf.d/opcache.ini"
opcache.fast_shutdown=1" >> "$PHP_INI_DIR/conf.d/opcache.ini"
#SUPERVISORD
RUN mkdir -p /var/log/supervisor
@@ -1,19 +1,19 @@
[program:queue-default]
command=/usr/local/bin/php /var/www/html/artisan queue:work --queue=default,importstatistics
command=/usr/local/bin/php /var/www/html/artisan queue:work --sleep=3 --tries=3 --queue=default,importstatistics
user=www-data
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/queue-default.log
[program:queue-statistics]
command=/usr/local/bin/php /var/www/html/artisan queue:work --queue=statistics
command=/usr/local/bin/php /var/www/html/artisan queue:work --sleep=5 --tries=3 --queue=statistics
user=www-data
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/queue-statistics.log
[program:queue-detections]
command=/usr/local/bin/php /var/www/html/artisan queue:work --queue=detections
command=/usr/local/bin/php /var/www/html/artisan queue:work --sleep=3 --tries=3 --queue=detections
user=www-data
autostart=true
autorestart=true
+83
View File
@@ -0,0 +1,83 @@
FROM php:8.4-fpm-alpine
ENV TZ="Europe/Prague" \
PHP_OPCACHE_ENABLE=1 \
PHP_OPCACHE_VALIDATE_TIMESTAMPS=0 \
PHP_OPCACHE_REVALIDATE_FREQ=0 \
PHP_OPCACHE_MEMORY_CONSUMPTION=192 \
PHP_OPCACHE_MAX_ACCELERATED_FILES=20000 \
PHP_OPCACHE_MAX_WASTED_PERCENTAGE=10 \
PHP_OPCACHE_INTERNED_STRINGS_BUFFER=16 \
APP_ENV=production \
APP_DEBUG=false
RUN apk add --no-cache \
tzdata \
bash \
ca-certificates \
libpq \
libzip \
imagemagick \
imagemagick-dev \
librsvg \
freetype \
libjpeg-turbo \
libpng \
icu \
oniguruma \
libxml2
RUN apk add --no-cache --virtual .build-deps \
$PHPIZE_DEPS \
postgresql-dev \
libzip-dev \
freetype-dev \
libjpeg-turbo-dev \
libpng-dev \
icu-dev \
libxml2-dev \
linux-headers
RUN docker-php-ext-configure \
gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) \
pdo_mysql \
pdo_pgsql \
pgsql \
zip \
bcmath \
soap \
gd \
intl \
opcache \
sockets \
pcntl
RUN pecl install imagick \
&& docker-php-ext-enable imagick
RUN apk del .build-deps
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" \
&& echo "date.timezone=${TZ}" > "$PHP_INI_DIR/conf.d/99-timezone.ini"
RUN { \
echo "memory_limit=256M"; \
echo "upload_max_filesize=100M"; \
echo "post_max_size=100M"; \
echo "realpath_cache_size=4096K"; \
echo "realpath_cache_ttl=600"; \
} > "$PHP_INI_DIR/conf.d/99-laravel.ini"
RUN { \
echo "[opcache]"; \
echo "opcache.enable=${PHP_OPCACHE_ENABLE}"; \
echo "opcache.enable_cli=0"; \
echo "opcache.validate_timestamps=${PHP_OPCACHE_VALIDATE_TIMESTAMPS}"; \
echo "opcache.revalidate_freq=${PHP_OPCACHE_REVALIDATE_FREQ}"; \
echo "opcache.memory_consumption=${PHP_OPCACHE_MEMORY_CONSUMPTION}"; \
echo "opcache.interned_strings_buffer=${PHP_OPCACHE_INTERNED_STRINGS_BUFFER}"; \
echo "opcache.max_accelerated_files=${PHP_OPCACHE_MAX_ACCELERATED_FILES}"; \
echo "opcache.max_wasted_percentage=${PHP_OPCACHE_MAX_WASTED_PERCENTAGE}"; \
echo "opcache.save_comments=1"; \
} > "$PHP_INI_DIR/conf.d/10-opcache.ini"