Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Nextcloud und Bitwarden selbst gehostet

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Nextcloud und Bitwarden selbst gehostet

    This topic has been deleted. Only users with topic management privileges can see it.
    • BananaJoe
      BananaJoe Most Active @wendy2702 last edited by

      @wendy2702 also, Lets Encrypt auf dem System welches sich das Zertifikat holt (oder erneuert) muss von außen per Port 80 und 443 erreichbar sein.
      Simpel erklärt beantragt die Software ein Zertifikat. Die Server von Lets Encrypt fordern einen Beweis das man über die Domäne verfügt und fordern an das eine bestimmte Datei bereit gestellt wird über den DNS-Namen. Diese wird dann über Port 80 bereit gestellt.

      Ergo muss für ein solchen Zertifikat Port 80 (und 443 meine ich) von außen direkt erreichbar sein.
      Bei 2 Servern hinter einer IPv4 Adresse kann das nicht gehen. IPv6 würde gehen.

      Bei mir kommt ein 3. System mit einem (Apache) Reverse Proxy zum Einsatz. Dieser ist per Port 80 und 443 von außen erreichbar und beantragt auch die Zertifikate. Die Systeme dahinter sind mit selbstsignierten oder unverschlüsselt intern erreichbar. Der Reverse Proxy reicht die Anfragen von außerhalb zu den internen Systemen weiter, je nachdem mit welchen DNS-Namen der Aufruf erfolgte.
      Mein System macht das auch für IPv6 auch wenn das eigentlich nicht nötig wäre. Ich wollte aber nicht per IPv4 über den Proxy und per IPv6 daran vorbei, unter anderem weil ich auch noch GeoIP-Blocking anwende (meine Cloud-Server sind nur aus Deutschland erreichbar).

      Wenn ich du wäre, würde ich also eine zusätzlichen Reverse-Proxy VM nutzen.

      1 Reply Last reply Reply Quote 0
      • T
        tritor @wendy2702 last edited by

        @wendy2702
        Ähnlich wie BananaJoe nutze ich einen reverse proxy Server.
        Bei mir läuft auf einem separaten Intel Nuc der Nginx Reverse Proxy Manager.
        Sehr einfach zu bedienen und die Certs von lets encrypt lassen sich direkt erstellen und werden auch erneuert.

        Und weit weniger Portforwarding im Router.

        Grüße

        1 Reply Last reply Reply Quote 0
        • wendy2702
          wendy2702 last edited by wendy2702

          Danke für eure Antworten.

          Habt ihr zufällig einen Link der die Einrichtung für Reverse Proxy noobs gut beschreibt?

          @tritor sagte in Nextcloud und Bitwarden selbst gehostet:

          Nginx Reverse Proxy Manager

          Sehe ich das richtig das der Manager nur als Docker läuft?

          Wszene 1 Reply Last reply Reply Quote 0
          • Wszene
            Wszene @wendy2702 last edited by

            @wendy2702 sagte in Nextcloud und Bitwarden selbst gehostet:

            Sehe ich das richtig das der Manager nur als Docker läuft?

            Ja leider
            Ich nutze ihn auch und bin sehr zufrieden
            Ich hatte früher einen Reverse Proxy ohne GUI laufen das war aber immer sehr umständlich
            Daher habe ich auch zum NPM gewechsel
            Wenn du Bitwarden nutzen möchtest hast du ja eh schon Docker im Einsatz den gibt es ja leider auch nur als Docker

            1 Reply Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active @wendy2702 last edited by BananaJoe

              @wendy2702 ich hab das zwar aufgeworfen aber kann dir hierbei wohl nicht viel weiterhelfen.
              Ich nutze eine Ubuntu 20.04 VM mit installiertem ISPConfig (das ist so ein Multi-Webseiten-Hosting-Tool) um Subdomänen anzulegen und mit einem Lets Encrypt Zertifikat zu beglücken und ergänze dann um eine Revers-Proxy-Konfiguration. Wenn es etwas leichtes ist dann per Einträge in der Web-GUI, ansonsten manipuliere ich die Konfigurationsdateien direkt.

              Mit Reverse Proxy klappt oft das Erneuern der Zertifikate nicht mehr weshalb ich ein einen extra Cronjob nutze der bei bedarf den Webserver anhält und das Lets-Encrypt-Tool übernimmt für kurze zeit den Port 80/443

              Die Sophos-UTM Firewall die es auch als virtuelle Appliance gibt (privat kostenlos aber mit eingeschränkter Geräteanzahl) kann das auch, nutze ich für meinen Mailserver.

              Ist aber alles nicht von jetzt auf gleich gelernt. Das ISPConfig bräuchte ich eigentlich nicht, nutze ich mehr aus Bequemlichkeit weil dann das Grundgerüst nach ein paar Mausklicks steht.

              Mit meiner Liebe zum Apache Reverse Proxy stehe ich gefühlt eh oft einsam da, gefühlt schreien alle anderen immer NGINX

              So eine spezialisierte Docker-VM wäre da sicherlich einfacher.

              1 Reply Last reply Reply Quote 0
              • wendy2702
                wendy2702 last edited by wendy2702

                OK. Erneut danke für eure Antworten.

                Der NGINX Manager läuft jetzt in eine CT in Proxmox allerdings kann ich kein Certifikat von Letsencrypt bekommen.

                Erhalte immer nur "Internal error". Wie ich im Docker an das logfile komme habe ich noch nicht rausfinden können 😞

                Nebenbei, ich nutze Securepoint DNS und habe zum updaten aktuell auf meiner Nextcloud ein kleines Script laufen. Das aktualisiert aber nur die IP4 Adresse, nutzt eventuell jemand diesen anbieter und hat eine Idee wie ich auch die IPv6 aktualisieren kann?

                1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO last edited by OliverIO

                  ich habe nextcloud/letsencrypt/reverseproxy/fail2ban/plus eine interne webseite
                  alles in einem docker-compose-service laufen (in portainer heisst es stacks)
                  über das docker-image von https://hub.docker.com/r/jwilder/nginx-proxy
                  lassen sich ganz einfach weitere dienste unter einem reverse proxy zusammenfassen.

                  evtl. noch ein kleinen hinweis zur Sicherheit, die man hier wissen sollte:
                  1 )
                  hiermit gibt man dem container die möglichkeit mit docker direkt zu kommunizieren. wird hier benötigt um die anderen container herauszufinden die einen virtual host haben wollen. allerdings kann der container dann alles mit docker machen was er will. daher hier zumindest mit ro=readonly eingeschränkt
                  - /var/run/docker.sock:/tmp/docker.sock:ro

                  2 )

                  Mit dem Abschnitt
                  cap_add:
                  - NET_ADMIN
                  - NET_RAW
                  erhält der Container besondere Privilegien. In dem Fall kann fail2ban die iptables (also der firewall) des hostsystems verändern.

                  dem Anbieter sollte man vertrauen, bzw. den erstellungsweg des containers reviewen, damit da nix böses eingeschmuggelt wird.


                  hier mal mein docker-compose
                  sensible bereiche habe ich mit *** versehen

                  version: '3'  
                  
                  services:
                  
                    nginx-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:
                        - /home/iobroker/docker/volume/nextcloud/nginx/log:/var/log/nginx
                        - /home/iobroker/docker/volume/nextcloud/nginx/vhost.d:/etc/nginx/vhost.d:rw
                        - /home/iobroker/docker/volume/nextcloud/nginx/html:/usr/share/nginx/html:rw
                        - /home/iobroker/docker/volume/nextcloud/nginx/certs:/etc/nginx/certs:ro
                        - /home/iobroker/docker/volume/nextcloud/nginx/myconf/mynginx.conf:/etc/nginx/conf.d/my_proxy.conf:ro
                        - /home/iobroker/docker/volume/nextcloud/nginx/myconf/nginx.tmpl:/app/nginx.tmpl: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:
                        - nginx-proxy
                      networks:
                        - nextcloud_network
                      volumes:
                        - /home/iobroker/docker/volume/nextcloud/nginx/vhost.d:/etc/nginx/vhost.d:rw
                        - /home/iobroker/docker/volume/nextcloud/nginx/html:/usr/share/nginx/html:rw
                        - /home/iobroker/docker/volume/nextcloud/nginx/certs:/etc/nginx/certs:rw
                        - /etc/localtime:/etc/localtime:ro
                        - /var/run/docker.sock:/var/run/docker.sock:ro
                      restart: unless-stopped
                  
                    mysql:
                      image: mariadb
                      container_name: nextcloud-mysql
                      networks:
                        - nextcloud_network
                      volumes:
                        - /home/iobroker/docker/volume/nextcloud/mysql:/var/lib/mysql
                        - /etc/localtime:/etc/localtime:ro
                      environment:
                        - MYSQL_ROOT_PASSWORD=****
                        - MYSQL_PASSWORD=****
                        - MYSQL_DATABASE=****
                        - MYSQL_USER=****
                      restart: unless-stopped
                  
                    nextcloud-app:
                      image: nextcloudsmbc:latest
                      container_name: nextcloud-app
                      networks:
                        - nextcloud_network
                      depends_on:
                        - letsencrypt
                        - nginx-proxy
                        - mysql
                      volumes:
                        - /home/iobroker/docker/volume/nextcloud/app/html:/var/www/html
                        - /home/iobroker/docker/volume/nextcloud/app/config:/var/www/html/config
                        - /home/iobroker/docker/volume/nextcloud/app/custom_apps:/var/www/html/custom_apps
                        - /home/iobroker/docker/volume/nextcloud/app/data:/var/www/html/data
                        - /home/iobroker/docker/volume/nextcloud/app/themes:/var/www/html/themes
                        - /etc/localtime:/etc/localtime:ro
                      environment:
                        - VIRTUAL_HOST=****
                        - LETSENCRYPT_HOST=****
                        - LETSENCRYPT_EMAIL=****
                      restart: unless-stopped
                      
                    fail2ban:
                      container_name: fail2ban
                      image: crazymax/fail2ban:latest
                      restart: always
                      network_mode: host
                      security_opt:
                        - no-new-privileges:true
                      cap_add:
                        - NET_ADMIN
                        - NET_RAW
                      volumes:
                        - /var/log/docker:/var/log/docker
                        - /home/iobroker/docker/volume/nextcloud/fail2ban/data:/data
                        - /home/iobroker/docker/volume/nextcloud/fail2ban/jail.local:/etc/fail2ban/jail.local
                        - /home/iobroker/docker/volume/nextcloud/nginx/log:/var/log/nginx
                        - /home/iobroker/docker/volume/nextcloud/app/data/nextcloud.log:/var/log/nextcloud/nextcloud.log
                  
                      environment:
                        - TZ=Europe/Berlin
                        # - F2B_LOG_LEVEL=DEBUG
                        - F2B_DB_PURGE_AGE=1d # Age at which bans should be purged from the database
                        - F2B_IPTABLES_CHAIN=DOCKER-USER # Specifies the iptables chain to which the Fail2Ban rules should be added 
                      
                    linklist:
                      image: nginx:alpine
                      container_name: linklist
                      networks:
                        - nextcloud_network
                      depends_on:
                        - nginx-proxy
                      volumes:
                        - /home/olinuc/projects/linklist/output/:/usr/share/nginx/html:ro
                        - /home/iobroker/docker/volume/linklist/nginx/conf.d/:/etc/nginx/conf.d:ro
                        - /etc/localtime:/etc/localtime:ro
                  
                      environment:
                        - VIRTUAL_HOST=***lokale Domäne***
                      restart: unless-stopped
                  
                  networks:
                    nextcloud_network:
                    dockerMACVLAN:
                      external: true    
                  

                  1 Reply Last reply Reply Quote 0
                  • I
                    ignis-draco last edited by

                    Ich habe den nginx proxy manaager in einem LC laufen ohne Docker.
                    Sofern man in der lage ist bash scripte zu lesen findet man Hier eine Anleitung. Und da ich mich nicht an Probleme erinnern kann sollte das auch relativ problemlos gehen.

                    1 Reply Last reply Reply Quote 0
                    • wendy2702
                      wendy2702 last edited by

                      Danke erneut.

                      Der NGINX Proxy Manager läuft jetzt.

                      Jetzt habe ich in einem ersten Schritt versucht meine Nextcloud installation anzupassen weil die Erreichbarkeit wichtig ist.

                      Allerdings hat das nicht geklappt.

                      Jemand ne Idee oder kann Hilfestellung zur Umstellung der Nextcloud Einstellungen geben? Meine Nextcloud läuft mit Apache2.

                      Wenn das funktioniert kann ich mit Bitwarden weiter machen.

                      Meister Mopper 1 Reply Last reply Reply Quote 0
                      • Meister Mopper
                        Meister Mopper @wendy2702 last edited by

                        @wendy2702
                        Was steht in der config.php unter trusted domains?

                        wendy2702 1 Reply Last reply Reply Quote 0
                        • wendy2702
                          wendy2702 @Meister Mopper last edited by wendy2702

                          @meister-mopper sagte in Nextcloud und Bitwarden selbst gehostet:

                          @wendy2702
                          Was steht in der config.php unter trusted domains?

                          Aktuell wieder das:

                           'trusted_domains' =>
                            array (
                              0 => '192.168.178.*',
                              1 => 'duxxxxxxxxxxxxay.com',
                            ),
                          
                          

                          nextcloud läuft intern auf der .38, der NGINX Reverse Proxy auf der .34

                          Meister Mopper 1 Reply Last reply Reply Quote 0
                          • Meister Mopper
                            Meister Mopper @wendy2702 last edited by Meister Mopper

                            @wendy2702 Schreib mal den nginx proxy manager dazu 2 => 'IP',

                            wendy2702 1 Reply Last reply Reply Quote 0
                            • wendy2702
                              wendy2702 @Meister Mopper last edited by

                              @meister-mopper sagte in Nextcloud und Bitwarden selbst gehostet:

                              @wendy2702 Schreib mal den nginx proxy manager dazu 2 => 'IP',

                              Wenn ich das

                                'trusted_domains' =>
                                array (
                                  0 => '192.168.178.*',
                                  1 => 'duffysservice.firewall-gateway.com',
                                  2 => '192.168.178.34',
                              
                              

                              mache kommt das:

                              447e2570-dc9b-4513-8ae8-21e916281c61-grafik.png

                              Das hatte ich schonmal und die Cookies gelöscht. Hat leider nicht geholfen.

                              Meister Mopper 1 Reply Last reply Reply Quote 0
                              • Meister Mopper
                                Meister Mopper @wendy2702 last edited by

                                @wendy2702 sagte in Nextcloud und Bitwarden selbst gehostet:

                                duffysservice.firewall-gateway.com

                                Bei mir läufts mit diesen drei domains. Wie hast Du den NPM für nextcloud konfiguriert?

                                wendy2702 1 Reply Last reply Reply Quote 0
                                • wendy2702
                                  wendy2702 @Meister Mopper last edited by wendy2702

                                  @meister-mopper

                                  bc23526d-c392-481c-bbc6-3d05e268fbca-grafik.png

                                  5505f137-dfc0-449a-b1fd-a3c781a9235c-grafik.png

                                  Wie sieht denn deine config.php aus? bei mir so:

                                  root@Nextcloud:/var/www/nextcloud# cat  config/config.php
                                  <?php
                                  $CONFIG = array (
                                   'instanceid' => 'oc1pfu1ifcq8',
                                   'passwordsalt' => '/jxSxxx8Cm/jsl',
                                   'secret' => 'AtgB/4riPxxxxM49TR9',
                                   'trusted_domains' =>
                                   array (
                                     0 => '192.168.178.*',
                                     1 => 'duxxxxxxxcom',
                                     2 => '192.168.178.34',
                                   ),
                                   'datadirectory' => '/mnt/data',
                                   'dbtype' => 'mysql',
                                   'version' => '21.0.9.1',
                                   'overwrite.cli.url' => 'https://192.168.178.38',
                                   'dbname' => 'nextcloud',
                                   'dbhost' => 'localhost',
                                   'dbport' => '',
                                   'dbtableprefix' => 'oc_',
                                   'mysql.utf8mb4' => true,
                                   'dbuser' => 'nextclouduser',
                                   'dbpassword' => 'oxxxxer',
                                   'installed' => true,
                                   'default_phone_region' => 'DE',
                                   'memcache.local' => '\\OC\\Memcache\\Redis',
                                   'memcache.locking' => '\\OC\\Memcache\\Redis',
                                   'redis' =>
                                   array (
                                     'host' => '/var/run/redis/redis-server.sock',
                                     'port' => 0,
                                     'timeout' => 0.0,
                                   ),
                                   'maintenance' => false,
                                   'theme' => '',
                                   'loglevel' => 2,
                                   'mail_smtpmode' => 'smtp',
                                   'mail_smtpsecure' => 'ssl',
                                   'mail_sendmailmode' => 'smtp',
                                   'mail_from_address' => 'maxxxxx0',
                                   'mail_domain' => 'gmx.de',
                                   'mail_smtpauthtype' => 'LOGIN',
                                   'mail_smtpauth' => 1,
                                   'mail_smtphost' => 'mail.gmx.net',
                                   'mail_smtpport' => '465',
                                   'mail_smtpname' => 'mxxxxxgmx.de',
                                   'mail_smtppassword' => 'Sxxxxx2',
                                   'updater.release.channel' => 'stable',
                                   'log_type' => 'file',
                                   'logtimezone' => 'Europe/Berlin',
                                   'logfile' => '/var/log/nextcloud.log',
                                   'syslog_tag' => 'Nextcloud',
                                  );
                                  
                                  

                                  Was hast du in

                                  /etc/apache2/sites-available/nextcloud-ssl.conf
                                  
                                  Meister Mopper 3 Replies Last reply Reply Quote 0
                                  • Meister Mopper
                                    Meister Mopper @wendy2702 last edited by

                                    @wendy2702 Schonmal websocket aktiviert?

                                    1 Reply Last reply Reply Quote 0
                                    • Meister Mopper
                                      Meister Mopper @wendy2702 last edited by

                                      @wendy2702 sagte in Nextcloud und Bitwarden selbst gehostet:

                                      Wie sieht denn deine config.php aus?

                                      Sorry, kann ich jetzt nicht zeigen, bin nicht zuhause.

                                      1 Reply Last reply Reply Quote 0
                                      • Meister Mopper
                                        Meister Mopper @wendy2702 last edited by

                                        @wendy2702 sagte in Nextcloud und Bitwarden selbst gehostet:

                                        Was hast du in
                                        /etc/apache2/sites-available/nextcloud-ssl.conf

                                        Ich lass die nc über nginx laufen.

                                        wendy2702 1 Reply Last reply Reply Quote 0
                                        • wendy2702
                                          wendy2702 @Meister Mopper last edited by

                                          @meister-mopper OK.

                                          WebSockets bleibt unverändert

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          796
                                          Online

                                          31.7k
                                          Users

                                          79.8k
                                          Topics

                                          1.3m
                                          Posts

                                          bitwarden domain letsencrypt ssl https nextcloud
                                          7
                                          20
                                          2592
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo