diff --git a/Dockerfile b/Dockerfile index 653692f..575f213 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -ARG FLARUM_VERSION=v1.8.10 +ARG FLARUM_VERSION=v2.0.0-beta.8 ARG ALPINE_VERSION=3.22 FROM tianon/gosu:latest AS gosu @@ -55,8 +55,8 @@ ENV S6_BEHAVIOUR_IF_STAGE2_FAILS="2"\ ARG FLARUM_VERSION RUN mkdir -p /opt/flarum \ && curl -sSL https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer \ - && COMPOSER_CACHE_DIR="/tmp" composer create-project flarum/flarum /opt/flarum --no-install \ - && COMPOSER_CACHE_DIR="/tmp" composer require --working-dir /opt/flarum flarum/core:${FLARUM_VERSION} \ + && COMPOSER_CACHE_DIR="/tmp" composer create-project flarum/flarum /opt/flarum --stability=beta --no-install \ + && COMPOSER_CACHE_DIR="/tmp" composer require --working-dir /opt/flarum -W flarum/core:${FLARUM_VERSION} \ && composer clear-cache \ && addgroup -g ${PGID} flarum \ && adduser -D -h /opt/flarum -u ${PUID} -G flarum -s /bin/sh -D flarum \ diff --git a/examples/compose/compose.yml b/examples/compose/compose.yml index 49601b8..b010920 100644 --- a/examples/compose/compose.yml +++ b/examples/compose/compose.yml @@ -2,10 +2,10 @@ name: flarum services: db: - image: mariadb:10 + image: mariadb:11 container_name: flarum_db command: - - "mysqld" + - "mariadbd" - "--character-set-server=utf8mb4" - "--collation-server=utf8mb4_unicode_ci" volumes: diff --git a/examples/subfolder/compose.yml b/examples/subfolder/compose.yml index 08b261d..9d0edbb 100644 --- a/examples/subfolder/compose.yml +++ b/examples/subfolder/compose.yml @@ -36,10 +36,10 @@ services: restart: always db: - image: mariadb:10 + image: mariadb:11 container_name: flarum_db command: - - "mysqld" + - "mariadbd" - "--character-set-server=utf8mb4" - "--collation-server=utf8mb4_unicode_ci" volumes: diff --git a/examples/traefik/compose.yml b/examples/traefik/compose.yml index 1985240..bc47a25 100644 --- a/examples/traefik/compose.yml +++ b/examples/traefik/compose.yml @@ -36,10 +36,10 @@ services: restart: always db: - image: mariadb:10 + image: mariadb:11 container_name: flarum_db command: - - "mysqld" + - "mariadbd" - "--character-set-server=utf8mb4" - "--collation-server=utf8mb4_unicode_ci" volumes: diff --git a/rootfs/etc/cont-init.d/03-config.sh b/rootfs/etc/cont-init.d/03-config.sh index c990caa..47e82af 100644 --- a/rootfs/etc/cont-init.d/03-config.sh +++ b/rootfs/etc/cont-init.d/03-config.sh @@ -138,6 +138,15 @@ while ! ${dbcmd} -e "show databases;" >/dev/null 2>&1; do fi done echo "Database ready!" + +# Auto-detect database driver from server version +DB_DRIVER="mysql" +SERVER_VERSION=$(${dbcmd} -N -s -e "SELECT VERSION();" 2>/dev/null) +if echo "$SERVER_VERSION" | grep -qi "mariadb"; then + DB_DRIVER="mariadb" +fi +echo "Detected database driver: ${DB_DRIVER} (${SERVER_VERSION})" + counttables=$(echo 'SHOW TABLES' | ${dbcmd} "$DB_NAME" | wc -l) # Enforce no prefix for db @@ -151,7 +160,7 @@ if [ "${counttables}" -eq "0" ]; then debug: ${FLARUM_DEBUG} baseUrl: ${FLARUM_BASE_URL} databaseConfiguration: - driver: mysql + driver: ${DB_DRIVER} host: ${DB_HOST} database: ${DB_NAME} username: ${DB_USER} @@ -180,7 +189,7 @@ gosu flarum:flarum cat >/opt/flarum/config.php < ${FLARUM_DEBUG}, 'database' => array ( - 'driver' => 'mysql', + 'driver' => '${DB_DRIVER}', 'host' => '${DB_HOST}', 'port' => ${DB_PORT}, 'database' => '${DB_NAME}', @@ -217,7 +226,7 @@ if [ -s "/data/extensions/list" ]; then extensions="${extensions}${extension} " done