Docker Container - Nextcloud über IPv4 nicht erreichbar

francy_space

Ensign
Registriert
Juni 2020
Beiträge
169
- Ich habe daheim im lokalen Netzwerk ein Server aufgesetzt, auf dem eine Docker-Compose läuft.

- Über die IP des localhosts (127.0.0.1) und Port 8080 kann ich von meinem Host aus, den Nextcloud-Server öffnen.

- An dem Port (8080) hängt ein Webserver, der wiederrum zur Nextcloud führt.

- Mein Problem ist, dass, wenn ich im lokalen Netzwerk von meinem Host aus aus, die lokale IP (192.168.19.126) des Hosts und den Port eingebe, ich nicht Zugriff auf die Compose habe. Sprich, ich kann den Webserver NUR über den localhost erreichen.

- Vorgehensweise: Ich denke, dass das Problem bei Nextcloud liegt. Die Umgebungsvariablen habe ich eigegeben. Diese funktionieren nicht. In der Nextcloud-Anwendung im Compose gibt es eine Config-Datei, wo man Trusted Domains definieren kann. Das Problem ist, dass ich die Config-Datei editieren müsste. Um sie editieren zu können, habe ich einen Biant Mount aufgesetzt. Ich möchte, dass Nextcloud die Config-Datei in die Biant Mount reinspeichert, sodass ich sie editieren kann. Danach gelangt die editierte Config-Datei zurück zum Host. Das Problem hier ist, dass ein leeres File in mein Biant Mount zurückgelangt.


Link mit den Umgebungsvariablen:

https://help.nextcloud.com/t/nextcloud-trusted-domains-funktioniert-nicht-wie-beschrieben/63421

Das ist die Docker-Compose file:

Code:
version: '3.8'

services:
  db:
    image: postgres:alpine
    restart: always
    volumes:
      - db:/var/lib/postgresql/data
    env_file:
      - db.env
    networks:
      - backend

  redis:
    image: redis:alpine
    restart: always
    networks:
      - backend

  app:
    image: nextcloud:fpm-alpine
    restart: always
    volumes:
      - nextcloud:/var/www/html
    environment:
      - POSTGRES_HOST=db
      - REDIS_HOST=redis
      - NEXTCLOUD_TRUSTED_DOMAINS= 192.168.19.126
    env_file:
      - db.env
    depends_on:
      - db
      - redis
    networks:
      - backend

  web:
    build: ./web
    hostname: sae_nextcloud
    restart: always
    ports:
      - 8080:80
    volumes:
      - nextcloud:/var/www/html:ro

    depends_on:
      - app
    networks:
      - backend

  cron:
    image: nextcloud:fpm-alpine
    restart: always
    volumes:
      - nextcloud:/var/www/html
    entrypoint: /cron.sh
    depends_on:
      - db
      - redis
    networks:
      - backend

  # collabora:
  #   image: collabora/code
  #   container_name: nextcloud-collabora
  #   restart: unless-stopped
  #   networks:
  #     - backend
  #   ports:
  #     - 9980:9980
  #   environment:
  #     - extra_params=--o:ssl.enable=false
  #     # - dictionaries=en_GB
  #     # - username=nextcloud
  #     # - password=Testpass123
  #     # - domain=sae_nextcloud

volumes:
  db:
  nextcloud:

networks:
  backend:
 
Zuletzt bearbeitet:
Die Info für dein Network fehlt. Aber ich persönlich würde einfach das Docker-Image von linuxserver.io nutzen:

https://hub.docker.com/r/linuxserver/nextcloud

Da ist eine große Community dahinter und die Images werden immer ordentlich gepflegt.
 
  • Gefällt mir
Reaktionen: francy_space
Nutze dieselbe Image zusammen mit NGINX.
Probiere mal folgendes beim App-Container

- TRUSTED_PROXIES=172.32.0.2

Wobei 172.32.0.2 mit der IP des web-Containers im Backend-Netzwerk zu ersetzen ist.

Edit: OK, bei deiner Web-Config macht das vlt. weniger Sinn - aber ich würde eh ein reverse proxy davor schalten mit Let's Encrypt und co. ;)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: francy_space
Zurück
Oben