documentation

Please see: hub.docker.com/r/sameersbn…

Pull unofficial mirrors

The reason is that you can configure external mysql, themes, etc.

Docker pull sameersbn/redmine: 4.0.4Copy the code

Data is stored

mkdir -p ~/redmine
Copy the code

Log in to the mysql database for configuration

mysql -uroot -p
CREATE USER 'redmine'@'%.%.%.%' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS `redmine_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `redmine_production`.* TO 'redmine'@'%.%.%.%';
Copy the code

Install plug-ins and themes

The plug-in

Available plug-ins: Redmine Plugins Directory.

mkdir -p ~/redmine/plugins
cd ~/redmine/plugins
#Simple copy, for example:
git clone https://github.com/Ilogeek/redmine_issue_dynamic_edit.git
git clone https://github.com/paginagmbh/redmine_lightbox2.git
# git clone https://github.com/mikitex70/redmine_drawio.git
git clone https://github.com/haru/redmine_theme_changer
Copy the code

There are also some free plug-ins, Baidu Cloud share:

Link: pan.baidu.com/s/11JFDoTvL… Extraction code: D7V4

What if you run the image and then install a plug-in?

docker exec -it redmine redmine-install-plugins
Copy the code

The theme

Available topics: Redmine Themes Directory

mkdir -p ~/redmine/themes
cd ~/redmine/themes
git clone https://github.com/makotokw/redmine-theme-gitmike.git gitmike
git clone https://github.com/mrliptontea/PurpleMine2.git
git clone https://github.com/yenihayat/redmine-theme-yh.git
Copy the code

What if you run the image and then install the theme?

docker exec -it redmine redmine-install-themes
Copy the code

Ready to run

Run the mirror

Docker run --name=redmine -d --restart=always --env='DB_ADAPTER=mysql2' --env='DB_HOST=172.18.0.1' --env='DB_NAME=redmine_production' \ --env='DB_USER=redmine' --env='DB_PASS=password' \ --env='[email protected]' --env='SMTP_PASS=*****' \ --volume=/root/redmine:/home/redmine/data \ --publish=8085:80 \ --env='REDMINE_PORT=8085' \ sameersbn/redmine:4.0.4Copy the code
  • Note that the port mapping inside is mapped to80Port, and environment variables are requiredREDMINE_PORTSet the external port.
  • Notice The email authorization code is obtained from the service provider. It is hidden here and you do not need to configure it.
  • The database uses an external database,DB_HOSTView by commandip addr show docker0Of course, you can also use a container database, see his instructions.

Please be patient!

In the case of it, we can see that it does this, so it’s ok to wait 10 minutes:

Initializing logdir... Initializing datadir... Symlinking dotfiles... Installing configuration templates... Configuring redmine... Configuring redmine::database Configuring redmine::unicorn... Configuring redmine::secret_token... Generating a session token... Note: All old sessions will become invalid. Please specify the REDMINE_SECRET_TOKEN parameter for persistence. **SHOULD** be defined if you have a load-balancing Redmine cluster. Configuring redmine::max_concurrent_ajax_uploads... Configuring redmine::sudo_mode... Configuring redmine::autologin_cookie... Configuring redmine::email_delivery... Configuring redmine::backups... Configuring nginx... Configuring nginx::redmine... Installing plugins... Installing gems required by plugins... Migrating plugins. Please be patient, this could take a while... Installing themes... 2019-10-06 14:04:40,389 CRIT Supervisor running as root (no user in config file) 2019-10-06 14:04:40,390 WARN Included Extra file "/ etc/supervisor/conf. D/cron. Conf" during parsing the 14:04:40 2019-10-06, 391 WARN that Included extra file "/ etc/supervisor/conf. D/nginx. Conf" during parsing the 14:04:40 2019-10-06, 391 WARN that Included extra file "/ etc/supervisor/conf. The d/unicorn. Conf" during parsing the 14:04:40 2019-10-06, 402 INFO RPC interface 'supervisor' the initialized 2019-10-06 14:04:40,402 CRIT Server 'unix_HTTP_server' running without any HTTP authentication checking 2019-10-06 Introduction: 14:04:40,403 INFO container started with PID 1 2019-10-06 14:04:41,405 INFO spawned: Spawned: 'Unicorn' with PID 252 2019-10-06 14:04:41,406 INFO SPAWNED: 'Cron' with PID 253 2019-10-06 14:04:41,414 INFO SPAWNED: 'nginx' with pid 254 2019-10-06 14:04:42,838 INFO success: unicorn entered RUNNING state, Process has stayed up for > than 1 seconds (startsecs) 2019-10-06 14:04:42,839 INFO success: cron entered RUNNING state, Process has stayed up for > than 1 seconds (startsecs) 2019-10-06 14:04:42,840 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)Copy the code

The login

Please wait a minute or two before returning to http://localhost:8085 (I have deployed to the cloud so the url will change, but the port is still 8085) :

User name: admin Password: admin

Examples of effects:

Writing is not easy, thank you!


dffaceCopyright notice: All articles are valid unless otherwise statedCC BY – NC – SA 4.0License agreement. Reproduced please indicate the source, commercial use is strictly prohibited!