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 <[email protected]>
+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-cookiesoverflow-error
+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-cookiesoverflow-error
+(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/

--
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/41137?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: Iacec800b9179cfac894f41e9eb1a5cca7e56ff1c
Gerrit-Change-Number: 41137
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <[email protected]>

Reply via email to