Hallo in die Runde, (ich suche mir seit Tagen einen Wolf ohne erfolgt, daher nun hier einmal meine Frage an die potenzielle Experten. )
ich möchte einen Container nicht immer über den Port ansprechen, sondern über eine URL-Prefix ( wie auch bei einigen Apps wie z.B. qumagie -> https://192.168.178.138/qumagie/)
Ist das grundsätzlich möglich oder ggf. erst ab einer gewissen Version?
Docker Container auf URL-Prefix veröffentlichen - "<NAS-IP> / Servicename"
- drob
- Unerledigt
-
-
Wenn der Container eine eigene IP besitzt (Netzwerk im Bridgemodus) sollte man das in der Webserverkonfiguration im Container einstellen können.
Mit Qnapmitteln geht das meiner Meinung nach nicht.
Tschau
Uwe
-
Danke für deine Feedback, dass etwas nicht geht ist ja auch eine wichtige Information.
Ich habe eine Idee wie man es mit Docker-Mitteln löst.
Das admindashboard von qts zieht um, z.B. von Ports 80 und 443 nach 8080 und 8443.
Werde eine container-app (docker-compose) schreiben, welches einen proxy (z.B. traefik beinhaltet).
Dieser belegt die Ports 80 und 443 und übernimmt die Verwaltung der Path-Prefix.
ggf. 'bastel' ich eine eigenes Dashboard für <nas-ip>/
Wenn ich was lauffähiges habe, liefere ich ein Beispiel. -
Falls jemand was ähnliches machen möchte ...
hier eine kleines Beispiel mit traefik als proxy und paperless als service.<nas-ip>:8443\ qts-dashboard <nas-ip>:8080\ traefik dashboard <nas-ip>\paperless\ paperless Code: docker-compose.yml
Alles anzeigenversion: "3.4" services: proxy: image: "traefik:v2.10" command: - "--log.level=DEBUG" - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" ports: - "80:80" - "443:443" - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" pl_broker: image: docker.io/library/redis:7 restart: unless-stopped volumes: - pl_redisdata:/data pl_db: image: docker.io/library/postgres:15 restart: unless-stopped volumes: - pl_pgdata:/var/lib/postgresql/data environment: POSTGRES_DB: paperless POSTGRES_USER: paperless POSTGRES_PASSWORD: paperless pl_webserver: image: ghcr.io/paperless-ngx/paperless-ngx:latest restart: unless-stopped depends_on: - pl_db - pl_broker healthcheck: test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"] interval: 30s timeout: 10s retries: 5 volumes: - pl_data:/usr/src/paperless/data - pl_media:/usr/src/paperless/media - ./export:/usr/src/paperless/export - ./consume:/usr/src/paperless/consume environment: PAPERLESS_REDIS: redis://pl_broker:6379 PAPERLESS_DBHOST: pl_db PAPERLESS_URL: http://uns.fritz.box PAPERLESS_FORCE_SCRIPT_NAME: /paperless USERMAP_UID: 1000 USERMAP_GID: 100 labels: - traefik.enable=true - traefik.http.routers.pl_webserver.rule=PathPrefix(`/paperless/`) - traefik.http.routers.pl_webserver.middlewares=setPathPrefixpaperless - traefik.http.services.pl_webserver.loadbalancer.server.port=8000 - traefik.http.middlewares.setPathPrefixpaperless.replacePAthRegex.regex='^/paperless' - traefik.http.middlewares.setPathPrefixpaperless.replacePAthRegex.replacement='' volumes: pl_data: pl_media: pl_pgdata: pl_redisdata: