Nextcloud
This commit is contained in:
commit
c0a8ce1320
2 changed files with 92 additions and 0 deletions
73
nextcloud/docker-compose.yml
Normal file
73
nextcloud/docker-compose.yml
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mariadb:10.6
|
||||||
|
restart: always
|
||||||
|
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
|
||||||
|
volumes:
|
||||||
|
- /srv/@nextcloud/db:/var/lib/mysql
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
|
- MYSQL_DATABASE=nextcloud
|
||||||
|
- MYSQL_USER=nextcloud
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
|
||||||
|
nextcloud:
|
||||||
|
image: nextcloud
|
||||||
|
container_name: nextcloud
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8080:80
|
||||||
|
links:
|
||||||
|
- db
|
||||||
|
volumes:
|
||||||
|
- /srv/@nextcloud/nextcloud:/var/www/html
|
||||||
|
environment:
|
||||||
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
|
- MYSQL_DATABASE=nextcloud
|
||||||
|
- MYSQL_USER=nextcloud
|
||||||
|
- MYSQL_HOST=db
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
|
||||||
|
tailscale:
|
||||||
|
image: tailscale/tailscale
|
||||||
|
environment:
|
||||||
|
TS_HOSTNAME: nextcloud
|
||||||
|
TS_AUTH_KEY: ${TS_AUTH_KEY}
|
||||||
|
TS_EXTRA_ARGS: --advertise-tags=tag:nextcloud # Required for OAuth client
|
||||||
|
TS_SERVE_CONFIG: /config/ts-serve.json
|
||||||
|
TS_AUTH_ONCE: true
|
||||||
|
TS_STATE_DIR: /var/lib/tailscale
|
||||||
|
init: true
|
||||||
|
healthcheck:
|
||||||
|
test: tailscale status --peers=false --json | grep 'Online.*true'
|
||||||
|
start_period: 3s
|
||||||
|
interval: 1s
|
||||||
|
retries: 3
|
||||||
|
restart: unless-stopped
|
||||||
|
devices:
|
||||||
|
- /dev/net/tun:/dev/net/tun
|
||||||
|
volumes:
|
||||||
|
- type: volume
|
||||||
|
source: tailscale
|
||||||
|
target: /var/lib/tailscale
|
||||||
|
- type: volume
|
||||||
|
source: tailscale_sock
|
||||||
|
target: /tmp # Mount entire /tmp folder to access tailscale.sock
|
||||||
|
- ./ts-serve.json:/config/ts-serve.json:ro
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
networks:
|
||||||
|
- nextcloud
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
tailscale:
|
||||||
|
tailscale_sock:
|
||||||
|
nextcloud:
|
||||||
|
db:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nextcloud:
|
||||||
|
external: false
|
||||||
19
nextcloud/ts-serve.json
Normal file
19
nextcloud/ts-serve.json
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"TCP": {
|
||||||
|
"443": {
|
||||||
|
"HTTPS": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Web": {
|
||||||
|
"${TS_CERT_DOMAIN}:443": {
|
||||||
|
"Handlers": {
|
||||||
|
"/": {
|
||||||
|
"Proxy": "http://nextcloud:80"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AllowFunnel": {
|
||||||
|
"${TS_CERT_DOMAIN}:443": false
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue