From 75410a66ffe7fbef18b7255293749eaef9f8e341 Mon Sep 17 00:00:00 2001 From: "Ivan I. Ovchinnikov" Date: Thu, 20 Nov 2025 18:41:05 +0000 Subject: [PATCH] feat: init redmine with plugins --- .gitignore | 3 +++ Dockerfile | 33 +++++++++++++++++++++++++++++++++ db.env.example | 3 +++ docker-compose.yml | 20 ++++++++++++++++++++ redmine.env.example | 6 ++++++ 5 files changed, 65 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 db.env.example create mode 100644 docker-compose.yml create mode 100644 redmine.env.example diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5098f1b --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +storage/ +db.env +redmine.env diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ae68ff2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +FROM redmine:5.1.8 + +RUN apt update -y && apt install -y unzip zlib1g-dev + +RUN cd /usr/src/redmine/plugins \ +&& git clone --branch v2.2.8 https://github.com/kontron/redmine_oauth.git \ +&& git clone https://github.com/taqueci/redmine_wysiwyg_editor \ +&& git clone https://github.com/alphanodes/redmine_messenger \ +&& git clone https://github.com/haru/redmine_theme_changer \ +&& git clone https://github.com/HugoHasenbein/redmine_more_previews \ +&& wget --no-check-certificate https://nexus.nstest.local/repository/redmine-plugins/custom/redmine_checklists-4_0_0-light.zip \ +&& unzip redmine_checklists-4_0_0-light.zip && rm redmine_checklists-4_0_0-light.zip \ +&& wget --no-check-certificate https://nexus.nstest.local/repository/redmine-plugins/custom/redmine_kanban-v2.6.0-free.zip \ +&& unzip redmine_kanban-v2.6.0-free.zip && rm redmine_kanban-v2.6.0-free.zip \ +&& wget --no-check-certificate https://nexus.nstest.local/repository/redmine-plugins/custom/redmine_resources-2_0_6-light.zip \ +&& unzip redmine_resources-2_0_6-light.zip && rm redmine_resources-2_0_6-light.zip \ +&& chown -R www-data:www-data ./ + +RUN cd /usr/src/redmine/plugins/redmine_kanban/db/migrate/ && \ + if [ -f "20211215012800_create_checklists.rb" ]; then \ + mv "20211215012800_create_checklists.rb" "20211215012800_create_kanban_checklists.rb" && \ + sed -i 's/class CreateChecklists/class CreateKanbanChecklists/g' "20211215012800_create_kanban_checklists.rb"; \ + fi + +# Fix permissions for bundle install of bigdecimal for redmine_oauth +RUN chown -R redmine: /usr/local/bundle/ && chmod -R o-w /usr/local/bundle/ + +# Install build-essential to build dependencies of redmine_oauth +RUN export DEBIAN_FRONTEND=noninteractive \ + && apt-get update \ + && apt-get install --yes --no-install-recommends build-essential \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* diff --git a/db.env.example b/db.env.example new file mode 100644 index 0000000..06dd18d --- /dev/null +++ b/db.env.example @@ -0,0 +1,3 @@ +POSTGRES_PASSWORD= +POSTGRES_DB=redmine +PGDATA="/var/lib/postgresql/data" diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d3dfa91 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,20 @@ +services: + postgres: + image: postgres:10 + volumes: + - ./storage/postgresql-data:/var/lib/postgresql/data + env_file: + - db.env + restart: always + redmine: + build: + context: . + dockerfile: Dockerfile + ports: + - 3000:3000 + volumes: + - ./storage/docker_redmine-themes:/usr/src/redmine/public/themes + - ./storage/docker_redmine-data:/usr/src/redmine/files + env_file: + - redmine.env + restart: always diff --git a/redmine.env.example b/redmine.env.example new file mode 100644 index 0000000..b9bb931 --- /dev/null +++ b/redmine.env.example @@ -0,0 +1,6 @@ +REDMINE_DB_POSTGRES=postgres +REDMINE_DB_USERNAME=postgres +REDMINE_DB_PASSWORD= +REDMINE_DB_DATABASE=redmine +REDMINE_SECRET_KEY_BASE= +REDMINE_PLUGINS_MIGRATE=true