Compare commits
2 Commits
428e3e25df
...
1b9d542542
Author | SHA1 | Date | |
---|---|---|---|
|
1b9d542542 | ||
|
01d32801e9 |
57
Dockerfile
57
Dockerfile
@ -3,16 +3,14 @@
|
||||
# Docker image for TYPO3 CMS
|
||||
FROM php:8.2-apache
|
||||
|
||||
|
||||
LABEL maintainer="Raphael Martin <raphy.martin@protonmail.ch>"
|
||||
|
||||
# set envirement
|
||||
ENV LANG=de_AT
|
||||
ENV LANG=de_AT.UTF-8
|
||||
ENV APACHE_RUN_USER a2g-www
|
||||
ENV TYPO3_VERSION 12.4.8
|
||||
ENV TYPO3_SHA256CHECKSUM 8293b3441ec133fc8f9174fab5b88f450044ded0e188a0f12de37ad60a8bf8b3
|
||||
|
||||
|
||||
# change apache user
|
||||
RUN adduser --uid 1000 --gecos 'Apache User' --disabled-password $APACHE_RUN_USER \
|
||||
&& chown -R "$APACHE_RUN_USER:$APACHE_RUN_USER" /var/lock/apache2 /var/run/apache2
|
||||
@ -26,14 +24,17 @@ RUN apt-get install -y --no-install-recommends \
|
||||
locales
|
||||
|
||||
RUN export LANG=${LANG} && \
|
||||
echo "${LANG}.UTF-8 UTF-8" > /etc/locale.gen && \
|
||||
export LC_ALL=${LANG} && \
|
||||
export LC_TIME=${LANG} && \
|
||||
export LANGUAGE=${LANG} && \
|
||||
echo "${LANG} UTF-8" > /etc/locale.gen && \
|
||||
/usr/sbin/locale-gen
|
||||
|
||||
# Export env vars
|
||||
RUN { \
|
||||
echo "export LC_ALL=${LANG}.UTF-8"; \
|
||||
echo "export LANG=${LANG}.UTF-8"; \
|
||||
echo "export LANGUAGE=${LANG}.UTF-8"; \
|
||||
echo "export LC_ALL=${LANG}"; \
|
||||
echo "export LANG=${LANG}"; \
|
||||
echo "export LANGUAGE=${LANG}"; \
|
||||
} >> ~/.bashrc
|
||||
|
||||
RUN cp ~/.bashrc /home/${APACHE_RUN_USER} && \
|
||||
@ -57,38 +58,43 @@ RUN set -ex; \
|
||||
libmcrypt-dev \
|
||||
libpng-dev \
|
||||
libpq-dev \
|
||||
libzip-dev \
|
||||
zlib1g-dev \
|
||||
unzip \
|
||||
zip \
|
||||
sendmail \
|
||||
graphicsmagick
|
||||
|
||||
|
||||
RUN docker-php-ext-configure gd --with-libdir=/usr/include/ --with-jpeg --with-freetype && \
|
||||
docker-php-ext-configure zip
|
||||
RUN docker-php-ext-configure gd --with-libdir=/usr/include/ --with-jpeg --with-freetype
|
||||
|
||||
RUN docker-php-ext-install -j$(nproc) \
|
||||
pdo \
|
||||
pdo_mysql \
|
||||
soap \
|
||||
gd \
|
||||
zip \
|
||||
opcache \
|
||||
intl
|
||||
|
||||
# Clean
|
||||
RUN apt-get -y purge \
|
||||
libxml2-dev libfreetype6-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
libmcrypt-dev \
|
||||
libpng-dev \
|
||||
zlib1g-dev \
|
||||
wget && \
|
||||
apt-get autoremove -y
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
libzip-dev \
|
||||
zlib1g-dev && \
|
||||
apt-get clean && \
|
||||
zip
|
||||
|
||||
RUN docker-php-ext-install -j$(nproc) \
|
||||
zip
|
||||
|
||||
# Clean
|
||||
RUN apt-get -y purge \
|
||||
libzip-dev && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /usr/src/*
|
||||
|
||||
|
||||
# Configure Apache as needed
|
||||
# Configure Apache
|
||||
|
||||
RUN set -eux; \
|
||||
docker-php-ext-enable opcache; \
|
||||
@ -112,9 +118,7 @@ RUN { \
|
||||
} > /usr/local/etc/php/conf.d/error-logging.ini
|
||||
|
||||
RUN set -eux; \
|
||||
a2enmod rewrite expires; \
|
||||
\
|
||||
a2enmod remoteip; \
|
||||
a2enmod rewrite expires remoteip headers; \
|
||||
{ \
|
||||
echo 'RemoteIPHeader X-Forwarded-For'; \
|
||||
# these IP ranges are reserved for "private" use and should thus *usually* be safe inside Docker
|
||||
@ -127,23 +131,20 @@ RUN set -eux; \
|
||||
a2enconf remoteip; \
|
||||
find /etc/apache2 -type f -name '*.conf' -exec sed -ri 's/([[:space:]]*LogFormat[[:space:]]+"[^"]*)%h([^"]*")/\1%a\2/g' '{}' +
|
||||
|
||||
|
||||
# install TYPO3 surf
|
||||
# RUN mkdir /usr/local/surf && \
|
||||
# curl -L https://github.com/TYPO3/Surf/releases/download/3.4.6/surf.phar -o /usr/local/surf/surf.phar && \
|
||||
# chmod +x /usr/local/surf/surf.phar && \
|
||||
# ln -s /usr/local/surf/surf.phar /usr/local/bin/surf
|
||||
|
||||
|
||||
|
||||
# install TYPO3
|
||||
RUN tar -xzf /tmp/download.tar.gz -C /var/www/ && \
|
||||
rm /tmp/download*
|
||||
|
||||
RUN cd /var/www/html && \
|
||||
ln -s ../typo3_src-* typo3_src && \
|
||||
ln -s typo3_src/index.php && \
|
||||
ln -s typo3_src/typo3 && \
|
||||
touch FIRST_INSTALL
|
||||
ln -s typo3_src/typo3
|
||||
|
||||
RUN chown -R $APACHE_RUN_USER:$APACHE_RUN_USER /var/www/html && \
|
||||
chown -R $APACHE_RUN_USER:$APACHE_RUN_USER /var/www/typo3_src-* && \
|
||||
@ -154,6 +155,4 @@ RUN { \
|
||||
echo "ServerTokens Prod"; \
|
||||
} >> /etc/apache2/apache2.conf
|
||||
|
||||
RUN a2enmod headers
|
||||
|
||||
VOLUME /var/www
|
24
README.md
24
README.md
@ -21,16 +21,38 @@ sample .env:
|
||||
|
||||
PROJECT_DATA=./data
|
||||
|
||||
If you want to make the first install steps uncomment following line in your docker-compose.yml in the volumes configuration from the TYPO3.
|
||||
|
||||
# - "./LICENSE:/var/www/html/FIRST_INSTALL:ro"
|
||||
|
||||
after your the installation you should comment this part again thet your ${PROJECT_DATA}/typo3conf/system/settings.php from the will not change.
|
||||
|
||||
the container has just sendmail installed to change this you should change the settings.php for your mail and secure for the reversproxy.
|
||||
|
||||
for development:
|
||||
|
||||
'transport_sendmail_command' => '/usr/sbin/sendmail -bs',
|
||||
|
||||
and append:
|
||||
|
||||
['SYS']['features']['security.backend.enforceReferrer'] = true
|
||||
|
||||
because we are behind the reverse proxy.
|
||||
|
||||
|
||||
then execute init with
|
||||
|
||||
./init
|
||||
|
||||
|
||||
use in the install wizard for the db connection "db" and the port 3306 and use pdo_mysql driver.
|
||||
|
||||
|
||||
|
||||
now the typo3 first install should be accessable: https://${PROJECT_URL}
|
||||
if you use the sample .env: https://typo3.localhost
|
||||
|
||||
use for the db connection "db"
|
||||
|
||||
|
||||
|
||||
after the install there is at the a error.
|
||||
|
@ -17,13 +17,14 @@ services:
|
||||
- "traefik"
|
||||
- "default"
|
||||
volumes:
|
||||
|
||||
- "${PROJECT_DATA}/${PROJECT_NAME}-typo3/fileadmin:/var/www/html/fileadmin"
|
||||
- "${PROJECT_DATA}/${PROJECT_NAME}-typo3/uploads:/var/www/html/uploads"
|
||||
- "${PROJECT_DATA}/${PROJECT_NAME}-typo3/protected:/var/www/protected"
|
||||
- "${PROJECT_DATA}/${PROJECT_NAME}-typo3/typo3conf:/var/www/html/typo3conf"
|
||||
- "./apache-conf/sites-enabled:/etc/apache2/sites-enabled"
|
||||
- "./php-conf/php.ini:/usr/local/etc/php/php.ini:ro"
|
||||
## use for the first install
|
||||
# - "./LICENSE:/var/www/html/FIRST_INSTALL:ro"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
depends_on:
|
||||
@ -49,14 +50,9 @@ services:
|
||||
- "--collation-server=utf8mb4_unicode_ci"
|
||||
env_file: ".env"
|
||||
volumes:
|
||||
- "db:/var/lib/mysql"
|
||||
# - "${PROJECT_DATA}/${PROJECT_NAME}-typo3/db:/var/lib/mysql"
|
||||
- "${PROJECT_DATA}/${PROJECT_NAME}-typo3/db:/var/lib/mysql"
|
||||
labels:
|
||||
# Watchtower add to auto update
|
||||
- "com.centurylinklabs.watchtower.enable=true"
|
||||
# traefik
|
||||
- "traefik.enable=false"
|
||||
|
||||
volumes:
|
||||
db:
|
||||
name: "${PROJECT_NAME}_db"
|
||||
- "traefik.enable=false"
|
Loading…
Reference in New Issue
Block a user