diff options
| author | Philipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de> | 2024-09-24 10:53:31 +0200 |
|---|---|---|
| committer | Philipp Schüttlöffel <schuettloeffel@zqs.uni-hannover.de> | 2024-09-24 10:53:31 +0200 |
| commit | 4459dd7917f4d1c34f40bb68f0e991e9c3d53e4c (patch) | |
| tree | 5c07151ae61276d334e88f6309c30d439a85c12e /docker/studip | |
| parent | da0022e5c1abbf9825ae76debaabdff7e8623bb4 (diff) | |
| parent | 97a188592c679890a25c37ab78463add76a52ff7 (diff) | |
Merge branch 'main' into issue-3911issue-3911
Diffstat (limited to 'docker/studip')
| -rw-r--r-- | docker/studip/Dockerfile | 17 | ||||
| -rw-r--r-- | docker/studip/Dockerfile-Dev | 12 | ||||
| -rw-r--r-- | docker/studip/config_local.php | 64 | ||||
| -rw-r--r-- | docker/studip/docker-entrypoint.sh | 13 | ||||
| -rw-r--r-- | docker/studip/my.cnf | 12 |
5 files changed, 65 insertions, 53 deletions
diff --git a/docker/studip/Dockerfile b/docker/studip/Dockerfile index 8ee1d20..daa52e6 100644 --- a/docker/studip/Dockerfile +++ b/docker/studip/Dockerfile @@ -1,5 +1,5 @@ # Setup php, apache and stud.ip -FROM php:7.4-apache as base +FROM php:8.1-apache as base # Install system requirements RUN apt update && apt install -y --no-install-recommends \ @@ -11,14 +11,22 @@ RUN apt update && apt install -y --no-install-recommends \ libonig-dev \ libzip-dev \ libicu-dev \ + libwebp-dev \ + locales \ vim \ && rm -rf /var/lib/apt/lists/* +# Install locales +RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen \ + && sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ + && update-locale + # Install php extensions -RUN docker-php-ext-configure gd --with-jpeg -RUN docker-php-ext-install pdo gettext curl gd mbstring zip pdo pdo_mysql mysqli intl json +RUN docker-php-ext-configure gd --with-jpeg --with-webp +RUN docker-php-ext-install gettext gd zip pdo_mysql mysqli intl -FROM node:16 as nodejs +FROM node:18 as nodejs # Install node modules COPY . /studip @@ -59,5 +67,6 @@ COPY ./docker/studip/docker-entrypoint.sh /usr/local/bin/ RUN chmod u+x /usr/local/bin/docker-entrypoint.sh # Set start parameters +ENV AUTO_MIGRATE 1 ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] CMD ["apache2-foreground"] diff --git a/docker/studip/Dockerfile-Dev b/docker/studip/Dockerfile-Dev index 960bd97..28e112b 100644 --- a/docker/studip/Dockerfile-Dev +++ b/docker/studip/Dockerfile-Dev @@ -11,11 +11,19 @@ RUN apt update && apt install -y --no-install-recommends \ libonig-dev \ libzip-dev \ libicu-dev \ + libwebp-dev \ + locales \ vim \ && rm -rf /var/lib/apt/lists/* +# Install locales +RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen \ + && sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ + && update-locale + # Install php extensions -RUN docker-php-ext-configure gd --with-jpeg +RUN docker-php-ext-configure gd --with-jpeg --with-webp RUN docker-php-ext-install pdo gettext curl gd mbstring zip pdo pdo_mysql mysqli intl json @@ -35,4 +43,4 @@ RUN chmod u+x /usr/local/bin/docker-entrypoint.sh # Set start parameters ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] -CMD ["apache2-foreground"]
\ No newline at end of file +CMD ["apache2-foreground"] diff --git a/docker/studip/config_local.php b/docker/studip/config_local.php index 010ff66..63029e7 100644 --- a/docker/studip/config_local.php +++ b/docker/studip/config_local.php @@ -1,49 +1,27 @@ <?php -/*basic settings for Stud.IP ----------------------------------------------------------------- -you find here the basic system settings. You shouldn't have to touch much of them... -please note the CONFIG.INC.PHP for the indivual settings of your installation!*/ - -namespace Studip { - //const ENV = 'development'; - define ('ENV', getenv('ENV') ?? 'development'); -} - -namespace { - /*settings for database access - ---------------------------------------------------------------- - please fill in your database connection settings. - */ +define ('Studip\\ENV', $_ENV['ENV'] ?? 'development'); - // default Stud.IP database (DB_Seminar) - $DB_STUDIP_HOST = getenv('MYSQL_HOST'); - $DB_STUDIP_USER = getenv('MYSQL_USER'); - $DB_STUDIP_PASSWORD = getenv('MYSQL_PASSWORD'); - $DB_STUDIP_DATABASE = getenv('MYSQL_DATABASE'); - $MAIL_TRANSPORT = getenv('MAIL_TRANSPORT'); +error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); - /*URL - ---------------------------------------------------------------- - customize if automatic detection fails, e.g. when installation is hidden - behind a proxy - */ - //$CANONICAL_RELATIVE_PATH_STUDIP = '/'; - //$ABSOLUTE_URI_STUDIP = 'https://www.studip.de/'; - //$ASSETS_URL = 'https://www.studip.de/assets/'; - - // Set proxy url - if ($PROXY_URL = getenv('PROXY_URL')) { - $ABSOLUTE_URI_STUDIP = $PROXY_URL; - $ASSETS_URL = $PROXY_URL.'/assets/'; - unset($PROXY_URL); - } +/*URL +---------------------------------------------------------------- +customize if automatic detection fails, e.g. when installation is hidden +behind a proxy +*/ +//$CANONICAL_RELATIVE_PATH_STUDIP = '/'; +//$ABSOLUTE_URI_STUDIP = 'https://www.studip.de/'; +//$ASSETS_URL = 'https://www.studip.de/assets/'; - // Use autoproxy - if (getenv('AUTO_PROXY')) { - $ABSOLUTE_URI_STUDIP = $_SERVER['HTTP_X_FORWARDED_PROTO'].'://'.$_SERVER['HTTP_X_FORWARDED_HOST'].'/'; - $ASSETS_URL = $ABSOLUTE_URI_STUDIP.'/assets/'; - } - $MAIL_TRANSPORT = getenv('STUDIP_MAIL_TRANSPORT'); +// Set proxy url +if (isset($_ENV['PROXY_URL'])) { + $ABSOLUTE_URI_STUDIP = $_ENV['PROXY_URL']; + $ASSETS_URL = $_ENV['PROXY_URL'].'/assets/'; +} - $CONTENT_LANGUAGES['en_GB'] = ['picture' => 'lang_en.gif', 'name' => 'English']; +// Use autoproxy +if (isset($_ENV['AUTO_PROXY'])) { + $ABSOLUTE_URI_STUDIP = $_SERVER['HTTP_X_FORWARDED_PROTO'].'://'.$_SERVER['HTTP_X_FORWARDED_HOST'].'/'; + $ASSETS_URL = $ABSOLUTE_URI_STUDIP.'/assets/'; } + +$CONTENT_LANGUAGES['en_GB'] = ['picture' => 'lang_en.gif', 'name' => 'English']; diff --git a/docker/studip/docker-entrypoint.sh b/docker/studip/docker-entrypoint.sh index bafc2fe..dde57c5 100644 --- a/docker/studip/docker-entrypoint.sh +++ b/docker/studip/docker-entrypoint.sh @@ -28,17 +28,22 @@ done sh $STUDIP/.gitlab/scripts/install_db.sh -if [ ! -z $AUTO_MIGRATE ]; then +if [[ -n $AUTO_MIGRATE ]]; then echo "Migrate Instance" # If migrate fails start instance anyway - php "$STUDIP/cli/studip migrate" || true + php "$STUDIP/cli/studip" migrate || true echo "Migration finished" fi # first arg is `-f` or `--some-option` if [ "${1#-}" != "$1" ]; then - set -- apache2-foreground "$@" + set -- apache2-foreground "$@" fi -exec "$@" +# Set name of installation if set +if [[ -n "$STUDIP_NAME" ]]; then + echo "Setting installation name" + php "$STUDIP/cli/studip" config:set UNI_NAME_CLEAN "$STUDIP_NAME" +fi +exec "$@" diff --git a/docker/studip/my.cnf b/docker/studip/my.cnf new file mode 100644 index 0000000..c5607a4 --- /dev/null +++ b/docker/studip/my.cnf @@ -0,0 +1,12 @@ +[client] +default-character-set = utf8mb4 + +[mysql] +default-character-set = utf8mb4 + +[mysqld] +character-set-server = utf8mb4 +collation-server = utf8mb4_unicode_ci + +innodb_file_per_table = On +sql_mode = NO_ENGINE_SUBSTITUTION |
