Docker nginx прокси и letsencrypt для nextcloud: я не могу получить доступ к своему серверу nextcloud локально И через домен с моими текущими настройками - PullRequest
0 голосов
/ 05 апреля 2020

Ниже моя docker композиция, которую я использую для создания своих контейнеров. Это работает, если я поставлю только sub.mydomain.com или любой другой домен, который указывает на мой сервер (который находится дома).

Проблема:

Однако, если я добавлю несколько «VIRTUAL_HOST», как я делал ниже в примере, только сертификат localhost works не создан для моего поддомена.

ЕСЛИ однако я исключаю localhost и просто имею домен, затем он строится правильно, и у меня есть https для моего субдомена и я могу получить доступ к nextcloud.

Как настроить это так что я могу на самом деле go к следующему облаку на моем сервере или локально, когда я дома и на том же Wi-Fi, что и сервер?

version: '3'  

services:

  proxy:
    image: jwilder/nginx-proxy:alpine
    labels:
      - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true"
    container_name: nextcloud-proxy
    networks:
      - nextcloud_network
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./proxy/conf.d:/etc/nginx/conf.d:rw
      - ./proxy/vhost.d/p.sindrakumar.com:/etc/nginx/vhost.d/p.sindrakumar.com:rw
      - ./proxy/vhost.d/localhost:/etc/nginx/vhost.d/localhost:rw
      - ./proxy/html:/usr/share/nginx/html:rw
      - ./proxy/certs:/etc/nginx/certs:ro
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
    restart: unless-stopped
  
  letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: nextcloud-letsencrypt
    depends_on:
      - proxy
    networks:
      - nextcloud_network
    volumes:
      - ./proxy/certs:/etc/nginx/certs:rw
      - ./proxy/vhost.d/p.sindrakumar.com:/etc/nginx/vhost.d/p.sindrakumar.com:rw
      - ./proxy/vhost.d/localhost:/etc/nginx/vhost.d/localhost:rw
      - ./proxy/html:/usr/share/nginx/html:rw
      - /var/run/docker.sock:/var/run/docker.sock:ro
    restart: unless-stopped
  
  db:
    image: mariadb
    container_name: nextcloud-mariadb
    networks:
      - nextcloud_network
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_PASSWORD=mysql
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
    restart: unless-stopped
    
  app:
    image: nextcloud:latest
    container_name: nextcloud-app
    networks:
      - nextcloud_network
    depends_on:
      - letsencrypt
      - proxy
      - db
    volumes:
      - nextcloud:/var/www/html
      - ./app/config:/var/www/html/config
      - ./app/custom_apps:/var/www/html/custom_apps
      - ./app/data:/var/www/html/data
      - ./app/themes:/var/www/html/themes
    environment:
      - VIRTUAL_HOST=sub.mypage.com,localhost
      - LETSENCRYPT_HOST=sub.mypage.com,localhost
      - LETSENCRYPT_EMAIL=myemail@gmail.com
    restart: unless-stopped
    
volumes:
  nextcloud:
  db:
networks:
  nextcloud_network:
...