Install fails because of other Redis container?

Hi, i am trying to install Discourse on my vServer, which has mailcow-dockerized running behind an nginx reverse proxy.
But the install fails and i think the problem is redis. mailcow also uses a redis container.
during the discourse install i get from redis:

# Could not create server TCP listening socket *:6379: bind: Address already in use

This is probably the other Redis container causing the problem:

6c26bfa0f7f8        redis:5-alpine           "docker-entrypoint.s…"   17 hours ago        Up 17 hours         127.0.0.1:7654->6379/tcp                                                                                                                 mailcowdockerized_redis-mailcow_1

inspect gives me this network section:

            },
            "NetworkMode": "mailcowdockerized_mailcow-network",
            "PortBindings": {
                "6379/tcp": [
                    {
                        "HostIp": "127.0.0.1",
                        "HostPort": "7654"
                    }
                ]
            },

and in the end i get:

66:signal-handler (1586076474) Received SIGTERM scheduling shutdown...
I, [2020-04-05T08:47:54.319315 #1]  INFO -- : Terminating async processes
I, [2020-04-05T08:47:54.319352 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 49
I, [2020-04-05T08:47:54.319398 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 166
2020-04-05 08:47:54.319 UTC [49] LOG:  received fast shutdown request
2020-04-05 08:47:54.320 UTC [49] LOG:  aborting any active transactions
2020-04-05 08:47:54.324 UTC [49] LOG:  worker process: logical replication launcher (PID 58) exited with exit code 1
2020-04-05 08:47:54.325 UTC [53] LOG:  shutting down
2020-04-05 08:47:54.345 UTC [49] LOG:  database system is shut down
166:M 05 Apr 2020 08:47:54.361 # User requested shutdown...
166:M 05 Apr 2020 08:47:54.361 * Saving the final RDB snapshot before exiting.
166:M 05 Apr 2020 08:47:54.364 * DB saved on disk
166:M 05 Apr 2020 08:47:54.364 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development' failed with return #<Process::Status: pid 323 exit 5>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"bundle_exec", "cmd"=>["su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test development'"]}
fdf2b6ce4844ea7a562afd146bc67a92b48f40fd1f288f89a64617fa2924b0e9
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
1 Like

Sounds like it. One solution would be to use the existing redis container rather than including another one. See How to move from standalone container to separate web and data containers and other two container topics for some tips.

It’s going to take considerable understanding of Discourse, redis, and docker so that you can customize the instructions. If you need plain instructions you’ll be better off getting another vm or asking for help in marketplace with a budget.

3 Likes