osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/41137?usp=email )
Change subject: redmine: set session_store to active_record_store ......................................................................
redmine: set session_store to active_record_store
Change the session store to fix the "ActionDispatch::Cookies::CookieOverflow" errors we are getting.
IMPORTANT: after deploying this change, the following commands must be executed once manually to create the session table:
# docker compose exec redmine bash $ rails generate active_record:session_migration $ rake db:migrate
Related: OS#5476 Change-Id: Iacec800b9179cfac894f41e9eb1a5cca7e56ff1c --- A redmine/0001-Set-session_store-to-active_record_store.patch M redmine/Dockerfile M redmine/docker-entrypoint-osmo.sh 3 files changed, 57 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/37/41137/1
diff --git a/redmine/0001-Set-session_store-to-active_record_store.patch b/redmine/0001-Set-session_store-to-active_record_store.patch new file mode 100644 index 0000000..47efd2c --- /dev/null +++ b/redmine/0001-Set-session_store-to-active_record_store.patch @@ -0,0 +1,44 @@ +From 84ab3fe831c138e452f6edbeff03c26524cff8ca Mon Sep 17 00:00:00 2001 +From: Oliver Smith osmith@sysmocom.de +Date: Fri, 19 Sep 2025 10:51:06 +0200 +Subject: [PATCH] Set session_store to active_record_store + +Related: https://www.redmineup.com/pages/help/getting-started/how-to-fix-cookiesoverf... +Related: OS#5476 +--- + Gemfile | 3 +++ + config/application.rb | 3 +-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Gemfile b/Gemfile +index 7746ece04..3082054e0 100644 +--- a/Gemfile ++++ b/Gemfile +@@ -16,6 +16,9 @@ gem 'rbpdf', '~> 1.21.3' + gem 'addressable' + gem 'rubyzip', '~> 2.3.0' + ++# OS#5476 ++gem 'activerecord-session_store', '~> 2.0.0' ++ + # Ruby Standard Gems + gem 'csv', '~> 3.2.6' + gem 'net-imap', '~> 0.3.4' +diff --git a/config/application.rb b/config/application.rb +index 5e93df122..c0d2deb39 100644 +--- a/config/application.rb ++++ b/config/application.rb +@@ -87,9 +87,8 @@ module RedmineApp + config.log_level = Rails.env.production? ? :info : :debug + + config.session_store( +- :cookie_store, ++ :active_record_store, + :key => '_redmine_session', +- :path => config.relative_url_root || '/', + :same_site => :lax + ) + +-- +2.43.0 + diff --git a/redmine/Dockerfile b/redmine/Dockerfile index 0fea460..c3545bf 100644 --- a/redmine/Dockerfile +++ b/redmine/Dockerfile @@ -18,6 +18,9 @@ ADD commitlog-references-oshash-5.1.3.diff /tmp/commitlog-references-oshash-5.1.3.diff RUN cd /usr/src/redmine && patch -p1 < /tmp/commitlog-references-oshash-5.1.3.diff
+ADD 0001-Set-session_store-to-active_record_store.patch /tmp/ +RUN cd /usr/src/redmine && patch -p1 < /tmp/0001-Set-session_store-to-active_record_store.patch + ADD docker-entrypoint-osmo.sh / ENTRYPOINT ["/docker-entrypoint-osmo.sh"] CMD ["rails", "server", "-b", "0.0.0.0"] diff --git a/redmine/docker-entrypoint-osmo.sh b/redmine/docker-entrypoint-osmo.sh index 8206d29..546e1f3 100755 --- a/redmine/docker-entrypoint-osmo.sh +++ b/redmine/docker-entrypoint-osmo.sh @@ -11,6 +11,16 @@ echo done &) &
+# Daily: delete all sessions that have not been updated in the last 30 days +# https://www.redmineup.com/pages/help/getting-started/how-to-fix-cookiesoverf... +(while :; do + sleep 1d + echo + echo "=== Running db:sessions:trim (OS#5476) ===" + rake db:sessions:trim + echo +done &) & + # Run the original docker-entrypoint.sh script. Exec is important, so "tini" # inside the original script becomes pid 1 to clean up zombies from redmine. # https://github.com/docker-library/redmine/