diff --git a/.docker/mysql/init/01-databases.sql b/.docker/mysql/init/01-databases.sql index 7817ec31..a00308e3 100644 --- a/.docker/mysql/init/01-databases.sql +++ b/.docker/mysql/init/01-databases.sql @@ -1,7 +1,8 @@ --- Create databases. CREATE DATABASE IF NOT EXISTS `redmine_development`; -CREATE DATABASE IF NOT EXISTS `redmine_test`; - --- Grant permissions. GRANT ALL PRIVILEGES ON redmine_development.* TO 'redmine'; + +CREATE DATABASE IF NOT EXISTS `redmine_test`; GRANT ALL PRIVILEGES ON redmine_test.* TO 'redmine'; + +CREATE DATABASE IF NOT EXISTS `redmine_production`; +GRANT ALL PRIVILEGES ON redmine_production.* TO 'redmine'; diff --git a/.docker/redmine/Dockerfile b/.docker/redmine/Dockerfile index 1351b441..2ac9321b 100644 --- a/.docker/redmine/Dockerfile +++ b/.docker/redmine/Dockerfile @@ -1,8 +1,14 @@ -FROM redmine:4.2 +FROM redmine:5.1 ENV LANG=en_us RUN apt update -qq > /dev/null \ - && apt install -qqy build-essential make vim less > /dev/null + && apt install -qqy build-essential make vim less libxslt-dev libxml2-dev > /dev/null \ + && ln -s /usr/include/libxml2/libxml /usr/include/libxml \ + && chmod o+t -R /tmp + +# Force the "development" environment. +# See docker-compose.yml for documentation. +ENV RAILS_ENV=development CMD ["rails", "server", "-b", "0.0.0.0"] diff --git a/.docker/redmine/additional_environment.rb b/.docker/redmine/additional_environment.rb deleted file mode 100644 index e69de29b..00000000 diff --git a/.docker/redmine/database.yml b/.docker/redmine/database.yml index 6381cdcb..9b69f8ce 100644 --- a/.docker/redmine/database.yml +++ b/.docker/redmine/database.yml @@ -13,3 +13,7 @@ development: test: <<: *default database: redmine_test + +production: + <<: *default + database: redmine_production diff --git a/Rakefile b/Rakefile index 9c3132e7..6de85a37 100644 --- a/Rakefile +++ b/Rakefile @@ -55,7 +55,7 @@ task :provision do puts 'Installing dev packages...' sleep(2) sh 'docker compose exec redmine bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32' - sh 'docker compose exec redmine bundle config set with "default dev test"' + sh 'docker compose exec redmine bundle config --delete without' sh 'docker compose exec redmine bundle install' puts 'Preparing database...' diff --git a/docker-compose.yml b/docker-compose.yml index 892b096c..c641332e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,12 @@ services: - mysql - mailhog environment: - RAILS_ENV: development + # Unfortunately, using RAILS_ENV in the docker-compose.yml file causes + # an error. Thus, as per community suggestions, we set the environment + # to "production" and then change it to "development" in the Dockerfile. + # + # See https://github.com/docker-library/redmine/issues/298 + RAILS_ENV: production REDMINE_LANG: en REDMINE_DB_MYSQL: mysql REDMINE_DB_ENCODING: utf8 @@ -23,7 +28,6 @@ services: - ./.docker/redmine/seeds.rb:/usr/src/redmine/db/seeds.rb - ./.docker/redmine/configuration.yml:/usr/src/redmine/config/configuration.yml - ./.docker/redmine/database.yml:/usr/src/redmine/config/database.yml - - ./.docker/redmine/additional_environment.rb:/usr/src/redmine/config/additional_environment.rb mysql: image: mariadb:10.6 container_name: t2r-5x-mysql