Войти
  • 9550Просмотров
  • 1 год назадОпубликованоDistro Domain

How to install nextcloud on docker

In this video I show you how to install and configure nexcloud on docker with ssl certificates and nginx reverse proxy! For business inqueries or consultation send me an email to: info@ Join Discord: ###### Nexcloud docker compose ###### --- services: nextcloud: image: : container_name: nextcloud environment: - VIRTUAL_HOST= - LETSENCRYPT_HOST= - PUID=1000 - PGID=1000 - TZ=America/Toronto networks: - nginx-proxy_frontend - backend volumes: - ./config:/config - ./data:/data restart: unless-stopped mariadb: image: : container_name: mariadb environment: - PUID=1000 - PGID=1000 - TZ=America/Toronto - MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD - MYSQL_DATABASE=USER_DB_NAME - MYSQL_USER=MYSQL_USER - MYSQL_PASSWORD=DATABASE_PASSWORD networks: backend: ipv4_address: volumes: - ./db_conf:/config restart: unless-stopped collabora: image: collabora/code: container_name: collabora environment: - VIRTUAL_HOST= - LETSENCRYPT_HOST= - VIRTUAL_PORT=9980 - VIRTUAL_PROTO=https networks: nginx-proxy_frontend: ipv4_address: restart: unless-stopped networks: nginx-proxy_frontend: external: true backend: driver: bridge ipam: config: - subnet: gateway: ###### Databse Secrets ###### MYSQL_ROOT_PASSWORD="jB8QHjxo7zkb" MYSQL_DATABASE="cloud_main" MYSQL_USER="admin" MYSQL_PASSWORD="Yvj9g9589LWq ###### Nginx reverse proxy compose ###### --- services: nginx-proxy: image: nginxproxy/nginx-proxy: container_name: nginx-proxy ports: - "80:80" - "443:443" volumes: - ./conf:/etc/nginx/conf.d - ./vhost:/etc/nginx/vhost.d - ./html:/usr/share/nginx/html - ./certs:/etc/nginx/certs:ro - /var/run/ :/tmp/ :ro networks: frontend: ipv4_address: restart: unless-stopped acme-companion: image: nginxproxy/acme-companion: container_name: nginx-proxy-acme environment: - DEFAULT_EMAIL=youremail@ volumes_from: - nginx-proxy volumes: - ./certs:/etc/nginx/certs:rw - ./acme:/etc/ - /var/run/ :/var/run/ :ro networks: - frontend restart: unless-stopped networks: frontend: driver: bridge ipam: config: - subnet: gateway: ###### Nexcloud php configuration ###### /opt/docker/nextcloud/config/www/nextcloud/config/ 'trusted_proxies' = [' '], 'overwritehost' = ' ', 'overwriteprotocol' = 'https', (add a "greater than" symbol after the = sign) ###### Vhost additional configuration ###### /opt/docker/nginx-proxy/vhost/ location /.well-known/carddav { return 301 $scheme://$host/ ; } location /.well-known/caldav { return 301 $scheme://$host/ ; } /opt/docker/nginx-proxy/vhost/ location ^~ /browser { proxy_pass ; proxy_set_header Host $http_host; } location ^~ /hosting/discovery { proxy_pass ; proxy_set_header Host $http_host; } location ^~ /hosting/capabilities { proxy_pass ; proxy_set_header Host $http_host; } location ~ ^/cool/(.*)/ws$ { proxy_pass ; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } location ~ ^/(c|l)ool { proxy_pass ; proxy_set_header Host $http_host; } location ^~ /cool/adminws { proxy_pass ; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_read_timeout 36000s; } ###### Upload limit configuration ###### client_max_body_size 0; client_body_timeout 120s; 0:00 - Public domain configuration 1:30 - Nginx reverse proxy docker compose 4:40 - Nextcloud docker compose 10:34 - MariaDB secrets configuration 11:26 - Run Nginx reverse proxy 11:50 - Firewall configuration 13:25 - Run Nextcloud container 14:08 - Nextcloud dashboard config 16:42 - Nexcloud security config 19:08 - Proxy upload limit config 20:20 - Additional proxy config 22:25 - Bring all containers up 22:46 - Nextcloud upload testing 23:38 - Collabora config 25:08 - Collabora testing