60 lines
1.4 KiB
Markdown
60 lines
1.4 KiB
Markdown
## NextCloud Docker
|
|
I dont like official nextcloud docker
|
|
|
|
|
|
- `compose.yml`
|
|
```yaml
|
|
services:
|
|
fpm:
|
|
image: git.shihaam.dev/dockerfiles/nextcloud/fpm:latest
|
|
hostname: fpm
|
|
volumes:
|
|
- ./nextcloud/config:/var/www/html/config:rw
|
|
- ./nextcloud/apps:/var/www/html/apps:rw
|
|
- /mnt/vol0/nextcloud-data:/var/www/html/data:rw
|
|
depends_on:
|
|
- mysql
|
|
|
|
nginx:
|
|
image: git.shihaam.dev/dockerfiles/nextcloud/nginx
|
|
hostname: nginx
|
|
ports:
|
|
- 8003:80
|
|
volumes_from:
|
|
- fpm
|
|
depends_on:
|
|
- fpm
|
|
|
|
mysql:
|
|
image: mysql:8.0-debian
|
|
hostname: mysql
|
|
environment:
|
|
MYSQL_DATABASE: nextcloud
|
|
MYSQL_USER: nextcloud
|
|
MYSQL_PASSWORD: nextcloud
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: true
|
|
volumes:
|
|
- ./nextcloud/database:/var/lib/mysql
|
|
```
|
|
|
|
- You must use a reverse proxy with SSL before starting to setup, personally i use nginx with certbot. \
|
|
here is my nginx config
|
|
```nginx
|
|
server {
|
|
server_name nextcloud.shihaam.me; #Change this to your domain
|
|
listen 80;
|
|
location / {
|
|
proxy_pass http://localhost:8000;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
}
|
|
}
|
|
```
|
|
- SSL with certbot
|
|
```bash
|
|
sudo certbot --nginx -d nextcloud.shihaam.me
|
|
```
|
|
- Configure your DNS accordingly and then.. thats it, enjoy.
|