Compare commits
27 Commits
202301.13.
...
php82
Author | SHA1 | Date | |
---|---|---|---|
29253b4f01
|
|||
93972a0135
|
|||
63c7130be3
|
|||
28444d5bbf
|
|||
fb25e8b346
|
|||
efed281312 | |||
a6a988a33a | |||
859eb37526 | |||
b55914e40f | |||
7f1085d2c2 | |||
|
b81638eda9 | ||
571d662737 | |||
78a98bff40
|
|||
2f18130e72 | |||
2af27e8b42 | |||
fcd00855f9 | |||
e9c478c062 | |||
d38e9a5c0a | |||
b63a4f2a5f | |||
1a1188c612 | |||
39b9e839c2 | |||
23c438f0d7 | |||
a4fd3dbeb6 | |||
1ef5ef50a3 | |||
da2149cb60
|
|||
491c5f3b49
|
|||
8d3b56c6fe
|
33
.drone.yml
33
.drone.yml
@@ -79,3 +79,36 @@ steps:
|
|||||||
Dockerfile: docker/nginx/Dockerfile
|
Dockerfile: docker/nginx/Dockerfile
|
||||||
depends_on:
|
depends_on:
|
||||||
- build-assets
|
- build-assets
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: build-base-image-php82
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- cron
|
||||||
|
- push
|
||||||
|
cron:
|
||||||
|
- base-image-php82
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build-base-image
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
username:
|
||||||
|
from_secret: docker_username_gitea
|
||||||
|
password:
|
||||||
|
from_secret: docker_password_gitea
|
||||||
|
registry: gitea.champs-libres.be/chill-project/chill-skeleton-basic
|
||||||
|
repo: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image
|
||||||
|
tag: php82
|
||||||
|
target: chill_base_php82
|
||||||
|
pull_image: true
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: signature
|
||||||
|
hmac: 212da184e3fedeb03530cc66dbf9c8974e461e214dda5a698b11012e66e4531a
|
||||||
|
|
||||||
|
...
|
||||||
|
2
.env.dev
2
.env.dev
@@ -11,3 +11,5 @@ MAILER_URL=smtp://smtp:1025
|
|||||||
PGADMIN_DEFAULT_EMAIL=admin@chill.social
|
PGADMIN_DEFAULT_EMAIL=admin@chill.social
|
||||||
PGADMIN_DEFAULT_PASSWORD=password
|
PGADMIN_DEFAULT_PASSWORD=password
|
||||||
|
|
||||||
|
## Phpstorm IDE project path
|
||||||
|
PROJECT_DIR=
|
||||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@@ -9,6 +9,7 @@ config/secrets/
|
|||||||
|
|
||||||
## env files
|
## env files
|
||||||
.env.local
|
.env.local
|
||||||
|
.env.dev.local
|
||||||
|
|
||||||
.composer/*
|
.composer/*
|
||||||
composer.phar
|
composer.phar
|
||||||
@@ -49,17 +50,18 @@ phpunit.xml
|
|||||||
nbproject/*
|
nbproject/*
|
||||||
|
|
||||||
.idea
|
.idea
|
||||||
|
.ignore
|
||||||
|
|
||||||
### template/api/specs.yaml should be compiled
|
### template/api/specs.yaml should be compiled
|
||||||
templates/api/specs.yaml
|
templates/api/specs.yaml
|
||||||
|
|
||||||
|
|
||||||
###> symfony/webpack-encore-bundle ###
|
###> symfony/webpack-encore-bundle ###
|
||||||
/node_modules/
|
/node_modules/
|
||||||
/public/build/
|
/public/build/
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
###< symfony/webpack-encore-bundle ###
|
###< symfony/webpack-encore-bundle ###
|
||||||
|
|
||||||
###> symfony/phpunit-bridge ###
|
###> symfony/phpunit-bridge ###
|
||||||
.phpunit
|
.phpunit
|
||||||
.phpunit.result.cache
|
.phpunit.result.cache
|
||||||
|
66
Dockerfile
66
Dockerfile
@@ -1,4 +1,4 @@
|
|||||||
FROM php:7.4-fpm-buster AS chill_base_php
|
FROM php:8.2-fpm-alpine AS chill_base_php82
|
||||||
|
|
||||||
ENV POSTGRES_VERSION 14
|
ENV POSTGRES_VERSION 14
|
||||||
|
|
||||||
@@ -6,27 +6,31 @@ ENV POSTGRES_VERSION 14
|
|||||||
ARG UID=1000
|
ARG UID=1000
|
||||||
ARG GID=1000
|
ARG GID=1000
|
||||||
|
|
||||||
RUN apt update && apt -y --no-install-recommends install wget gnupg \
|
# install php extensions and deps
|
||||||
&& wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
|
RUN apk update && apk add --no-cache \
|
||||||
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
|
wget gnupg \
|
||||||
&& apt update && apt -y --no-install-recommends install \
|
libpq-dev \
|
||||||
libicu-dev \
|
icu-dev icu-libs icu-data-full \
|
||||||
g++ \
|
oniguruma-dev \
|
||||||
postgresql-server-dev-$POSTGRES_VERSION \
|
libzip libzip-dev \
|
||||||
libzip-dev libzip4 unzip \
|
linux-headers \
|
||||||
libfreetype6-dev \
|
gcc g++ make autoconf \
|
||||||
libonig-dev `# install oniguruma, required for mbstring` \
|
bash git \
|
||||||
libpng-dev \
|
&& docker-php-ext-install pdo_pgsql intl mbstring zip bcmath exif sockets \
|
||||||
libjpeg62-turbo-dev \
|
&& git clone https://github.com/nikic/php-ast.git \
|
||||||
git \
|
&& cd php-ast \
|
||||||
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
|
&& phpize \
|
||||||
&& docker-php-ext-install -j$(nproc) gd \
|
&& ./configure \
|
||||||
&& docker-php-ext-install intl pdo_pgsql mbstring zip bcmath sockets exif \
|
&& make install \
|
||||||
&& pecl install redis \
|
&& echo 'extension=ast.so' > /usr/local/etc/php/php.ini \
|
||||||
&& docker-php-ext-enable redis \
|
&& cd .. && rm -rf php-ast \
|
||||||
&& apt remove -y wget libicu-dev g++ gnupg libzip-dev \
|
&& pecl install redis \
|
||||||
&& apt autoremove -y \
|
&& docker-php-ext-enable redis \
|
||||||
&& apt purge -y
|
&& apk add libpng-dev libjpeg-turbo-dev freetype-dev \
|
||||||
|
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
|
||||||
|
&& docker-php-ext-install -j$(nproc) gd \
|
||||||
|
&& apk add postgresql${POSTGRES_VERSION}-client \
|
||||||
|
&& apk del --purge wget gnupg libpq-dev icu-dev oniguruma-dev libzip-dev linux-headers gcc g++ make autoconf
|
||||||
|
|
||||||
RUN { \
|
RUN { \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
@@ -41,15 +45,31 @@ RUN { \
|
|||||||
echo ""; \
|
echo ""; \
|
||||||
} >> /usr/local/etc/php/conf.d/date.ini
|
} >> /usr/local/etc/php/conf.d/date.ini
|
||||||
|
|
||||||
|
# temporary fix, while php-cs-fixer has conflict dependencies
|
||||||
|
# with chill
|
||||||
|
RUN curl -o /usr/local/bin/php-cs-fixer https://cs.symfony.com/download/php-cs-fixer-v3.phar \
|
||||||
|
&& chmod +x /usr/local/bin/php-cs-fixer
|
||||||
|
# to make php-cs-fixer works with php 8.2
|
||||||
|
ENV PHP_CS_FIXER_IGNORE_ENV=1
|
||||||
|
|
||||||
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||||
ENV COMPOSER_ALLOW_SUPERUSER=1
|
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||||
ENV COMPOSER_MEMORY_LIMIT=-1
|
ENV COMPOSER_MEMORY_LIMIT=-1
|
||||||
|
|
||||||
|
# shell bash preference
|
||||||
|
RUN sed -i " \
|
||||||
|
s|root:x:0:0:root:/root:/bin/ash|root:x:0:0:root:/root:/bin/bash|g; \
|
||||||
|
s|postgres:x:70:70:PostgreSQL user:/var/lib/postgresql:/bin/sh|postgres:x:70:70:PostgreSQL user:/var/lib/postgresql:/bin/bash|g" \
|
||||||
|
/etc/passwd
|
||||||
|
|
||||||
|
# chmod on redis.so
|
||||||
|
RUN chmod 755 -R /usr/local/lib/php/extensions/
|
||||||
|
|
||||||
WORKDIR /var/www/app
|
WORKDIR /var/www/app
|
||||||
|
|
||||||
CMD ["php-fpm"]
|
CMD ["php-fpm"]
|
||||||
|
|
||||||
FROM chill_base_php AS chill_php
|
FROM chill_base_php82 AS chill_php82
|
||||||
|
|
||||||
# copy directories
|
# copy directories
|
||||||
|
|
||||||
|
8
Makefile
8
Makefile
@@ -2,12 +2,12 @@ THIS_FILE := $(lastword $(MAKEFILE_LIST))
|
|||||||
PWD:=$(shell echo ${PWD})
|
PWD:=$(shell echo ${PWD})
|
||||||
UID:=$(shell id -u)
|
UID:=$(shell id -u)
|
||||||
GID:=$(shell id -g)
|
GID:=$(shell id -g)
|
||||||
BASE_TAG=chill_base_php
|
BASE_TAG=chill_base_php82
|
||||||
DOCKERNODE_CMD=docker run --rm --user ${UID}:${GID} -v ${PWD}:/app --workdir /app -e YARN_CACHE_FOLDER=/app/.yarncache node:16
|
DOCKERNODE_CMD=docker run --rm --user ${UID}:${GID} -v ${PWD}:/app --workdir /app -e YARN_CACHE_FOLDER=/app/.yarncache node:16
|
||||||
DOCKER_COMPOSE_PHP_EXEC_CMD=docker-compose run --rm --user $(UID):$(GID) -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env php
|
DOCKER_COMPOSE_PHP_EXEC_CMD=docker-compose run --rm --user $(UID):$(GID) -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env php
|
||||||
DOCKER_PHP_EXEC_CMD_BASE=docker run --rm --user $(UID):$(GID) -v ${PWD}:/var/www/app -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env $(BASE_TAG)
|
DOCKER_PHP_EXEC_CMD_BASE=docker run --rm --user $(UID):$(GID) -v ${PWD}:/var/www/app -e CLEAR_CACHE=false -e COMPOSER_HOME=/var/www/app/.composer --entrypoint /usr/bin/env $(BASE_TAG)
|
||||||
PHP_BASE_IMAGE=php:7.4-fpm-buster
|
PHP_BASE_IMAGE=php:8.2-fpm-alpine
|
||||||
PHP_BASE_IMAGE_CHILL=chill_base_php
|
PHP_BASE_IMAGE_CHILL=chill_php82
|
||||||
NGINX_BASE_IMAGE=nginx
|
NGINX_BASE_IMAGE=nginx
|
||||||
CALVER=$(shell date "+v%Y%m%d%H%M")-${CALVERSION}
|
CALVER=$(shell date "+v%Y%m%d%H%M")-${CALVERSION}
|
||||||
ifneq (,$(wildcard ./.env))
|
ifneq (,$(wildcard ./.env))
|
||||||
@@ -39,7 +39,7 @@ build-assets:
|
|||||||
$(DOCKERNODE_CMD) yarn run encore production
|
$(DOCKERNODE_CMD) yarn run encore production
|
||||||
|
|
||||||
init:
|
init:
|
||||||
docker build --target chill_base_php -t $(BASE_TAG) .
|
docker build --target $(PHP_BASE_IMAGE_CHILL) -t $(BASE_TAG) .
|
||||||
$(DOCKER_PHP_EXEC_CMD_BASE) composer update --no-scripts --no-interaction
|
$(DOCKER_PHP_EXEC_CMD_BASE) composer update --no-scripts --no-interaction
|
||||||
@$(MAKE) -f $(THIS_FILE) build-assets
|
@$(MAKE) -f $(THIS_FILE) build-assets
|
||||||
@$(MAKE) -f $(THIS_FILE) post-install
|
@$(MAKE) -f $(THIS_FILE) post-install
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-redis": "*",
|
"ext-redis": "*",
|
||||||
"chill-project/chill-bundles": "dev-43-wopi-use-access-token@dev",
|
"chill-project/chill-bundles": "dev-master#3c88630edc1e449824dd6d2cfd91699e2cb47f86",
|
||||||
"symfony/flex": "^1.9",
|
"symfony/flex": "^1.9",
|
||||||
"symfony/http-client": "^4.4 || ^5",
|
"symfony/http-client": "^4.4 || ^5",
|
||||||
"nelmio/alice": "^3.8",
|
"nelmio/alice": "^3.8",
|
||||||
@@ -23,8 +23,7 @@
|
|||||||
"phpstan/phpstan": "^1.0",
|
"phpstan/phpstan": "^1.0",
|
||||||
"spomky-labs/base64url": "^2.0",
|
"spomky-labs/base64url": "^2.0",
|
||||||
"twig/string-extra": "^3.3",
|
"twig/string-extra": "^3.3",
|
||||||
"symfony/mailer": "^5.4",
|
"symfony/mailer": "^5.4"
|
||||||
"symfony/dependency-injection": "5.4.16"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fakerphp/faker": "^1.13",
|
"fakerphp/faker": "^1.13",
|
||||||
|
1494
composer.lock
generated
1494
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -56,7 +56,6 @@ chill_budget:
|
|||||||
- { key: mutuelle, labels: [{lang: fr, label: "Mutuelle"}]}
|
- { key: mutuelle, labels: [{lang: fr, label: "Mutuelle"}]}
|
||||||
- { key: transport, labels: [{lang: fr, label: "Frais de transport"}]}
|
- { key: transport, labels: [{lang: fr, label: "Frais de transport"}]}
|
||||||
- { key: decouvbank, labels: [{lang: fr, label: "Découvert bancaire utilisé"}]}
|
- { key: decouvbank, labels: [{lang: fr, label: "Découvert bancaire utilisé"}]}
|
||||||
- { key: credit, labels: [{lang: fr, label: "Procédure de saisie"}]}
|
|
||||||
- { key: procsaisie, labels: [{lang: fr, label: "Procédure de saisie"}]}
|
- { key: procsaisie, labels: [{lang: fr, label: "Procédure de saisie"}]}
|
||||||
- { key: indus, labels: [{lang: fr, label: "Indus"}]}
|
- { key: indus, labels: [{lang: fr, label: "Indus"}]}
|
||||||
- { key: apurement, labels: [{lang: fr, label: "Plan d'apurement"}]}
|
- { key: apurement, labels: [{lang: fr, label: "Plan d'apurement"}]}
|
||||||
@@ -82,6 +81,5 @@ chill_budget:
|
|||||||
- { key: debt_bank, labels: [{lang: fr, label: "Dette de découvert bancaire utilisé"}]}
|
- { key: debt_bank, labels: [{lang: fr, label: "Dette de découvert bancaire utilisé"}]}
|
||||||
- { key: debt_garbage, labels: [{lang: fr, label: "Dette de taxe d’ordures ménagère"}]}
|
- { key: debt_garbage, labels: [{lang: fr, label: "Dette de taxe d’ordures ménagère"}]}
|
||||||
- { key: debt_other, labels: [{lang: fr, label: "Dette autre"}]}
|
- { key: debt_other, labels: [{lang: fr, label: "Dette autre"}]}
|
||||||
- { key: credit, labels: [{lang: fr, label: "Crédit"}]}
|
|
||||||
- { key: autre, labels: [{lang: fr, label: "Autre"}]}
|
- { key: autre, labels: [{lang: fr, label: "Autre"}]}
|
||||||
|
|
||||||
|
@@ -3,3 +3,10 @@ framework:
|
|||||||
# allow to debug from ngrok, useful for webhooks coming from outside:
|
# allow to debug from ngrok, useful for webhooks coming from outside:
|
||||||
- '^(.+\.)?ngrok\.io$'
|
- '^(.+\.)?ngrok\.io$'
|
||||||
- 'nginx'
|
- 'nginx'
|
||||||
|
|
||||||
|
## Open files in phpstorm IDE from profiler links
|
||||||
|
# ref: https://symfony.com/doc/current/reference/configuration/framework.html#ide
|
||||||
|
# need: https://github.com/sanduhrs/phpstorm-url-handler/blob/master/phpstorm-url-handler
|
||||||
|
# set var in file .env.dev.local (PROJECT_DIR=<relative path from home folder>)
|
||||||
|
ide: 'phpstorm://open?file=%%f&line=%%l&/var/www/app/>%env(resolve:PROJECT_DIR)%'
|
||||||
|
|
||||||
|
@@ -7,4 +7,3 @@ lexik_jwt_authentication:
|
|||||||
# then copy past the printed string into the dedicated environment variable
|
# then copy past the printed string into the dedicated environment variable
|
||||||
secret_key: '%env(base64:resolve:JWT_SECRET_KEY)%'
|
secret_key: '%env(base64:resolve:JWT_SECRET_KEY)%'
|
||||||
public_key: '%env(base64:resolve:JWT_PUBLIC_KEY)%'
|
public_key: '%env(base64:resolve:JWT_PUBLIC_KEY)%'
|
||||||
pass_phrase: '%env(JWT_PASSPHRASE)%'
|
|
||||||
|
@@ -1,2 +1,3 @@
|
|||||||
wopi:
|
wopi:
|
||||||
server: "%env(resolve:WOPI_SERVER)%"
|
server: "%env(resolve:WOPI_SERVER)%"
|
||||||
|
enable_lock: false
|
||||||
|
@@ -8,7 +8,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
UID: ${PHP_FPM_USER:-1000}
|
UID: ${PHP_FPM_USER:-1000}
|
||||||
# uncomment and set your own image if needed
|
# uncomment and set your own image if needed
|
||||||
image: ${IMAGE_PHP-chill_php}:${VERSION:-latest}
|
image: ${IMAGE_PHP-chill_php82}:${VERSION:-latest}
|
||||||
volumes:
|
volumes:
|
||||||
- .:/var/www/app
|
- .:/var/www/app
|
||||||
environment:
|
environment:
|
||||||
|
@@ -10,7 +10,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
UID: ${PHP_FPM_USER:-1000}
|
UID: ${PHP_FPM_USER:-1000}
|
||||||
# uncomment and set your own image if needed
|
# uncomment and set your own image if needed
|
||||||
image: ${IMAGE_PHP-chill_php}:${VERSION:-latest}
|
image: ${IMAGE_PHP-chill_php82}:${VERSION:-latest}
|
||||||
#
|
#
|
||||||
# normally, you should not mount any volume and use your own image
|
# normally, you should not mount any volume and use your own image
|
||||||
#
|
#
|
||||||
|
@@ -8,7 +8,7 @@ services:
|
|||||||
args:
|
args:
|
||||||
UID: ${PHP_FPM_USER:-1000}
|
UID: ${PHP_FPM_USER:-1000}
|
||||||
# uncomment and set your own image if needed
|
# uncomment and set your own image if needed
|
||||||
image: ${IMAGE_PHP:-chill_php}:${VERSION:-latest}
|
image: ${IMAGE_PHP:-chill_php82}:${VERSION:-latest}
|
||||||
volumes:
|
volumes:
|
||||||
- .:/var/www/app
|
- .:/var/www/app
|
||||||
environment:
|
environment:
|
||||||
|
@@ -358,9 +358,6 @@
|
|||||||
"psr/http-message": {
|
"psr/http-message": {
|
||||||
"version": "1.0.1"
|
"version": "1.0.1"
|
||||||
},
|
},
|
||||||
"psr/link": {
|
|
||||||
"version": "1.0.0"
|
|
||||||
},
|
|
||||||
"psr/log": {
|
"psr/log": {
|
||||||
"version": "1.1.3"
|
"version": "1.1.3"
|
||||||
},
|
},
|
||||||
@@ -820,9 +817,6 @@
|
|||||||
"symfony/var-exporter": {
|
"symfony/var-exporter": {
|
||||||
"version": "v5.1.3"
|
"version": "v5.1.3"
|
||||||
},
|
},
|
||||||
"symfony/web-link": {
|
|
||||||
"version": "v5.2.12"
|
|
||||||
},
|
|
||||||
"symfony/web-profiler-bundle": {
|
"symfony/web-profiler-bundle": {
|
||||||
"version": "3.3",
|
"version": "3.3",
|
||||||
"recipe": {
|
"recipe": {
|
||||||
|
Reference in New Issue
Block a user