Nextcloud in Docker mit Letsencrypt

Zuletzt stand ich mal wieder vor dem Problem, dass das Letsencrypt Zertifikat für meine Nextcloud Instanz abgelaufen ist und ich nicht mehr in der Lage war das Update so zum Laufen zu bekommen wie es letzt funktionierte. Auf der Suche nach einer reproduzierbaren Konfiguration bin ich über einen Forum Artikel gestoplert.

Weil aber auch diese Anleitung für mich nicht 100% funktionert hat und angepasst werden musste, habe ich hier mal meine für mich funktionierende yml und conf Anpassungen festgehalten.

version: "3.5"

networks:
  nextcloud_network:
    name: nextcloud_network
    external: false

services:
  nextcloud:
    image: linuxserver/nextcloud
    container_name: nextcloud
    depends_on:
      - nextcloud-db
    environment:
      - PUID=66
      - PGID=66
      - TZ=Europe/Berlin
    volumes:
      - /CloudData/config:/config
      - /CloudData/data:/data
    ports:
      - 81:80
      - 444:443
    networks:
      - nextcloud_network
    restart: unless-stopped

  nextcloud-db:
    image: mariadb:latest
    container_name: nextcloud-db
    volumes:
      - /CloudData/db:/var/lib/mysql
    environment:
      - PUID=66
      - PGID=66
      - TZ=Europe/Berlin
      - MYSQL_ROOT_PASSWORD=root_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=password
    networks:
      - nextcloud_network

  letsencrypt:
    image: linuxserver/letsencrypt:latest
    container_name: letsencrypt
    restart: unless-stopped
    ports:
      - 443:443
      - 80:80
    cap_add:
      - net_admin
    environment:
      - PUID=66
      - PGID=66
      - TZ=Europe/Berlin
      - EMAIL=letsencrypt@domain.com
      - URL=domain.com
      - SUBDOMAINS=cloud
      - ONLY_SUBDOMAINS=true
      - VALIDATION=http
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /CloudData/letsencrypt:/config
    networks:
      - nextcloud_network
    depends_on:
      - nextcloud
cd /CloudData/letsencrypt/nginx/proxy-confs/
cp nextcloud.subdomain.conf.sample nextcloud.subdomain.conf

vi nextcloud.subdomain.conf
replace server_name nextcloud.*; with server_name cloud.*;

docker restart letsencrypt
Meine Mission

Ziel meiner Veröffentlichungen ist es, meine Begeisterung für die Programmierung und das über die Jahre gewonnene Wissen mit anderen Entwicklern zu teilen. Dabei ist es mir wichtig, Lösungen zu thematisieren für die ich in Suchmaschinen keine Antworten finden konnte. Außerdem versuche ich die von mir veröffentlichten Extensions an Beispielen zu erläutern.

evoWeb © 2019