簡単に言うと、インターネット プロバイダーから静的 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.
誰かがこれで私を助けることができれば、私はとても感謝しています. ありがとうございました。