inital setup
This commit is contained in:
10
.env.sample
Normal file
10
.env.sample
Normal file
@@ -0,0 +1,10 @@
|
||||
WIKITAG=26
|
||||
DBTAG=10.6
|
||||
OFFICETAG=6.4
|
||||
|
||||
BASEDIR=
|
||||
INTRANET=
|
||||
|
||||
DB_NAME=
|
||||
DB_USER=
|
||||
DB_PASS=
|
||||
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
files/
|
||||
.env
|
||||
68
README.md
68
README.md
@@ -1,2 +1,68 @@
|
||||
# compose-nextcloud
|
||||
# Basic Nextcloud with MariaDB and Onlyoffice docker-compose config
|
||||
* can be run on single node setup or in swarm
|
||||
|
||||
## howto
|
||||
### single node
|
||||
#### start container
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
#### stop container (and remove)
|
||||
```bash
|
||||
docker compose down
|
||||
```
|
||||
|
||||
#### view logs
|
||||
```bash
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
#### reload config
|
||||
```bash
|
||||
docker compose restart
|
||||
```
|
||||
|
||||
### swarm
|
||||
#### start aka deploy
|
||||
hint: drone fails to start until git auth source is created and set in vars
|
||||
```bash
|
||||
docker stack deploy -c docker-compose.yml cloud
|
||||
```
|
||||
|
||||
#### stop container aka stack
|
||||
```bash
|
||||
docker stack rm cloud
|
||||
```
|
||||
|
||||
#### view logs
|
||||
```bash
|
||||
docker service logs cloud_cloud -f
|
||||
docker service logs cloud_db -f
|
||||
docker service logs cloud_office -f
|
||||
```
|
||||
|
||||
#### reload config (no downtime if replica 2 or more)
|
||||
```bash
|
||||
docker service update cloud_cloud
|
||||
docker service update cloud_db
|
||||
docker service update cloud_office
|
||||
```
|
||||
|
||||
## example caddy config
|
||||
```
|
||||
cloud.example.com {
|
||||
reverse_proxy cloud:80
|
||||
encode gzip
|
||||
|
||||
# Service discovery via well-known
|
||||
redir /.well-known/carddav /remote.php/carddav 301
|
||||
redir /.well-known/caldav /remote.php/caldav 301
|
||||
}
|
||||
office.example.com {
|
||||
reverse_proxy office:80
|
||||
}
|
||||
```
|
||||
|
||||
## config onlyoffice in nextcloud
|
||||
comming soon
|
||||
81
docker-compose.yml
Normal file
81
docker-compose.yml
Normal file
@@ -0,0 +1,81 @@
|
||||
# https://docs.docker.com/compose/compose-file/compose-file-v3/
|
||||
---
|
||||
version: "3.9"
|
||||
services:
|
||||
cloud:
|
||||
image: nextcloud:${CLOUDTAG:-latest}
|
||||
container_name: cloud
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- 80:80
|
||||
deploy:
|
||||
replicas: 1
|
||||
placement:
|
||||
max_replicas_per_node: 1
|
||||
update_config:
|
||||
parallelism: 1
|
||||
delay: 10s
|
||||
volumes:
|
||||
- ${BASEDIR:-.}/files/config/:/var/www/html/config/
|
||||
- ${BASEDIR:-.}/files/apps/:/var/www/html/custom_apps/
|
||||
- ${BASEDIR:-.}/files/data/:/var/www/html/data/
|
||||
- ${BASEDIR:-.}/files/themes/:/var/www/html/themes/
|
||||
- ${BASEDIR:-.}/files/skeleton/:/var/www/html/core/skeleton/
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
environment:
|
||||
- MYSQL_RANDOM_ROOT_PASSWORD=yes
|
||||
- MYSQL_DATABASE=${DB_NAME:-nextcloud}
|
||||
- MYSQL_USER=${DB_USER:-nextcloud}
|
||||
- MYSQL_PASSWORD=${DB_PASS:-nextcloudpasswd}
|
||||
networks:
|
||||
- backend
|
||||
- cloudnet
|
||||
|
||||
db:
|
||||
image: mariadb:${DBTAG:-latest}
|
||||
container_name: wikidb
|
||||
restart: unless-stopped
|
||||
deploy:
|
||||
replicas: 1
|
||||
placement:
|
||||
max_replicas_per_node: 1
|
||||
update_config:
|
||||
parallelism: 1
|
||||
delay: 10s
|
||||
volumes:
|
||||
- ${BASEDIR:-.}/files/clouddb/:/var/lib/mysql/
|
||||
environment:
|
||||
- MARIADB_RANDOM_ROOT_PASSWORD=yes
|
||||
- MARIADB_DATABASE=${DB_NAME:-nextcloud}
|
||||
- MARIADB_USER=${DB_USER:-nextcloud}
|
||||
- MARIADB_PASSWORD=${DB_PASS:-nextcloudpasswd}
|
||||
networks:
|
||||
- cloudnet
|
||||
|
||||
office:
|
||||
image: onlyoffice/documentserver:${OFFICETAG:-latest}
|
||||
container_name: office
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 80:80
|
||||
deploy:
|
||||
replicas: 1
|
||||
placement:
|
||||
max_replicas_per_node: 1
|
||||
update_config:
|
||||
parallelism: 1
|
||||
delay: 10s
|
||||
volumes:
|
||||
- ${BASEDIR:-.}/files/officedata:/var/www/onlyoffice/Data
|
||||
- ${BASEDIR:-.}/files/officedb:/var/lib/postgresql
|
||||
# - ${BASEDIR:-.}/files/officelog:/var/log/onlyoffice
|
||||
networks:
|
||||
- backend
|
||||
- cloudnet
|
||||
|
||||
networks:
|
||||
backend:
|
||||
name: ${INTRANET:-backend}
|
||||
wikinet:
|
||||
Reference in New Issue
Block a user