Jump to content

NextCloud в Docker. Nginx proxy_pass config


TidalPoo
 Share

Recommended Posts

Готовый docker-compose файл для развертывания nextcloud и db.

version: '2'

services:
  db:
    image: mariadb
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=super_root_pass
      - MYSQL_PASSWORD=super_pass
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    restart: always
    ports:
      - 8080:80
    links:
      - db
    volumes:
      - ./app:/var/www/html
    environment:
      - MYSQL_PASSWORD=super_pass
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

После запуска контейнеров идём в директорию ./app/config/ и открываем файл config.php
Редактируем строчку trusted_domains

'trusted_domains' =>
   [
    'my.super_domain.ru', #доменное имя
    'xxx.xxx.xxx.xxx' #Ваш статичный IP
    'yyy.yyy.yyy.yyy' #Ваш локальный IP
  ],

А так же добавляем строчку trusted_proxies

'trusted_proxies' => ['xxx.xxx.xxx.xxx'],

В конфиг NGINX добавляем следующие строчки

server {
    listen       443 ssl;
    server_name  my.super_domain.ru;

    ssl on;

    location / {
        proxy_pass        http://xxx.xxx.xxx.xxx:nextcloud_port;
        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;
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

        client_max_body_size 0;

    }

    location = /.well-known/carddav { #Обязательно, иначе будут ошибки
        return 301 $scheme://$host/remote.php/dav;
    }

    location = /.well-known/caldav { #Обязательно, иначе будут ошибки
        return 301 $scheme://$host/remote.php/dav;
    }
}

Сохраняем всё, перегружаем NGINX (nginx -s reload)
Можно так же перезагрузить контейнеры nextcloud
После чего проверяем вход в облако по домену my.super_domain.ru

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...