From 6eb209b9edaec76b906c323b9d55c4b75985bdc5 Mon Sep 17 00:00:00 2001 From: Marc Sladek Date: Fri, 10 Jul 2026 15:03:24 +0200 Subject: [PATCH 1/8] activate spring profile `local` --- celements-webapp/.env.tomcat | 4 ++++ celements-webapp/docker/tomcat/log4j2.properties | 3 +++ 2 files changed, 7 insertions(+) diff --git a/celements-webapp/.env.tomcat b/celements-webapp/.env.tomcat index 3022845da..29b8c7004 100644 --- a/celements-webapp/.env.tomcat +++ b/celements-webapp/.env.tomcat @@ -1,6 +1,10 @@ +# spring +SPRING_PROFILES_ACTIVE=${PROFILE:-local} + # xwiki xwiki_db=${DB_MAIN} xwiki_db_prefix=${DB_PREFIX}_ +xwiki_url_port=${TOMCAT_PORT} # hibernate hibernate_connection_url=${DB_SCHEME}://${DB_HOST}:${DB_PORT}/${DB_PREFIX}_${DB_MAIN}?useServerPrepStmts=false&useUnicode=true&characterEncoding=UTF-8&sessionVariables=sql_mode=''&usePipelineAuth=false&disablePipeline=true diff --git a/celements-webapp/docker/tomcat/log4j2.properties b/celements-webapp/docker/tomcat/log4j2.properties index 2e2bef682..c7b8427db 100644 --- a/celements-webapp/docker/tomcat/log4j2.properties +++ b/celements-webapp/docker/tomcat/log4j2.properties @@ -13,6 +13,9 @@ appender.console.layout.pattern=%d{ISO8601} [%t] %-5p %-30.30c{2} - %m %n rootLogger.level=warn rootLogger.appenderRef.stdout.ref=STDOUT +logger.springEnv.name=org.springframework.web.context.support.StandardServletEnvironment +logger.springEnv.level=debug + logger.init.name=com.celements.init logger.init.level=info From c5127f6365398e2c7d833fe3e7491e73ed6dd516 Mon Sep 17 00:00:00 2001 From: Marc Sladek Date: Sat, 11 Jul 2026 09:14:31 +0200 Subject: [PATCH 2/8] parametrise & consolidate compose.local.yml --- celements-webapp/compose.local.yml | 27 +++++++------------ .../init/01-create-main.sh | 0 .../docker/{sqlserver => mariadb}/mysql.cnf | 0 3 files changed, 10 insertions(+), 17 deletions(-) rename celements-webapp/docker/{sqlserver => mariadb}/init/01-create-main.sh (100%) rename celements-webapp/docker/{sqlserver => mariadb}/mysql.cnf (100%) diff --git a/celements-webapp/compose.local.yml b/celements-webapp/compose.local.yml index 93b0df525..426b91ab6 100644 --- a/celements-webapp/compose.local.yml +++ b/celements-webapp/compose.local.yml @@ -1,8 +1,7 @@ -name: celements-web +name: ${APP_NAME} services: - webserver: - container_name: celements-web + web: image: ghcr.io/synventis-infra/tomcat:release ports: - "${TOMCAT_PORT:-2080}:8080" # tomcat @@ -11,18 +10,16 @@ services: - .env - .env.tomcat volumes: - - ./target/celements-web:/usr/local/tomcat/webapps/ROOT:ro + - web-data:${APP_DATA}:rw + - ./target/${APP_NAME}-web:/usr/local/tomcat/webapps/ROOT:ro - ./docker/tomcat/log4j2.properties:/usr/local/tomcat/webapps/ROOT/WEB-INF/classes/log4j2.properties:ro restart: unless-stopped - networks: - - celements logging: driver: journald depends_on: - - sqlserver + - db - sqlserver: - container_name: celements-db + db: image: mariadb:10.1 ports: - "${DB_HOST_PORT:-2306}:3306" # for direct client access @@ -31,17 +28,13 @@ services: - "MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD:?}" volumes: - db-data:/var/lib/mysql - - ./docker/sqlserver/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:ro - - ./docker/sqlserver/init:/docker-entrypoint-initdb.d:ro + - ./docker/mariadb/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:ro + - ./docker/mariadb/init:/docker-entrypoint-initdb.d:ro restart: unless-stopped - networks: - - celements logging: driver: journald volumes: + web-data: db-data: - -networks: - celements: - driver: bridge + name: ${APP_NAME}-web_db-data # preserve legacy volume name diff --git a/celements-webapp/docker/sqlserver/init/01-create-main.sh b/celements-webapp/docker/mariadb/init/01-create-main.sh similarity index 100% rename from celements-webapp/docker/sqlserver/init/01-create-main.sh rename to celements-webapp/docker/mariadb/init/01-create-main.sh diff --git a/celements-webapp/docker/sqlserver/mysql.cnf b/celements-webapp/docker/mariadb/mysql.cnf similarity index 100% rename from celements-webapp/docker/sqlserver/mysql.cnf rename to celements-webapp/docker/mariadb/mysql.cnf From 5105fb00660ae4ee3ac59e60465e88889370b276 Mon Sep 17 00:00:00 2001 From: Marc Sladek Date: Sat, 11 Jul 2026 09:23:28 +0200 Subject: [PATCH 3/8] add external: true --- celements-webapp/compose.local.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/celements-webapp/compose.local.yml b/celements-webapp/compose.local.yml index 426b91ab6..ea4a47851 100644 --- a/celements-webapp/compose.local.yml +++ b/celements-webapp/compose.local.yml @@ -38,3 +38,4 @@ volumes: web-data: db-data: name: ${APP_NAME}-web_db-data # preserve legacy volume name + external: true From 7575f607585a52ebba7fa962255e3283047c98f5 Mon Sep 17 00:00:00 2001 From: Marc Sladek Date: Sat, 11 Jul 2026 09:27:40 +0200 Subject: [PATCH 4/8] fix DB_HOST --- celements-webapp/.env.sample | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/celements-webapp/.env.sample b/celements-webapp/.env.sample index bccca04c0..687232f72 100644 --- a/celements-webapp/.env.sample +++ b/celements-webapp/.env.sample @@ -8,7 +8,7 @@ DB_HOST_PORT=2306 # database DB_DRIVER=com.mysql.jdbc.Driver DB_SCHEME=jdbc:mysql -DB_HOST=celements-db +DB_HOST=db DB_PORT=3306 DB_USER=celements DB_PASSWORD=celements From a65664207054861b49bf4e8f616693d849fdca48 Mon Sep 17 00:00:00 2001 From: Marc Sladek Date: Sat, 11 Jul 2026 09:43:48 +0200 Subject: [PATCH 5/8] remove volume legacy fallback --- celements-webapp/compose.local.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/celements-webapp/compose.local.yml b/celements-webapp/compose.local.yml index ea4a47851..de01ad43a 100644 --- a/celements-webapp/compose.local.yml +++ b/celements-webapp/compose.local.yml @@ -37,5 +37,3 @@ services: volumes: web-data: db-data: - name: ${APP_NAME}-web_db-data # preserve legacy volume name - external: true From 1fdab3270a6d1bdc27b5b57f5715a52a0e24aa6b Mon Sep 17 00:00:00 2001 From: Marc Sladek Date: Sat, 11 Jul 2026 11:06:27 +0200 Subject: [PATCH 6/8] set velocity encoding UTF-8 --- celements-webapp/src/main/webapp/WEB-INF/xwiki.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/celements-webapp/src/main/webapp/WEB-INF/xwiki.properties b/celements-webapp/src/main/webapp/WEB-INF/xwiki.properties index 6a513f1b3..31c9a83b4 100644 --- a/celements-webapp/src/main/webapp/WEB-INF/xwiki.properties +++ b/celements-webapp/src/main/webapp/WEB-INF/xwiki.properties @@ -207,7 +207,8 @@ core.defaultDocumentSyntax = xwiki/1.0 #-# velocity.properties = velocimacro.permissions.allow.inline.local.scope = true #-# velocity.properties = runtime.introspector.uberspect = org.xwiki.velocity.introspection.ChainingUberspector #-# velocity.properties = runtime.introspector.uberspect.chainClasses = org.apache.velocity.util.introspection.SecureUberspector,org.xwiki.velocity.introspection.DeprecatedCheckUberspector -#-# Securitiy Fix !!! +velocity.properties = input.encoding = UTF-8 +#-# Security fix: restricts #parse and #include resources to /templates/ velocity.properties = eventhandler.include.class = com.celements.web.XWikiIncludeEventHandler #-# fix max depth for macro recursions. Celements needs more than the default 10 velocity.properties = velocimacro.depth.max = 100 From 22f1e600a864993b813a2874b70353733aab3a2a Mon Sep 17 00:00:00 2001 From: Marc Sladek Date: Sat, 11 Jul 2026 15:13:17 +0200 Subject: [PATCH 7/8] remove dev/prod node configs --- celements-admin-frontend/.env.dev | 8 -------- celements-admin-frontend/.env.prod | 13 ------------- 2 files changed, 21 deletions(-) delete mode 100644 celements-admin-frontend/.env.dev delete mode 100644 celements-admin-frontend/.env.prod diff --git a/celements-admin-frontend/.env.dev b/celements-admin-frontend/.env.dev deleted file mode 100644 index 9dd684997..000000000 --- a/celements-admin-frontend/.env.dev +++ /dev/null @@ -1,8 +0,0 @@ -# url settings -VITE_APP_BASE_URL=http://localhost:5173 -VITE_CEL_API_URL=http://bellis.localhost:2080 - -# keycloak configuration -VITE_KEYCLOAK_BASE_URL=https://iam.demospace.ch -VITE_KEYCLOAK_REALM=celdev -VITE_KEYCLOAK_CLIENT_ID=celdev diff --git a/celements-admin-frontend/.env.prod b/celements-admin-frontend/.env.prod deleted file mode 100644 index 474804fdc..000000000 --- a/celements-admin-frontend/.env.prod +++ /dev/null @@ -1,13 +0,0 @@ -# url settings -#TODO replace with real values -VITE_APP_BASE_URL= -VITE_CEL_API_URL= - -# keycloak configuration -VITE_KEYCLOAK_BASE_URL= -VITE_KEYCLOAK_REALM= -VITE_KEYCLOAK_CLIENT_ID= - -# cel access -VITE_CEL_USER= -VITE_CEL_TOKEN= From a5ded355c6f3e089bc2bc893023de60ab0236f6e Mon Sep 17 00:00:00 2001 From: Marc Sladek Date: Mon, 13 Jul 2026 01:48:30 +0200 Subject: [PATCH 8/8] forge.celhosting.ch --- celements-webapp/README.md | 10 +++++----- celements-webapp/compose.local.yml | 2 +- celements-webapp/docker/Dockerfile | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/celements-webapp/README.md b/celements-webapp/README.md index 29da559cc..8026e0ccc 100644 --- a/celements-webapp/README.md +++ b/celements-webapp/README.md @@ -4,11 +4,11 @@ ## Local Development -Log in to GHCR once so Docker can pull shared images Use your GitHub username and a classic token -(https://github.com/settings/tokens) with `read:packages` scope as the password. +Log in to the forge once so Docker can pull shared images. Generate an access token +(https://forge.celhosting.ch/user/settings/applications) with `package: Read` permission. ```sh -docker login ghcr.io +docker login forge.celhosting.ch ``` @@ -59,5 +59,5 @@ The image is published by `Jenkinsfile.image`. The pipeline extracts the Maven project version from `pom.xml` and publishes: -- `ghcr.io/celements/celements-webapp:` -- `ghcr.io/celements/celements-webapp:-` +- `forge.celhosting.ch/celements/celements-webapp:` +- `forge.celhosting.ch/celements/celements-webapp:-` diff --git a/celements-webapp/compose.local.yml b/celements-webapp/compose.local.yml index de01ad43a..53dd8de7d 100644 --- a/celements-webapp/compose.local.yml +++ b/celements-webapp/compose.local.yml @@ -2,7 +2,7 @@ name: ${APP_NAME} services: web: - image: ghcr.io/synventis-infra/tomcat:release + image: forge.celhosting.ch/synventis-infra/tomcat:release ports: - "${TOMCAT_PORT:-2080}:8080" # tomcat - "${JPDA_PORT:-2000}:8000" # remote debugging diff --git a/celements-webapp/docker/Dockerfile b/celements-webapp/docker/Dockerfile index da8cc38cc..eee570a9a 100644 --- a/celements-webapp/docker/Dockerfile +++ b/celements-webapp/docker/Dockerfile @@ -15,7 +15,7 @@ RUN --mount=type=secret,id=mvnsettings,required=true,target=/root/.m2/settings.x -Dmaven.repo.local=/root/.m2/repository \ clean prepare-package war:exploded -FROM ghcr.io/synventis-infra/tomcat:release AS execute +FROM forge.celhosting.ch/synventis-infra/tomcat:release AS execute ARG VERSION ARG REVISION