-
-
Save ichiTechs/83e228fa1e6c83543623a1bf06f3eb32 to your computer and use it in GitHub Desktop.
# NextCLoud with MariaDB/MySQL | |
# | |
# Access via "http://localhost:80" (or "http://$(docker-machine ip):80" if using docker-machine) | |
# | |
# During initial NextCLoud setup, select "Storage & database" --> "Configure the database" --> "MySQL/MariaDB" | |
# Database user: nextcloud | |
# Database password: nextcloud | |
# Database name: ncdb | |
# Database host: replace "localhost" with "maria-db" the same name as the data base container name. | |
# | |
# | |
# The reason for the more refined data persistence in the volumes is because if you were to | |
# use just the the '/var/www/html' then everytime you would want/need to update/upgrade | |
# NextCloud you would have to go into the volume on the host machine and delete 'version.php' | |
# | |
version: '2' | |
services: | |
nextcloud: | |
container_name: nextcloud | |
restart: unless-stopped | |
image: nextcloud | |
ports: | |
- 80:80 | |
volumes: | |
- /containers/cloud/nextcloud/apps:/var/www/html/apps | |
- /containers/cloud/nextcloud/config:/var/www/html/config | |
- /containers/cloud/nextcloud/data:/var/www/html/data | |
depends_on: | |
- db | |
db: | |
container_name: maria-db | |
restart: unless-stopped | |
image: mariadb | |
environment: | |
MYSQL_ROOT_PASSWORD: root | |
MYSQL_DATABASE: ncdb | |
MYSQL_USER: nextcloud | |
MYSQL_PASSWORD: nextcloud | |
volumes: | |
- /containers/cloud/mariadb:/var/lib/mysql | |
Thank you! Worked like a charm.
Hi, I have a concern with this line -
volumes:
- /containers/cloud/mariadb:/var/lib/mysql
It works fine when the /container is part of the same storage filesystem as the docker-compose file.
But if connect an external drive to store media and replace /containers/cloud/mariadb
with /mnt/usb0/containers/cloud/mariadb
It give me permission issue. It tries to change ownership of the location and fails. How do I handle it ?
I can't run nextcloud on my primary storage drive as it will run out of storage memory pretty soon.
Hi @anu1097, probably you need to give permissions to that folder Tray 'sudo chmod 775 /mnt/usb0/containers/cloud/mariadb'
If this didn't work you can try 'sudo chmod 777 /mnt/usb0/containers/cloud/mariadb' but "777" is not recommended.
Hi,
Trying to get this setup but I get this when entering the databse information during the initial setup.
SQLSTATE[HY000] [1130] Host '172.28.0.3' is not allowed to connect to this MariaDB server
@raverdave-2k Did you ever figure that out?
how to enable https
how to enable https
Use a reverse proxy, I'd recommend caddy.
Hi,
Trying to get this setup but I get this when entering the databse information during the initial setup.
SQLSTATE[HY000] [1130] Host '172.28.0.3' is not allowed to connect to this MariaDB server
I have this exact same problem. I'll try adding this to the db
service and see if it fixes it :
command: mysqld --bind-address=0.0.0.0
How can I backup the data directory? Everything in it is owned by www-data so none of my backup solutions can get access. I’ve added my user to the www-data group but it still doesn’t work
How do I update to the latest version of Nextcloud?
@sailing12388 just pull the latest version of the image and recreate the container. IIRC, this should do both:
docker compose up -d --pull
Port
To bypass some conflicts you need to change the port to 8080:80.
Mariadb
If you get this message:
You need to change the docker-compose.yml file.
Nextcloud has some problems with the new MariaDB versions (ROW_FORMAT = COMPRESSED).
To fix this, add this line to your docker-compose.yml
New docker-compose.yml