chore(docker): dockerize app, add workflow to push image on gitea registry
Some checks failed
Build and Push Docker Images / Build app image (push) Failing after 3m4s
Build and Push Docker Images / Build database image (push) Failing after 15s

This commit is contained in:
thibaud-leclere
2026-03-28 09:22:47 +01:00
parent a196fac6c6
commit 21b0f681be
12 changed files with 285 additions and 84 deletions

54
docker/app/Dockerfile Normal file
View File

@@ -0,0 +1,54 @@
FROM dunglas/frankenphp:php8.4-alpine AS base
RUN install-php-extensions \
intl \
opcache \
pdo_pgsql \
zip
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
WORKDIR /app
###
# Dev stage
###
FROM base AS dev
COPY composer.json composer.lock symfony.lock ./
RUN composer install --no-scripts --no-autoloader --prefer-dist
COPY . .
RUN composer dump-autoload
ENV APP_ENV=dev \
SERVER_NAME=":80" \
POSTGRES_HOST=database \
POSTGRES_PORT=5432 \
POSTGRES_VERSION=16 \
POSTGRES_DB=app \
POSTGRES_USER=app \
POSTGRES_PASSWORD=pwd
###
# Prod stage
###
FROM base AS prod
COPY composer.json composer.lock symfony.lock ./
RUN composer install --no-dev --no-scripts --no-autoloader --prefer-dist
COPY . .
RUN APP_ENV=prod composer dump-autoload --classmap-authoritative \
&& APP_ENV=prod composer run-script post-install-cmd \
&& chown -R www-data:www-data var/
ENV APP_ENV=prod \
SERVER_NAME=localhost \
POSTGRES_HOST=database \
POSTGRES_PORT=5432 \
POSTGRES_VERSION=16 \
POSTGRES_DB=app \
POSTGRES_USER=app \
POSTGRES_PASSWORD=pwd

View File

@@ -0,0 +1,8 @@
FROM postgres:16-alpine
ENV POSTGRES_DB=app \
POSTGRES_USER=app \
POSTGRES_PASSWORD=pwd
# Add custom initialization scripts if needed:
# COPY initdb/ /docker-entrypoint-initdb.d/