Merge pull request #19 from aiordache/master

Add nextcloud-redis-mariadb sample
This commit is contained in:
Anca Iordache 2020-03-19 11:32:05 +01:00 committed by GitHub
commit 8717298d93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 122 additions and 0 deletions

View File

@ -0,0 +1,77 @@
## 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:
```
.
├── docker-compose.yaml
└── README.md
```
[_docker-compose.yaml_](docker-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
```

View File

@ -0,0 +1,45 @@
version: '3.7'
services:
nc:
image: nextcloud:apache
restart: always
ports:
- 80:80
volumes:
- nc_data:/var/www/html
networks:
- redisnet
- dbnet
environment:
- REDIS_HOST=redis
- MYSQL_HOST=db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=nextcloud
redis:
image: redis:alpine
restart: always
networks:
- redisnet
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db_data:/var/lib/mysql
networks:
- dbnet
environment:
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_PASSWORD=nextcloud
volumes:
db_data:
nc_data:
networks:
dbnet:
redisnet:

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB