awesome-compose/nextcloud-postgres/README.md

65 lines
1.7 KiB
Markdown

## Nextcloud with Postgres database
This example defines one of the base 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
...
db:
image: postgres:alpine
...
```
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-postgres_default" with the default driver
Creating volume "nextcloud-postgres_nc_data" with default driver
Pulling nc (nextcloud:apache)...
....
....
Status: Downloaded newer image for postgres:alpine
Creating nextcloud-postgres_nc_1 ... done
Creating nextcloud-postgres_db_1 ... done
```
## Expected result
Check containers are running and the port mapping:
```
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9884a9cc0144 postgres:alpine "docker-entrypoint.s…" 12 minutes ago Up 12 minutes 5432/tcp nextcloud-postgres_db_1
bae385bee48b nextcloud:apache "/entrypoint.sh apac…" 12 minutes ago Up 12 minutes 0.0.0.0:80->80/tcp nextcloud-postgres_nc_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
```