Use domain name for nextcloud and use postgres as database backend.
This commit is contained in:
@@ -26,10 +26,10 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_DATABASE:nextcloud
|
- POSTGRES_DB:nextcloud
|
||||||
- MYSQL_USER:nextcloud
|
- POSTGRES_USER:nextcloud
|
||||||
- MYSQL_PASSWORD:jX9hKI2POvt1VrjVbBs4
|
- POSTGRES_PASSWORD:jX9hKI2POvt1VrjVbBs4
|
||||||
- MYSQL_HOST:mysql8
|
- POSTGRES_HOST:pgsql14
|
||||||
- REDIS_HOST:redis
|
- REDIS_HOST:redis
|
||||||
- REDIS_HOST_PASSWORD:${REDIS_PW}
|
- REDIS_HOST_PASSWORD:${REDIS_PW}
|
||||||
- NEXTCLOUD_ADMIN_USER:${NEXTCLOUD_ADMIN_USER}
|
- NEXTCLOUD_ADMIN_USER:${NEXTCLOUD_ADMIN_USER}
|
||||||
@@ -47,8 +47,23 @@ services:
|
|||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.nextcloud.entrypoints=web"
|
- "traefik.http.routers.nextcloud.entrypoints=web"
|
||||||
- "traefik.http.routers.nextcloud.rule=Host(`nextcloud.lan`)"
|
- "traefik.http.routers.nextcloud.rule=Host(`cs-nextcloud.ddnss.de`)"
|
||||||
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
|
- "traefik.http.routers.nextcloud.middlewares=nextcloud"
|
||||||
|
- "traefik.http.middlewares.nextcloud.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.nextcloud-secure.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.nextcloud-secure.rule=Host(`cs-nextcloud.ddnss.de`)"
|
||||||
|
- "traefik.http.routers.nextcloud-secure.service=nextcloud-secure"
|
||||||
|
- "traefik.http.routers.nextcloud-secure.tls=true"
|
||||||
|
- "traefik.http.routers.nextcloud-secure.tls.certresolver=myresolver"
|
||||||
|
- "traefik.http.routers.nextcloud-secure.tls.domains[0].main=cs-nextcloud.ddnss.de"
|
||||||
|
- "traefik.http.services.nextcloud-secure.loadbalancer.server.port=80"
|
||||||
|
- "traefik.http.routers.nextcloud-secure.middlewares=nextcloud-secure,nextcloud-redirect"
|
||||||
|
- "traefik.http.middlewares.nextcloud-secure.headers.stsSeconds=15552000"
|
||||||
|
- "traefik.http.middlewares.nextcloud-secure.headers.stsPreload=true"
|
||||||
|
- "traefik.http.middlewares.nextcloud-redirect.redirectregex.permanent=true"
|
||||||
|
- "traefik.http.middlewares.nextcloud-redirect.redirectregex.regex=^https://(.*)/.well-known/(card|cal)dav"
|
||||||
|
- "traefik.http.middlewares.nextcloud-redirect.redirectregex.replacement=https://$${1}/remote.php/dav/"
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ upstream php-handler {
|
|||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen [::]:80;
|
listen [::]:80;
|
||||||
server_name nextcloud.lan cs-nextcloud.ddnss.de;
|
server_name cs-nextcloud.ddnss.de;
|
||||||
|
|
||||||
|
|
||||||
# set max upload size and increase upload timeout:
|
# set max upload size and increase upload timeout:
|
||||||
|
|||||||
38
nextcloud/readme.md
Normal file
38
nextcloud/readme.md
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# Nextcloud
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Installation of nextcloud is easy. Just pull the image and navigate with the browser to the new instance.
|
||||||
|
Enter database connection and create a user.
|
||||||
|
|
||||||
|
### Enable caching
|
||||||
|
|
||||||
|
Options must be entered to nextcloud's configuration file.
|
||||||
|
|
||||||
|
- Local cache APCu: `'memcache.local' => '\OC\Memcahe\APCu',`
|
||||||
|
- Distributed cache Redis: `'memcache.distributed' => '\OC\Memcache\Redis',`
|
||||||
|
- File locking Redis: `'memcache.locking' => '\OC\Memcache\Redis',`
|
||||||
|
- Configuration for Redis:
|
||||||
|
````
|
||||||
|
'redis' => array (
|
||||||
|
'host' => 'redis',
|
||||||
|
'port' => 6379,
|
||||||
|
),
|
||||||
|
````
|
||||||
|
|
||||||
|
## Migration to new instance
|
||||||
|
|
||||||
|
Create a new installation of nextcloud. Afterwards drop the database and create it from scratch.
|
||||||
|
Dump in the data and copy user data to new instance.
|
||||||
|
|
||||||
|
## Updating nextcloud
|
||||||
|
|
||||||
|
Just update the image version in the compose file and do a ``docker compose pull``
|
||||||
|
|
||||||
|
## Database migration
|
||||||
|
|
||||||
|
Convert the database from mysql to pgsql:
|
||||||
|
|
||||||
|
````
|
||||||
|
docker exec -it -u www-data NEXTCLOUD_CONTAINER_NAME php occ db:convert-type --all-apps --password "YOUR_PASSWORD" pgsql DB_USER DB_HOST DB_NAME
|
||||||
|
````
|
||||||
Reference in New Issue
Block a user