I’m attempting to install nextcloud docker on my Synology 923+ inside portainer.
When I create the instance without redis in my docker compose file I can bring up the nextcloud app without issue. The same is true if I add the redis portion to my compose file, but exclude the REDIS_HOST
env from the nextcloud service. However, once nextcloud attempts to use redis as the session handler the nextcloud site will spin until it times out.
After many hours of troubleshooting I think I’ve found the issue, but can’t figure out a fix. I have confirmed the redis server is up. Unfortunately ping is not installed with the nextcloud docker, but using /dev/tcp I’ve established that the nextcloud container cannot ping the redis container. This the db container which is on the same network as the redis and nextcloud containers can ping without issue.
Here is my docker-compose.yml:
version: '3'
services:
db:
image: mariadb:10.6
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW --innodb-read-only-compressed=OFF
volumes:
- /volume1/docker/nextcloud/database:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql_root_pw
- MYSQL_PASSWORD_FILE=/run/secrets/mysql_pw
- MYSQL_DATABASE_FILE=/run/secrets/mysql_db
- MYSQL_USER_FILE=/run/secrets/mysql_user
- MARIADB_AUTO_UPGRADE=1
- MARIADB_DISABLE_UPGRADE_BACKUP=1
secrets:
- mysql_db
- mysql_user
- mysql_pw
- mysql_root_pw
nc-redis:
image: redis:5
restart: always
volumes:
- /volume1/docker/nextcloud/redis:/data
expose:
- 6379
app:
image: nextcloud
restart: always
ports:
- 8080:80
volumes:
- /volume1/docker/nextcloud/config:/var/www/html
environment:
- MYSQL_PASSWORD_FILE=/run/secrets/mysql_pw
- MYSQL_DATABASE_FILE=/run/secrets/mysql_db
- MYSQL_USER_FILE=/run/secrets/mysql_user
- MYSQL_HOST=db
- REDIS_HOST=nc-redis
secrets:
- mysql_pw
- mysql_db
- mysql_user
depends_on:
- db
- nc-redis
secrets:
mysql_user:
file: /volume1/docker/vars/mysql_user.txt
mysql_db:
file: /volume1/docker/vars/mysql_db.txt
mysql_pw:
file: /volume1/docker/vars/mysql_pw.txt
mysql_root_pw:
file: /volume1/docker/vars/mysql_root_pw.txt
redis_pass:
file: /volume1/docker/vars/redis_pw.txt
nc_user:
file: /volume1/docker/vars/nc_user.txt
nc_pw:
file: /volume1/docker/vars/nc_pw.txt
Unfortunately all the logs I’ve been able to find have been useless.
Does anyone have any ideas?
Thanks in advance.