0

簡単に言うと、インターネット プロバイダーから静的 IP を取得していないため、Raspberry Pi 4、Raspbian、および linuxserver.io ワイヤーガード イメージを使用して独自の VPN サーバーを構築するというアイデアが生まれました。次に、これらの VPN の背後には Nextcloud スクリプトがあります。これまでのところ、docker-compose.yaml でこれを実行しましたが、エラーが返されました。

version: '3.7'

services:
  wireguard:
    privileged: true
    image: ghcr.io/linuxserver/wireguard
    container_name: wireguard
    restart: unless-stopped
    networks:
      - backbone
    volumes:
      - './wireguard/config:/config'
      - '/lib/modules:/lib/modules'
    environment:
      - PUID=1000
      - PGID=1000
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
      - net.ipv6.conf.all.disable_ipv6=0

  nextcloud:
    privileged: true
    depends_on:
      - wireguard
    image: ghcr.io/linuxserver/nextcloud
    container_name: nextcloud
    network_mode: service:wireguard
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - ./nextcloud/config:/config
      - ./nextcloud/data:/data
    ports:
      - 8080:80

networks:
  backbone:
    driver: bridge

http://my.vpn.ip:8080にアクセスしたときに、VPN IP アドレスを使用して外部から nextcloud Web UI にアクセスできるようにしたい

docker-compose.yaml ファイルに行を追加network_mode: service:wireguardして、nextcloud コンテナーが wireguard コンテナーと同じネットワーク内にあるようにします。しかし、すでに設定した公開ポート 8080:80 では動作しないようです。起動するdocker-compose up -dと、次のようなエラー出力が返されました。

ERROR: for nextcloud  Cannot create container for service nextcloud: conflicting options: port publishing and the container type network mode
ERROR: Encountered errors while bringing up the project.

誰かがこれで私を助けることができれば、私はとても感謝しています. ありがとうございました。

4

1 に答える 1