群暉Synology Nas用Container Manager的Docker-compose架設Nextcloud(反向代理https)

Synology Nas用Docker安裝參考網址

docker-compose範例

version: '3.9'
services:
  mariadb:
    container_name: Nextcloud-DB
    image: mariadb:jammy
    security_opt:
      - no-new-privileges:true
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-read-only-compressed=OFF
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=rootpassword #ROOT的密碼
      - MYSQL_PASSWORD=mysqlpassword     #MYSQL的密碼
      - MYSQL_DATABASE=nextcloud         #資料庫名稱
      - MYSQL_USER=nextcloud             
      - TZ=Asia/Taipei
    restart: on-failure:5
      
  redis:
    image: redis
    container_name: Nextcloud-REDIS
    hostname: nextcloudredis
    healthcheck:
     test: ["CMD-SHELL", "redis-cli ping || exit 1"]
    volumes:
      - ./redis:/data
    environment:
      TZ: Asia/Taipei
    restart: on-failure:5
      
  nextcloud:
    container_name: Nextcloud
    ports:
      - 8082:80
    depends_on:
      mariadb:
       condition: service_started
      redis:
       condition: service_healthy
    environment:
      - REDIS_HOST=nextcloudredis
      - NEXTCLOUD_TRUSTED_DOMAINS=cloud.xxx.com 192.168.1.2 #你nextcloud的domain跟你的群暉區網ip
      - TRUSTED_PROXIES=cloud.xxx.com 192.168.1.2 #你nextcloud的domain跟你的群暉區網ip
      - OVERWRITEHOST=cloud.xxx.com #你nextcloud的domain
      - OVERWRITEPROTOCOL=https
      - MYSQL_PASSWORD=mysqlpassword #與上面資料庫一致
      - MYSQL_DATABASE=nextcloud     #與上面資料庫一致
      - MYSQL_USER=nextcloud         #與上面資料庫一致
      - MYSQL_HOST=mariadb
    healthcheck:
     test: curl -f http://localhost:80/ || exit 1
    volumes:
      - ./html:/var/www/html
      - ./custom_apps:/var/www/html/custom_apps
      - ./config:/var/www/html/config
      - ./data:/var/www/html/data
      - ./themes:/var/www/html/themes
    image: nextcloud
    restart: on-failure:5
    
  cron:
   image: nextcloud:apache
   container_name: Nextcloud-CRON
   restart: always
   volumes:
     - ./config:/var/www/html/config
     - ./html:/var/www/html
     - ./custom_apps:/var/www/html/custom_apps
     - ./data:/var/www/html/data
   entrypoint: /cron.sh
   depends_on:
    mariadb:
       condition: service_started
    redis:
       condition: service_started

先準備好該有的參考資料夾與docker-compose文件

在Container Manager的專案按新增

命名專案名稱並選擇檔案路徑

Exit Code: 0代表成功建立

反向代理設定

更改你nextcloud的domain跟群暉區網IP

建議新增Websocket,有些服務用的到

設定好了之後在網址列打你nextcloud的domain就會看到下面畫面

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *