Git Product home page Git Product logo

docker-redmine's Issues

Cron doesn't seem to run anything

I set up redmine 2.6.0-1 using the init script to add the crontab for the recurring tasks plugin, but it's never actually getting run. I checked inside the container:

root@redmine:~# crontab -l -u redmine
15 */4 * * * cd /home/redmine/redmine && bundle exec rake redmine:recur_tasks RAILS_ENV=production >> log/cron_rake.log 2>&1

crond is running, but it doesn't seem to actually log anything anywhere, and there's no cron_rake.log created, nor are my tasks getting run. If I run the task manually, it works fine.

As a side note, the example cron for the recurring tasks plugin in your documentation is set to run at * */4 * * * which is once per minute for an hour, every 4 hours. I chose 15 */4 * * * for a more reasonable schedule.

Linking DB container

Great image and documentation! Thanks for you effort.

One question though: Does this support linking with a mysql-only container using environment variables?

Missing the "Advanced section"

In the README, there is a reference to an "Advanced section" for running Redmine in production, but I can't find this section anywhere. Would be nice to know how to run the container in production

groupadd: failure while writing changes to /etc/group

just build it...
addgroup: `/usr/sbin/groupadd -g 103 mysql' returned error code 10. Exiting.
dpkg: error processing /var/cache/apt/archives/mysql-server-5.5_5.5.38-0ubuntu0.12.04.1_amd64.deb (--unpack):
subprocess new pre-installation script returned error exit status 1
...
Errors were encountered while processing:
/var/cache/apt/archives/mysql-server-5.5_5.5.38-0ubuntu0.12.04.1_amd64.deb
Sub-process /usr/bin/dpkg returned an error code (1)

trying to change mysql-server to mysql-client (I use external base)
maddgroup: /usr/sbin/groupadd -g 103 ssh' returned error code 10. Exiting. mdpkg: error processing openssh-client (--configure): subprocess installed post-installation script returned error exit status 1 ... groupadd: failure while writing changes to /etc/group addgroup:/usr/sbin/groupadd -g 103 _cvsadmin' returned error code 10. Exiting.
dpkg: error processing cvs (--configure):
subprocess installed post-installation script returned error exit status 1
...
groupadd: failure while writing changes to /etc/group
addgroup: `/usr/sbin/groupadd -g 103 memcache' returned error code 10. Exiting.
dpkg: error processing memcached (--configure):
subprocess installed post-installation script returned error exit status 1
...
Errors were encountered while processing:
openssh-client
cvs
memcached
Sub-process /usr/bin/dpkg returned an error code (1)

SMTP not working

Hello,

while installing a recent image on ubuntu 14.04, I found out I couldn't open issues due to system error.

I couldn't see why, but with nsenter I was able to troubleshoot it, finding SMTP as the culprit.

We should either fix SMTP, or make SMTP disabled by default.

Another possible reason is that I have a tight firewall, but other images just worked fine in this regard. Or maybe is that I use a clean image with everything set to default?

Plugin Installation fail when a Gem has to be build

Hi,
When I want to install the redmine_backlogs plugin, the installation need to build some Gem. But the container doesn't have the dev tools to do so.

How can I do the plugin installation?

here come the trace:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
checking for main() in -lc... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/bin/ruby2.1
        --with-gherkin_lexer_ar-dir
        --without-gherkin_lexer_ar-dir
        --with-gherkin_lexer_ar-include
        --without-gherkin_lexer_ar-include=${gherkin_lexer_ar-dir}/include
        --with-gherkin_lexer_ar-lib
        --without-gherkin_lexer_ar-lib=${gherkin_lexer_ar-dir}/lib
        --with-clib
        --without-clib
/usr/lib/ruby/2.1.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
        from /usr/lib/ruby/2.1.0/mkmf.rb:541:in `try_link0'
        from /usr/lib/ruby/2.1.0/mkmf.rb:556:in `try_link'
        from /usr/lib/ruby/2.1.0/mkmf.rb:742:in `try_func'
        from /usr/lib/ruby/2.1.0/mkmf.rb:973:in `block in have_library'
        from /usr/lib/ruby/2.1.0/mkmf.rb:918:in `block in checking_for'
        from /usr/lib/ruby/2.1.0/mkmf.rb:351:in `block (2 levels) in postpone'
        from /usr/lib/ruby/2.1.0/mkmf.rb:321:in `open'
        from /usr/lib/ruby/2.1.0/mkmf.rb:351:in `block in postpone'
        from /usr/lib/ruby/2.1.0/mkmf.rb:321:in `open'
        from /usr/lib/ruby/2.1.0/mkmf.rb:347:in `postpone'
        from /usr/lib/ruby/2.1.0/mkmf.rb:917:in `checking_for'
        from /usr/lib/ruby/2.1.0/mkmf.rb:968:in `have_library'
        from extconf.rb:5:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /home/redmine/redmine/vendor/bundle/ruby/2.1.0/gems/gherkin-2.12.2 for inspection.
Results logged to /home/redmine/redmine/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0/gherkin-2.12.2/gem_make.out
An error occurred while installing gherkin (2.12.2), and Bundler cannot
continue.
Make sure that `gem install gherkin -v '2.12.2'` succeeds before bundling.

Quick Start in ReadMe stopped after starting up a postgresql

this is quick start shell command in readme

docker run --name=redmine -it --rm -p 10080:80 \
-v /var/run/docker.sock:/run/docker.sock \
-v $(which docker):/bin/docker \
sameersbn/redmine:2.6.0-1

container stopped after

Database connection details not specified.
Will try to spin up a new postgresql image with the name postgresql-redmine.
Please manually configure the database connection in production.
Starting up a new postgresql container...

Avoid duplicate fetch commits cronjobs

I've make some changes to the docker-redmine container and commited changes to the new image to save my work under new tag. After starting this altered image I've noticed, that REDMINE_FETCH_COMMITS was duplicated in the crontab. And after second commit I actually got three same commands in the crontab...

I think it's reasonable to grep current crontab for the presence of the line which is going to be (re)added. Here is the way I've implemented it:

--- a/assets/init
+++ b/assets/init
@@ -428,14 +428,18 @@ if [ -d ${DATA_DIR}/themes ]; then
 fi

 # create a cronjob to periodically fetch commits
+REDMINE_CRONJOB_FILE=/tmp/cron.redmine
 case "${REDMINE_FETCH_COMMITS}" in
   hourly|daily|monthly)
     set +e
-    crontab -u redmine -l 2>/dev/null >/tmp/cron.redmine
+    crontab -u redmine -l 2>/dev/null >${REDMINE_CRONJOB_FILE}
     set -e
-    echo "@${REDMINE_FETCH_COMMITS} cd /home/redmine/redmine && ./script/rails runner \"Repository.fetch_changesets\" -e production >> log/cron_rake.log 2>&1" >>/tmp/cron.redmine
-    crontab -u redmine /tmp/cron.redmine 2>/dev/null
-    rm -rf /tmp/cron.redmine
+    REDMINE_FETCH_CRONJOB="@${REDMINE_FETCH_COMMITS} cd /home/redmine/redmine && ./script/rails runner \"Repository.fetch_changesets\" -e production >> log/cron_rake.log 2>&1"
+    if ! fgrep "${REDMINE_FETCH_CRONJOB}" ${REDMINE_CRONJOB_FILE} >/dev/null; then
+       echo "${REDMINE_FETCH_CRONJOB}" >>${REDMINE_CRONJOB_FILE}
+       crontab -u redmine ${REDMINE_CRONJOB_FILE} 2>/dev/null
+    fi
+    rm -f ${REDMINE_CRONJOB_FILE}
     ;;
 esac


That should fix the problem.

gmail smtp setting not working

the mail config is below
-e "SMTP_USER=[email protected]" -e "SMTP_PASS=PASSWORD"

when docker redmine is running, testing mail can not send, the default redmine mail setting has no tls attribute

it seems that redmine image need more tls plugin or disable gmail tls setting

can not auto install libxml-ruby

I need the plugin Redmine mylyn connector (http://danmunn.github.io/redmine_mylyn_connector/). The page said this plugin needs libxml-ruby Gem. I put this plugin in /opt/redmine/data/plugins and do docker run command, the libxml-ruby can not auto install

the error msg is

An error occurred while installing libxml-ruby (2.7.0), and Bundler cannot continue.
Make sure that gem install libxml-ruby -v '2.7.0' succeeds before bundling.

Not working on ubuntu 14.04

Hi guys,

I tried to launch this container on ubuntu 14.04, but it return an error page.

The only thing I did differently from the default, is -p 1680:80, to map the port of the container, because 80 is not free on my host.

Can anyone else confirm this?>

SMTP_ENABLED=false does not disable SMTP

Even if I set -e SMTP_ENABLED=false -e SMTP_USER=, I always end up with this config:

$ /bin/cat redmine/config/initializers/smtp_settings.rb
if Rails.env.production?
  ActionMailer::Base.delivery_method = :smtp
  ActionMailer::Base.perform_deliveries = true
  ActionMailer::Base.raise_delivery_errors = true
  ActionMailer::Base.smtp_settings = {
    :address              => "smtp.gmail.com",
    :port                 => 587,
    :domain               => "www.gmail.com",
    :authentication       => :login,
    :enable_starttls_auto => true
  }
end

Then, after doing things that send a notification mail (like creating an issue), I get an internal error because Redmine fails to send mail.

Squshing image in public repository

Hi, Sameer!

Just a suggestion - I came across http://jasonwilder.com/blog/2014/08/19/squashing-docker-images/ and his tool https://github.com/jwilder/docker-squash. By squashing image with the sequence:

docker save -o adlantic-latest.tar 2adf78665c7e
docker-squash --verbose -i adlantic-latest.tar -o squashed.tar -t adlantic/redmine:squash
docker load -i squashed.tar

I've got:

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
adlantic/redmine    squash              69131321fdf0        4 hours ago         632.6 MB
adlantic/redmine    local               2adf78665c7e        4 hours ago         661.1 MB

Dunno, would it make any sense for you.

  ▒▒8cbdf71a8e7f Virtual Size: 192.6 MB
    ▒▒e630be76d257 Virtual Size: 632.6 MB
    ▒ ▒▒377d75fdc1ac Virtual Size: 632.6 MB
    ▒   ▒▒cfa3478378e8 Virtual Size: 632.6 MB
    ▒     ▒▒c44d01d82931 Virtual Size: 632.6 MB
    ▒       ▒▒9421a7f4c053 Virtual Size: 632.6 MB
    ▒         ▒▒b4ca9c4ab71e Virtual Size: 632.6 MB
    ▒           ▒▒0f2e81fe0681 Virtual Size: 632.6 MB
    ▒             ▒▒0845f8d018f7 Virtual Size: 632.6 MB
    ▒               ▒▒cd4b4fdad1d1 Virtual Size: 632.6 MB
    ▒                 ▒▒db0fd50fbe56 Virtual Size: 632.6 MB
    ▒                   ▒▒69131321fdf0 Virtual Size: 632.6 MB Tags: adlantic/redmine:squash
    ▒▒c31865d83ea1 Virtual Size: 192.7 MB
      ▒▒1b2af7d5307a Virtual Size: 192.7 MB
        ▒▒311ec46308da Virtual Size: 192.8 MB
          ▒▒96e1c132acb3 Virtual Size: 194.9 MB
            ▒▒c3d5614fecc4 Virtual Size: 194.9 MB
              ▒▒75a9ec6cb3c6 Virtual Size: 194.9 MB
                ▒▒5dc5a7797214 Virtual Size: 194.9 MB
                  ▒▒b17722c406a6 Virtual Size: 201.1 MB Tags: sameersbn/ubuntu:14.04.20141001
                    ▒▒d9c3d78d368a Virtual Size: 201.1 MB
                      ▒▒acae0763b0a3 Virtual Size: 543.8 MB
                        ▒▒d1980eb8f049 Virtual Size: 543.8 MB
                          ▒▒892bf2db3780 Virtual Size: 661 MB
                            ▒▒ccdf2dc9af8e Virtual Size: 661 MB
                              ▒▒61b05ca62a0c Virtual Size: 661 MB
                                ▒▒f6ab9d6bc5f3 Virtual Size: 661.1 MB
                                  ▒▒bf36d3f0616a Virtual Size: 661.1 MB
                                    ▒▒5194e8d20990 Virtual Size: 661.1 MB
                                      ▒▒8c357e608fc9 Virtual Size: 661.1 MB
                                        ▒▒58a9997b683c Virtual Size: 661.1 MB
                                          ▒▒bbbf6cfa0e51 Virtual Size: 661.1 MB
                                            ▒▒2adf78665c7e Virtual Size: 661.1 MB Tags: adlantic/redmine:local
# docker history adlantic/redmine:local
IMAGE               CREATED             CREATED BY                                      SIZE
2adf78665c7e        4 hours ago         /bin/sh -c #(nop) CMD [app:start]               0 B
bbbf6cfa0e51        4 hours ago         /bin/sh -c #(nop) ENTRYPOINT [/app/init]        0 B
58a9997b683c        4 hours ago         /bin/sh -c #(nop) VOLUME [/var/log/redmine]     0 B
8c357e608fc9        4 hours ago         /bin/sh -c #(nop) VOLUME [/home/redmine/data]   0 B
5194e8d20990        4 hours ago         /bin/sh -c #(nop) EXPOSE map[443/tcp:{}]        0 B
bf36d3f0616a        4 hours ago         /bin/sh -c #(nop) EXPOSE map[80/tcp:{}]         0 B
f6ab9d6bc5f3        4 hours ago         /bin/sh -c chmod 755 /app/init                  19.91 kB
61b05ca62a0c        4 hours ago         /bin/sh -c #(nop) ADD file:b2ac5c8cb13d820914   19.91 kB
ccdf2dc9af8e        4 hours ago         /bin/sh -c #(nop) ADD dir:e4c01b409ece3474987   10.6 kB
892bf2db3780        4 hours ago         /bin/sh -c chmod 755 /app/setup/install && /a   117.2 MB
d1980eb8f049        4 hours ago         /bin/sh -c #(nop) ADD dir:1758c79e006f05d72a8   4.783 kB
acae0763b0a3        4 hours ago         /bin/sh -c apt-key adv --keyserver keyserver.   342.8 MB
d9c3d78d368a        4 hours ago         /bin/sh -c #(nop) MAINTAINER sameer@damagehea   0 B
b17722c406a6        2 weeks ago         /bin/sh -c echo "APT::Install-Recommends 0;"    6.137 MB
5dc5a7797214        2 weeks ago         /bin/sh -c #(nop) ENV DEBIAN_FRONTEND=noninte   0 B
75a9ec6cb3c6        2 weeks ago         /bin/sh -c #(nop) MAINTAINER sameer@damagehea   0 B
c3d5614fecc4        2 weeks ago         /bin/sh -c #(nop) CMD [/bin/bash]               0 B
96e1c132acb3        2 weeks ago         /bin/sh -c apt-get update && apt-get dist-upg   2.178 MB
311ec46308da        2 weeks ago         /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/   1.895 kB
1b2af7d5307a        2 weeks ago         /bin/sh -c rm -rf /var/lib/apt/lists/*          0 B
c31865d83ea1        2 weeks ago         /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic   194.5 kB
8cbdf71a8e7f        2 weeks ago         /bin/sh -c #(nop) ADD file:c0f316fa0dcbdd4635   192.6 MB
511136ea3c5a        16 months ago                                                       0 B
# docker history adlantic/redmine:squash
IMAGE               CREATED             CREATED BY                                      SIZE
69131321fdf0        4 hours ago         /bin/sh -c #(nop) CMD [app:start]               0 B
db0fd50fbe56        4 hours ago         /bin/sh -c #(nop) ENTRYPOINT [/app/init]        0 B
cd4b4fdad1d1        4 hours ago         /bin/sh -c #(nop) VOLUME [/var/log/redmine]     0 B
0845f8d018f7        4 hours ago         /bin/sh -c #(nop) VOLUME [/home/redmine/data]   0 B
0f2e81fe0681        4 hours ago         /bin/sh -c #(nop) EXPOSE map[443/tcp:{}]        0 B
b4ca9c4ab71e        4 hours ago         /bin/sh -c #(nop) EXPOSE map[80/tcp:{}]         0 B
9421a7f4c053        4 hours ago         /bin/sh -c #(nop) MAINTAINER sameer@damagehea   0 B
c44d01d82931        4 hours ago         /bin/sh -c #(nop) ENV DEBIAN_FRONTEND=noninte   0 B
cfa3478378e8        4 hours ago         /bin/sh -c #(nop) MAINTAINER sameer@damagehea   0 B
377d75fdc1ac        4 hours ago         /bin/sh -c #(nop) CMD [/bin/bash]               0 B
e630be76d257        4 hours ago         /bin/sh -c #(squash) from 8cbdf71a8e7f          440.1 MB
8cbdf71a8e7f        2 weeks ago         /bin/sh -c #(nop) ADD file:c0f316fa0dcbdd4635   192.6 MB
511136ea3c5a        16 months ago                                                       0 B

Source image doesn't have ShellShock fix

Based on the date string, sameersbn/debian:jessie.20140918, the image this release is based on, wouldn't have the fixes that protect against the shellshock bash vulnerability and its variants. Please update your base docker image to include the recent bash updates and re-release any images that depend on it.

Enforce order of daemons to start

Hi, @sameersbn!

Hope, this is the last on from me :) On startup of the container I see in the logs:

2014-10-21 22:51:26,625 WARN Included extra file "/etc/supervisor/conf.d/nginx.conf" during parsing
2014-10-21 22:51:26,625 WARN Included extra file "/etc/supervisor/conf.d/cron.conf" during parsing
2014-10-21 22:51:26,625 WARN Included extra file "/etc/supervisor/conf.d/unicorn.conf" during parsing
2014-10-21 22:51:27,119 INFO RPC interface 'supervisor' initialized

Possibly I'm just too quick, but when I'm trying to open the URL of the Redmine in the first minute or so I do get 502 Bad gateway from nginx. This seems to be a result of nginx starting before unicorn. Not a big deal again, but maybe explicit ordering in the startup sequence can help. Like naming config files 01-unicorn.conf, 02-cron.conf,03-nginx.conf`.

mysql database password

Hello,

This is a "Feature request"

Today i tried to place a dump from a production Redmine environment inside the Docker test mysql environment running on your created container, im working on a script with the redmine api and to quick test some aspects i want to load in the production database to see what happens if users already exists etc. I don't care about persistence for this database, its just a quick test run. But i can't seem to import the dataset because i do not have the mysql root password. I tried -u redmine -p password / -uroot -p etc etc and some of the password examples used in your advanced text, but with no result. I can off course start mysqladmin, or attach an external database... But maybe adding a default admin and password can get people up and running quick. Just a request to what i think is an improvement, let me know what you think.

Regards,

Rogier

nginx outside of container

Hi!

I've to migrate a redmine cause of some issues on our current version and we discussed on maybe going for the docker way. Found your repo, tested, all is working good, good job! :)

Now I've a question.. as we (and probably everybody else) will use another nginx on the host for connecting to the container and publishing the content to the world, couldn't it be a bit better if we leave the gunicorns directly answering on the container instead of having that other nginx inside?

Thanks.

502 Bad Gateway after commit

Hi,

after creating the image and running the container, redmine is working as expected. But when I make an new image, using "docker commit...", I get only "502 bad gateway" after running this new image.

In var/log/nginx/redmine_error.log, the error is:

2014/09/11 13:17:24 [error] 104#0: *5 connect() to unix:/home/redmine/redmine/tmp/sockets/redmine.socket failed (111: Connection refused) while connecting to upstream, client: ...

Thanks

Add memcached into container

Memcached is recommended cachestore for redmine.
We can easy install memcached and memcache-client gem. Than run memcached by supervisor and put config/additional_environment.rb with this content:

config.gem 'memcache-client'
config.action_controller.perform_caching  = true
config.cache_classes = true
config.cache_store = :mem_cache_store, "127.0.0.1:1121"

If you like the idea, then I can do it myself later.

rake complains that some gems are added twice in Gemfile

If you take a look into unicorn.log you can see, that on startup it complains, that 'mysql2' and some other gems are mentioned more, than once in Gemfile. Error says that it may lead to the problems to the future. So, adding a guardian code before adding those gems to the Gemfile should help:

--- a/assets/setup/install
+++ b/assets/setup/install
@@ -36,8 +40,12 @@ cd ${INSTALL_DIR}
 echo "${REDMINE_VERSION}" > ${INSTALL_DIR}/VERSION

 # add support for mysql and postgresql databases
-echo 'gem "mysql2", "~> 0.3.11"' >> Gemfile
-echo 'gem "pg", ">= 0.11.0"' >> Gemfile
+if ! fgrep 'gem "mysql2"' Gemfile >/dev/null; then
+    echo 'gem "mysql2", "~> 0.3.11"' >> Gemfile
+fi
+if ! fgrep 'gem "pg"' Gemfile >/dev/null; then
+    echo 'gem "pg", ">= 0.11.0"' >> Gemfile
+fi

 # add gems for app server and memcache support
 echo 'gem "unicorn"' >> Gemfile
@@ -45,8 +53,12 @@ echo 'gem "dalli", "~> 2.7.0"' >> Gemfile

 # following gems are added to fix some issues that are
 # generally seen when installing gems from the cache
-echo 'gem "fastercsv", "~> 1.5.0"' >> Gemfile
-echo 'gem "yard"' >> Gemfile
+if ! fgrep 'gem "fastercsv"' Gemfile >/dev/null; then
+    echo 'gem "fastercsv", "~> 1.5.0"' >> Gemfile
+fi
+if ! fgrep 'gem "yard"' Gemfile >/dev/null; then
+    echo 'gem "yard"' >> Gemfile
+fi

 # install gems, use cache if available
 if [ -d "${GEM_CACHE_DIR}" ]; then

dot files in /home/redmine

With svn+ssh access to remote repository we need to keep .ssh/ somewhere. The same applies to git, bzr keeps some configs in .bzrfile(?), svn keeps repository access configuration in .subversion/ and so on. With the docker changes in /home/redmine are not persistent, unless you clone your own container from docker-redmine with 'docker commit'. That's an option, of course, but then you lock yourself from further upgrades of the base image or you need to remember to backup those diffs somehow...

A better option would be to make volume out of /home/redmine rather than just /home/redmine/data. But that would break current setup, as /home/redmine/redmine should go somewhere else. Dunno, what would you think about such a move...

A less intrusive solution would be to put all the essential dot dirs/files inside /home/redmine/data and symlink them to the upper /home/redmine on startup. At least with .ssh/ that worked.

So, what do you think would be a better solution and would you like to implement it?

Check the logs

After restarting the host, my redmine installation is giving some errors, inviting to check the logs.

But how do I read them? Is there a way to run the container so that I can access the shell? Or maybe to add SSH access?

I was thinking about cloning the container rerunning with the /bin/bash command, and then start redmine manually.

Connecting mysql on host

Hi,
First of all, thanks for the great work on this image! Unfortunately I'm having a problem connecting to my mysql server on the host. Using 127.0.0.1 does not work, so I think I have to use a socket connection.
The problem is I don't know how to configure this using the environment variables.
Could you point me in the right direction?

Best regards,
Peter

REDMINE_HTTPS=true does not seem to work

I created the cert and exposed 80 and also 443, 80 is still working. Also using the RELATIVE_URL option and that is working.

This is the exact command:
docker run --name=redmine_cyphy -d -e 'REDMINE_HTTPS=true' -e 'REDMINE_RELATIVE_URL_ROOT=/redmine' --link mysql_cyphy:mysql -p 80:80 -p 443:443 -v /data/redmine/data:/home/redmine/data sameersbn/redmine:2.6.0-1

Add dist-upgrade to the Dockerfile

Although base image for redmine is very recent, still if I enter the container and issue 'apt-get update' I can see that there are already certain packages require an update. I understand, that eventually base will be upgraded and new image will get packages up-to-date, but while I'm rebuilding image from Dockerfile I'm installing the latest at the moment of the build additional packages to the base image. But still, packages, that were in the base image remain outdated.

I believe, it's reasonable to add additional line with 'apt-get -y dist-upgrade' in the RUN chain so resulting image will have all installed packages up-to-date.

Remove Charts plugin

I don't think charts plugin works with redmine 2.4.x. I don't see it doing any thing in my test installation.

Please let me know if it works for anyone of you, else it got's to go

Move redmine logs to /var/log

If you ever tried to debug failing server you know, that it's very handy to have them in one place. Most of the docker-redmine logs are situated in /var/log, except, well, redmine logs themselves. It would be very handy to have them there as well, in /var/log/redmine/, for example. Altering all the references to log/ is not a trivial task, so I think the easiest way to solve this is to use symlink from log/ to /var/log/redmine/.

--- a/assets/setup/install
+++ b/assets/setup/install
@@ -22,6 +22,10 @@ passwd -d redmine
 # create the data store
 sudo -u redmine -H mkdir -p /home/redmine/data

+# create redmine log directory
+mkdir -p /var/log/redmine
+chown -R redmine:redmine /var/log/redmine
+
 # install redmine, use local copy if available
 mkdir -p ${INSTALL_DIR}
 if [ -f ${SETUP_DIR}/redmine-${REDMINE_VERSION}.tar.gz ]; then
@@ -71,6 +83,10 @@ ln -sf ${DATA_DIR}/tmp/thumbnails tmp/thumbnails
 # create link to tmp/secret_token.rb
 ln -sf ${DATA_DIR}/tmp/secret_token.rb config/initializers/secret_token.rb

+# create link to the log directory
+rm -rf log
+ln -sf /var/log/redmine log
+
 # create production log
 sudo -u redmine -H touch log/production.log

Nginx gives alerts about not being able to read from upstream server

When running the docker with this command:

docker run -e DB_HOST=10.0.0.1 -e DB_NAME=redmine -e DB_USER=redmine -e DB_PASS=mypass -e DB_TYPE=mysql -v /tmp/log:/var/log/redmine --name=redmine -it --rm -p 10080:80 -v /var/run/docker.sock:/run/docker.sock -v $(which docker):/bin/docker sameersbn/redmine:2.6.0-1

It will stop responding to requests after a few requests. Retrying will eventually return the requested page. Adding -e UNICORN_WORKERS=12 helps a bit but will still throw errors in the nginx logs after a few requests (less than 12). The error I see in the logs is:

2014/12/10 15:32:26 [alert] 124#0: *37 readv() failed (13: Permission denied) while reading upstream, client: 10.0.0.10, server: , request: "GET / HTTP/1.1", upstream: "http://unix:/home/redmine/redmine/tmp/sockets/redmine.socket:/", host: "10.0.0.1:10080"

The requests were made using curl and even with 12 workers it will return 'transfer closed with outstanding read data remaining'.

data stored in the mysql database will be lost if the container is stopped?

hi,

You say: "However in this case, the data stored in the mysql database will be lost if the container is stopped/deleted"
I am new to docker, but I thought that when you stop a container all data is written to the container layer, and when you start that container it will have the same state and data as when it was stopped.
Am I missing something here?

"Permission denied" on /redmine

I'm facing a very strange issue running this container on Docker version 0.8.0, build cc3a8c8.

Docker logs gives me this

User: root Password: xohGahghio1A
sed: can't read config/database.yml: Permission denied
sed: can't read config/database.yml: Permission denied
sed: can't read config/database.yml: Permission denied
sed: can't read config/database.yml: Permission denied
sed: can't read config/database.yml: Permission denied
sed: can't read config/database.yml: Permission denied
memcached: stopped
memcached: updated process group
memcached: started
sed: can't read config/additional_environment.rb: Permission denied
mv: accessing `plugins-1': Permission denied
rake aborted!
Permission denied - /redmine

(See full trace by running task with --trace)
rake aborted!
Permission denied - /redmine

(See full trace by running task with --trace)
mv: accessing `plugins': Permission denied
rake aborted!
Permission denied - /redmine

(See full trace by running task with --trace)
rake aborted!
Permission denied - /redmine

(See full trace by running task with --trace)
rake aborted!
Permission denied - /redmine

(See full trace by running task with --trace)
rake aborted!
Permission denied - /redmine

(See full trace by running task with --trace)
touch: cannot touch `tmp/restart.txt': Permission denied
--2014-03-19 08:58:27--  http://localhost/
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:80... failed: Connection refused.
Connecting to localhost (localhost)|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2014-03-19 08:58:27 ERROR 403: Forbidden.

redmine:80 127.0.0.1 - - [19/Mar/2014:08:58:27 +0000] "GET / HTTP/1.1" 403 517 "-" "Wget/1.13.4 (linux-gnu)"

When I ssh into the container and try to access the /redmine directory with root all is fine but not for its owner www-data.

[root@redmine ~]# cd /
[root@redmine /]# ls -l | grep redmine
drwxr-xr-x  34 www-data www-data  4096 Mar 19 08:58 redmine
[root@redmine /]# ls -l redmine/
total 92
-rw-rw-r--  1 www-data www-data  240 Mar  2 11:28 CONTRIBUTING.md
-rw-rw-r--  1 www-data www-data 3532 Mar 19 08:56 Gemfile
-rw-r--r--  1 www-data www-data 3856 Mar 19 08:57 Gemfile.lock
-rw-rw-r--  1 www-data www-data  205 Mar  2 11:28 README.rdoc
-rw-rw-r--  1 www-data www-data  275 Mar  2 11:28 Rakefile
drwxrwxr-x 12 www-data www-data 4096 Mar 19 08:58 app
drwxrwxr-x  8 www-data www-data 4096 Mar 19 08:58 config
-rw-rw-r--  1 www-data www-data  160 Mar  2 11:28 config.ru
drwxrwxr-x  4 www-data www-data 4096 Mar 19 08:58 db
drwxrwxr-x  2 www-data www-data 4096 Mar 19 08:58 doc
drwxrwxr-x  8 www-data www-data 4096 Mar 19 08:58 extra
drwxr-xr-x  2 www-data www-data 4096 Mar 19 08:07 files
drwxrwxr-x 14 www-data www-data 4096 Mar 19 08:58 lib
drwxr-xr-x  2 www-data www-data 4096 Mar 19 08:58 log
drwxrwxr-x 30 www-data www-data 4096 Mar 19 08:58 plugins
drwxrwxr-x 14 www-data www-data 4096 Mar 19 08:58 public
-rwxr-xr-x  1 www-data www-data 5141 Mar 19 08:53 redmine
drwxrwxr-x  2 www-data www-data 4096 Mar 19 08:58 script
drwxr-x---  9 www-data www-data 4096 Mar 19 08:58 setup
drwxrwxr-x 16 www-data www-data 4096 Mar 19 08:58 test
drwxrwxrwt 14 www-data www-data 4096 Mar 19 08:58 tmp
drwxrwxr-x  4 www-data www-data 4096 Mar 19 08:58 vendor
[root@redmine /]# sudo -u www-data -H ls redmine/
ls: cannot open directory redmine/: Permission denied
[root@redmine /]# su - www-data
$ cd /
$ ls -l | grep redmine
drwxr-xr-x  34 www-data www-data  4096 Mar 19 08:58 redmine
$ ls redmine/
ls: cannot open directory redmine/: Permission denied
$ cd redmine
-su: 3: cd: can't cd to redmine

The permissions on the directory look good, www-data should be able to read and cd into /redmine.

Comments much appreciated!

unable to start container instance

When I attempt to start a container instance, the following error is returned:

anapsix@test:~$ docker run --name=redmine -it --rm -p 10080:80 -e DB_USER=redmine -e DB_PASS=password -e DB_HOST=172.17.0.4 --link mysql:mysql sameersbn/redmine:latest
sudo: unable to execute /bin/cp: Permission denied

PLZ Add: sendmail support via env

I need to run internal sendmail because i hate gmail they always block and discuss with me my ips and all that i simply need working mail and would love that without setting up postfix

mysql error

hi. i just wanted to try the redmine container, using the provided db - i know i'm warned - and i got the following error :

Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''show', 'projects', 'label_overview', 1, 0, 0, 100)' at line 1: INSERT INTO `permissions` (`action`, `controller`, `description`, `is_public`, `mail_enabled`, `mail_option`, `sort`) VALUES ('show', 'projects', 'label_overview', 1, 0, 0, 100)/home/redmine/redmine/vendor/bundle/ruby/2.1.0/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:245:in `query'

Announcements

Subscribe to this issue to get notified about project announcements.
This is mainly created so that you can keep up with the changes in the application stack.
Please do not use this thread to report issues.

manpages inside the container

With the docker-entry I find it's easy and handy to access container to peek log files and check/tweak some configuration parameters. Sometimes I need to check options or other help information for the installed packages within container. Hence I try to access manpages for that packages within container, but 'man' command isn't available :(

I can imagine, that it's not installed to keep image smaller, but then - the whole bunch of manpages in /usr/share/man/* are actually there, together with /usr/share/doc/*. So, if the priority is saving space, taken by the image its worth deleting content of those directories(together with /etc/alternatives/).

Otherwise, if they are there already it's handy to be able to access those manpages and add 'man-db' package to the image.

Actually, it's possibly better to add this to the parent image, sameersbn/ubuntu and/or sameersbn/debian, as those alreasy have some manpages.

Update to your Quick Start

Hi,

Great work on the docker images.
There is a quick suggestion for improvement, only a minor, on my part.

In your Quickstart there is something missing, currently its:

Quick Start

Run the redmine image

REDMINE=$(sudo docker run -d redmine)
REDMINE_IP=$(sudo docker inspect $REDMINE | grep IPAddres | awk -F'"' '{print $4}')

This will generate this error:

REDMINE=$(sudo docker run -d redmine)Unable to find image 'redmine' (tag: latest) locally
Pulling repository redmine
2014/01/13 17:29:02 HTTP code: 404

It should be:

Quick Start

Run the redmine image

REDMINE=$(sudo docker run -d sameersbn/redmine)
REDMINE_IP=$(sudo docker inspect $REDMINE | grep IPAddres | awk -F'"' '{print $4}')

As i said, something minor. 👍 Thanks for the docker-redmine environment!

redmine error in browser: Ruby (Rack) application could not be started

Hi,
I followed your instructions but I get errors:

any idea what is wrong?

tx

error:

Ruby (Rack) application could not be started
These are the possible causes:

There may be a syntax error in the application's code. Please check for such errors and fix them.
A required library may not installed. Please install all libraries that this application requires.
The application may not be properly configured. Please check whether all configuration files are written correctly, fix any incorrect configurations, and restart this application.
A service that the application relies on (such as the database server or the Ferret search engine server) may not have been started. Please start that service.

Further information about the error may have been written to the application's log file. Please check it in order to analyse the problem.

Error message:
(eval):2: syntax error, unexpected '}', expecting tASSOC config.action_controller.perform_caching = {{ENABLE_CACHE}} ^
Exception class:
SyntaxError
Application root:
/redmine

Plugins do not get activated anymore

Since the commits from Dec 18, 2014 the plugins directory will be created and populated, but the plugins won' t get activated in redmine anymore. The version from Dec 9, 2014 works fine.

Add openssh-client to the image

Hi!

svn and git(and I guess, some other SCMs) have ability to access repositories via ssh. We are using svn+ssh schema with passwordless ssh key to access repositories history and files.

Please, add 'openssh-client' to the list of installed packages in the Dockerfile.

database connection

when I'm running this image, I got a err report showing that the database connection is not specified...

$ docker run --name=redmine -it --rm -p 10080:80 \

-v /var/run/docker.sock:/run/docker.sock
-v $(which docker):/bin/docker
sameersbn/redmine:latest
Database connection details not specified.
Will try to spin up a new postgresql image with the name postgresql-redmine.
Please manually configure the database connection in production.
Starting up a new postgresql container...
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e3fa7344fe1 training/webapp:latest "/bin/bash" About an hour ago Up About an hour 5000/tcp compassionate_goodall
cd4a36bfc173 training/webapp:latest "python app.py" 2 hours ago Up 2 hours 0.0.0.0:49155->5000/tcp web
cd4795ce7094 mongo:2 "/entrypoint.sh mong 2 hours ago Up About an hour 27017/tcp db

Doesn't show up on host

Hi! I'm running a host with docker installed and a separate MariaDB (== MySQL) instance running for other stuff on that server already, too. I tried attaching Redmine to it and this seems to work, but the service doesn't show up:

docker run --name=redmine -it --rm -e "DB_HOST=lambda" -e "DB_NAME=redmine_production" -e "DB_USER=redmine" -e "DB_PASS=r3dm1n3yourself!" -e "DB_TYPE=mysql" -v /scratch/redmine-data:/home/redmine/data sameersbn/redmine
2014-10-22 12:18:32,660 CRIT Supervisor running as root (no user in config file)
2014-10-22 12:18:32,660 WARN Included extra file "/etc/supervisor/conf.d/cron.conf" during parsing
2014-10-22 12:18:32,660 WARN Included extra file "/etc/supervisor/conf.d/nginx.conf" during parsing
2014-10-22 12:18:32,660 WARN Included extra file "/etc/supervisor/conf.d/unicorn.conf" during parsing
2014-10-22 12:18:32,769 INFO RPC interface 'supervisor' initialized
2014-10-22 12:18:32,770 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2014-10-22 12:18:32,770 INFO supervisord started with pid 1
2014-10-22 12:18:33,773 INFO spawned: 'cron' with pid 79
2014-10-22 12:18:33,776 INFO spawned: 'nginx' with pid 80
2014-10-22 12:18:33,779 INFO spawned: 'unicorn' with pid 81
2014-10-22 12:18:35,243 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2014-10-22 12:18:35,244 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2014-10-22 12:18:35,244 INFO success: unicorn entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
^C2014-10-22 14:01:01,702 WARN received SIGINT indicating exit request
2014-10-22 14:01:01,703 INFO waiting for cron, nginx, unicorn to die
2014-10-22 14:01:02,074 INFO stopped: unicorn (exit status 0)
2014-10-22 14:01:02,081 INFO stopped: nginx (exit status 0)
2014-10-22 14:01:02,083 INFO stopped: cron (terminated by SIGTERM)
[peltzer@lambda ~]$ docker run --name=redmine -it --rm -e "DB_HOST=lambda" -e "DB_NAME=redmine_production" -e "DB_USER=redmine" -e "DB_PASS=password" -e "DB_TYPE=mysql" -e 'REDMINE_RELATIVE_URL_ROOT=/redmine' -v /scratch/redmine-data:/home/redmine/data sameersbn/redmine
2014-10-22 14:01:40,197 CRIT Supervisor running as root (no user in config file)
2014-10-22 14:01:40,198 WARN Included extra file "/etc/supervisor/conf.d/cron.conf" during parsing
2014-10-22 14:01:40,198 WARN Included extra file "/etc/supervisor/conf.d/nginx.conf" during parsing
2014-10-22 14:01:40,198 WARN Included extra file "/etc/supervisor/conf.d/unicorn.conf" during parsing
2014-10-22 14:01:40,307 INFO RPC interface 'supervisor' initialized
2014-10-22 14:01:40,307 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2014-10-22 14:01:40,308 INFO supervisord started with pid 1
2014-10-22 14:01:41,311 INFO spawned: 'cron' with pid 87
2014-10-22 14:01:41,314 INFO spawned: 'nginx' with pid 88
2014-10-22 14:01:41,317 INFO spawned: 'unicorn' with pid 89
2014-10-22 14:01:42,782 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2014-10-22 14:01:42,782 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2014-10-22 14:01:42,782 INFO success: unicorn entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

I'm kind of curious whats going on. Do I have to configure stuff on the server itself too?

browser error: Ruby (Rack) application could not be started

hi,

i followed your instructions, but
redmine gives errors in the browser:

any idea what's wrong?

tx!

Ruby (Rack) application could not be started
These are the possible causes:

There may be a syntax error in the application's code. Please check for such errors and fix them.
A required library may not installed. Please install all libraries that this application requires.
The application may not be properly configured. Please check whether all configuration files are written correctly, fix any incorrect configurations, and restart this application.
A service that the application relies on (such as the database server or the Ferret search engine server) may not have been started. Please start that service.

Further information about the error may have been written to the application's log file. Please check it in order to analyse the problem.

Error message:
(eval):2: syntax error, unexpected '}', expecting tASSOC config.action_controller.perform_caching = {{ENABLE_CACHE}} ^
Exception class:
SyntaxError
Application root:
/redmine

Cleaning up tmp/sockets before starting application

After commiting altered version of the container one of the side effects of such an operation is that socket files are stored as plan files in the diff. One of such files is tmp/unicorn.socket, which prevents unicorn from starting up, as server sees it's not a socket and fails.

The easiest fix to that is to add a clean up into the appStart() function:

--- a/assets/init
+++ b/assets/init
@@ -443,6 +447,10 @@ esac
 chown -R redmine:redmine ${DATA_DIR}/tmp/

 appStart () {
+  # clear pids and sockets
+  rm -f /home/redmine/redmine/tmp/sockets/* /home/redmine/redmine/tmp/pids/*
+  #sudo -u redmine -H bundle exec rake tmp:pids:clear RAILS_ENV=production >/dev/null
+  #sudo -u redmine -H bundle exec rake tmp:sockets:clear RAILS_ENV=production >/dev/null
   # start supervisord
   exec /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
 }

plugin init example at docker start causes duplicated cron

The suggested documentation for creating a cron entry says to set up a script at plugins/init. Every time the container is restarted, the script is run, which causes the example script to stack an additional cron job into the crontab. Running the recurring tasks cron many times at once causes a lot of duplicate tasks.

Presumably the correct options are to either make it so plugins/init only runs at initial configuration or to make a suggested script that doesn't insert a new cron if there's an existing entry.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.