Use domain name for nextcloud and use postgres as database backend.
This commit is contained in:
@@ -26,10 +26,10 @@ services:
|
||||
networks:
|
||||
- internal
|
||||
environment:
|
||||
- MYSQL_DATABASE:nextcloud
|
||||
- MYSQL_USER:nextcloud
|
||||
- MYSQL_PASSWORD:jX9hKI2POvt1VrjVbBs4
|
||||
- MYSQL_HOST:mysql8
|
||||
- POSTGRES_DB:nextcloud
|
||||
- POSTGRES_USER:nextcloud
|
||||
- POSTGRES_PASSWORD:jX9hKI2POvt1VrjVbBs4
|
||||
- POSTGRES_HOST:pgsql14
|
||||
- REDIS_HOST:redis
|
||||
- REDIS_HOST_PASSWORD:${REDIS_PW}
|
||||
- NEXTCLOUD_ADMIN_USER:${NEXTCLOUD_ADMIN_USER}
|
||||
@@ -47,8 +47,23 @@ services:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.nextcloud.entrypoints=web"
|
||||
- "traefik.http.routers.nextcloud.rule=Host(`nextcloud.lan`)"
|
||||
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
|
||||
- "traefik.http.routers.nextcloud.rule=Host(`cs-nextcloud.ddnss.de`)"
|
||||
- "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:
|
||||
- nextcloud
|
||||
networks:
|
||||
|
||||
@@ -5,7 +5,7 @@ upstream php-handler {
|
||||
server {
|
||||
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:
|
||||
|
||||
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