|
|
|
## Nextcloud with Redis and MariaDB
|
|
|
|
This example defines one of the basic setups for Nextcloud. More details on how to
|
|
|
|
further customize the installation and the compose file can be found on the
|
|
|
|
[official image page](https://hub.docker.com/_/nextcloud).
|
|
|
|
|
|
|
|
|
|
|
|
Project structure:
|
|
|
|
```
|
|
|
|
.
|
|
|
|
├── compose.yaml
|
|
|
|
└── README.md
|
|
|
|
```
|
|
|
|
|
|
|
|
[_compose.yaml_](compose.yaml)
|
|
|
|
```
|
|
|
|
services:
|
|
|
|
nc:
|
|
|
|
image: nextcloud:apache
|
|
|
|
ports:
|
|
|
|
- 80:80
|
|
|
|
...
|
|
|
|
redis:
|
|
|
|
image: redis:alpine
|
|
|
|
restart: always
|
|
|
|
networks:
|
|
|
|
- redisnet
|
|
|
|
db:
|
|
|
|
image: mariadb
|
|
|
|
...
|
|
|
|
```
|
|
|
|
|
|
|
|
When deploying this setup, docker compose maps the nextcloud container port 80 to
|
|
|
|
port 80 of the host as specified in the compose file.
|
|
|
|
|
|
|
|
## Deploy with docker compose
|
|
|
|
|
|
|
|
```
|
|
|
|
$ docker compose up -d
|
|
|
|
Creating network "nextcloud-redis-mariadb_redisnet" with the default driver
|
|
|
|
Creating network "nextcloud-redis-mariadb_dbnet" with the default driver
|
|
|
|
Creating volume "nextcloud-redis-mariadb_nc_data" with default driver
|
|
|
|
Pulling redis (redis:alpine)...
|
|
|
|
alpine: Pulling from library/redis....
|
|
|
|
....
|
|
|
|
Status: Downloaded newer image for mariadb:latest
|
|
|
|
Creating nextcloud-redis-mariadb_db_1 ... done
|
|
|
|
Creating nextcloud-redis-mariadb_nc_1 ... done
|
|
|
|
Creating nextcloud-redis-mariadb_redis_1 ... done
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Expected result
|
|
|
|
|
|
|
|
Check containers are running and the port mapping:
|
|
|
|
```
|
|
|
|
$ docker ps
|
|
|
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
|
|
6541add4d648 nextcloud:apache "/entrypoint.sh apac…" 35 seconds ago Up 34 seconds 0.0.0.0:80->80/tcp nextcloud-redis-mariadb_nc_1
|
|
|
|
6c656f98cf14 redis:alpine "docker-entrypoint.s…" 35 seconds ago Up 34 seconds 6379/tcp nextcloud-redis-mariadb_redis_1
|
|
|
|
6d4c6630a4a3 mariadb "docker-entrypoint.s…" 35 seconds ago Up 34 seconds 3306/tcp nextcloud-redis-mariadb_db_1
|
|
|
|
```
|
|
|
|
|
|
|
|
Navigate to `http://localhost:80` in your web browser to access the installed
|
|
|
|
Nextcloud service.
|
|
|
|
|
|
|
|
![page](output.jpg)
|
|
|
|
|
|
|
|
Stop and remove the containers
|
|
|
|
|
|
|
|
```
|
|
|
|
$ docker compose down
|
|
|
|
```
|
|
|
|
|
|
|
|
To delete all data, remove all named volumes by passing the `-v` arguments:
|
|
|
|
```
|
|
|
|
$ docker compose down -v
|
|
|
|
```
|