Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
PHP_BASE_IMAGE=php:8.3.17-apache
ROBERT2_VERSION=1.0.4
MYSQL_ROOT_PASSWORD=MdPToRootU3rF0rR0b3rt2
MYSQL_USER=robert2_usr
MYSQL_PASSWORD=MdPToRootU3rF0rR0b3rt2Us3r
MYSQL_DATABASE=robert2_db
55 changes: 55 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
ARG PHP_BASE_IMAGE
FROM ${PHP_BASE_IMAGE}

ARG ROBERT2_VERSION

LABEL maintainer="Maxime LAPLANCHE <maxime.laplanche@outlook.com>"

ENV ROBERT2_VERSION ${ROBERT2_VERSION}

ENV PHP_INI_DATE_TIMEZONE 'Europe/Paris'
ENV PHP_INI_MEMORY_LIMIT 256M
ENV TZ=Europe/Paris

RUN mkdir -p /usr/src/php/ext/apcu && curl -fsSL https://pecl.php.net/get/apcu | tar xvz -C "/usr/src/php/ext/apcu" --strip 1

RUN apt-get update -y \
&& apt-get dist-upgrade -y \
&& apt-get install -y --no-install-recommends \
curl \
unzip \
libicu-dev \
libxml2-dev \
libcurl4-openssl-dev \
libonig-dev \
openssl \
&& apt-get autoremove -y

# Pour Intl, créer le répertoire /conf.d s'il n'existe pas
RUN mkdir -p /conf.d && \
docker-php-ext-configure intl && \
docker-php-ext-install bcmath curl dom fileinfo gettext iconv intl xml && \
docker-php-ext-install -j$(nproc) pdo_mysql

COPY php.ini /usr/src/php/php.ini
RUN a2enmod rewrite

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN printf '[PHP]\ndate.timezone = "Europe/Paris"\n' > /usr/local/etc/php/conf.d/tzone.ini

RUN curl -fLSso Loxya-${ROBERT2_VERSION}.zip https://github.com/Robert-2/Robert2/releases/download/${ROBERT2_VERSION}/Loxya-${ROBERT2_VERSION}.zip && \
unzip Loxya-${ROBERT2_VERSION}.zip -d /tmp && \
cp -r /tmp/Loxya-${ROBERT2_VERSION}/. /var/www/html/ && \
rm -rf /tmp/* && \
rm -rf Loxya-${ROBERT2_VERSION}.zip

RUN chown -R www-data:www-data /var/www && \
chmod -R 777 /var/www/html/data && \
chmod -R 777 /var/www/html/src/var && \
chmod -R 777 /var/www/html/src/App/Config

RUN rm -rf /var/lib/apt/lists/*

EXPOSE 80

CMD ["apache2-foreground"]
28 changes: 17 additions & 11 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,37 @@
---
version: '3.7'
services:
app:
image: maximelaplanche/robert2:0.19.2
container_name: app
env_file: .env
build:
dockerfile: ./Dockerfile
args:
PHP_BASE_IMAGE: ${PHP_BASE_IMAGE}
ROBERT2_VERSION: ${ROBERT2_VERSION}
ports:
- 8000:80
networks:
- robert2_network
- robert2_db_network
depends_on:
- db

db:
image: mysql:8
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
container_name: db
image: mariadb
command: --innodb_default_row_format=DYNAMIC --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
restart: always
environment:
MYSQL_ROOT_PASSWORD: MdPToRootU3rF0rR0b3rt2
MYSQL_DATABASE: robert2_db
MYSQL_USER: robert2_usr
MYSQL_PASSWORD: MdPToRootU3rF0rR0b3rt2Us3r
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
volumes:
- robert2_data:/var/lib/mysql
networks:
- robert2_db_network
- robert2_network

# Docker Networks
networks:
robert2_db_network:
robert2_network:

# Docker volumes
Expand Down
Loading