1. The problem I’m having:
Nextcloud had been connecting on my host/remote machines with tailscale, but suddenly it’s like it can’t even find the website on the host machine. Jellyfin never worked simultaneously with nextcloud, but before I combined them to run both. I only get errors from Caddy when I try to access from another device that has tailscale installed. I have default acls, override local dns is on for my exit node vpn, and magicDNS is on. Where have I gone wrong? Thank you for your help!
2. Error messages and/or full log output:
INF ts=1721851386.2966852 logger=tls.obtain msg=obtaining certificate identifier=jellyfin.wallaby-gopher.ts.net
INF ts=1721851386.297025 logger=tls msg=using ACME account account_id=https://acme-staging-v02.api.letsencrypt.org/acme/acct/156809383 account_contact=[]
INF ts=1721851386.9860916 logger=tls.acme_client msg=trying to solve challenge identifier=jellyfin.wallaby-gopher.ts.net challenge_type=tls-alpn-01 ca=https://acme-staging-v02.api.letsencrypt.org/directory
ERR ts=1721851387.3541026 logger=tls.acme_client msg=challenge failed identifier=jellyfin.wallaby-gopher.ts.net challenge_type=tls-alpn-01 problem={"type":"urn:ietf:params:acme:error:dns","title":"","detail":"DNS problem: NXDOMAIN looking up A for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain","instance":"","subproblems":[]}
ERR ts=1721851387.3541567 logger=tls.acme_client msg=validating authorization identifier=jellyfin.wallaby-gopher.ts.net problem={"type":"urn:ietf:params:acme:error:dns","title":"","detail":"DNS problem: NXDOMAIN looking up A for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain","instance":"","subproblems":[]} order=https://acme-staging-v02.api.letsencrypt.org/acme/order/156809383/17990284953 attempt=1 max_attempts=3
INF ts=1721851388.5035493 logger=tls.acme_client msg=trying to solve challenge identifier=jellyfin.wallaby-gopher.ts.net challenge_type=http-01 ca=https://acme-staging-v02.api.letsencrypt.org/directory
ERR ts=1721851388.8611884 logger=tls.acme_client msg=challenge failed identifier=jellyfin.wallaby-gopher.ts.net challenge_type=http-01 problem={"type":"urn:ietf:params:acme:error:dns","title":"","detail":"DNS problem: NXDOMAIN looking up A for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain","instance":"","subproblems":[]}
ERR ts=1721851388.8612058 logger=tls.acme_client msg=validating authorization identifier=jellyfin.wallaby-gopher.ts.net problem={"type":"urn:ietf:params:acme:error:dns","title":"","detail":"DNS problem: NXDOMAIN looking up A for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain","instance":"","subproblems":[]} order=https://acme-staging-v02.api.letsencrypt.org/acme/order/156809383/17990285353 attempt=2 max_attempts=3
ERR ts=1721851388.8612182 logger=tls.obtain msg=could not get certificate from issuer identifier=jellyfin.wallaby-gopher.ts.net issuer=acme-v02.api.letsencrypt.org-directory error=HTTP 400 urn:ietf:params:acme:error:dns - DNS problem: NXDOMAIN looking up A for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain
ERR ts=1721851388.861246 logger=tls.obtain msg=will retry error=[jellyfin.wallaby-gopher.ts.net] Obtain: [jellyfin.wallaby-gopher.ts.net] solving challenge: jellyfin.wallaby-gopher.ts.net: [jellyfin.wallaby-gopher.ts.net] authorization failed: HTTP 400 urn:ietf:params:acme:error:dns - DNS problem: NXDOMAIN looking up A for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain (ca=https://acme-staging-v02.api.letsencrypt.org/directory) attempt=2 retrying_in=120 elapsed=65.19797253 max_duration=2592000
ERR ts=1721851499.0825777 logger=http.log.error msg=dial tcp: lookup nextcloud on 192.168.0.1:53: no such host request={"remote_ip":"127.0.0.1","remote_port":"33674","client_ip":"127.0.0.1","proto":"HTTP/2.0","method":"GET","host":"nextcloud.wallaby-gopher.ts.net","uri":"/","headers":{"Te":["trailers"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8"],"Accept-Language":["en-US"],"Cookie":["REDACTED"],"Sec-Fetch-Mode":["navigate"],"Sec-Fetch-Site":["cross-site"],"Priority":["u=0, i"],"User-Agent":["Mozilla/5.0 (Android 14; Mobile; rv:128.0) Gecko/128.0 Firefox/128.0"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Upgrade-Insecure-Requests":["1"],"Sec-Fetch-Dest":["document"]},"tls":{"resumed":false,"version":772,"cipher_suite":4865,"proto":"h2","server_name":"nextcloud.wallaby-gopher.ts.net"}} duration=0.109954608 status=502 err_id=yu16iheut err_trace=reverseproxy.statusError (reverseproxy.go:1269)
ERR ts=1721851388.8612182 logger=tls.obtain msg=could not get certificate from issuer identifier=jellyfin.wallaby-gopher.ts.net issuer=acme-v02.api.letsencrypt.org-directory error=HTTP 400 urn:ietf:params:acme:error:dns - DNS problem: NXDOMAIN looking up A for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain
ERR ts=1721851388.861246 logger=tls.obtain msg=will retry error=[jellyfin.wallaby-gopher.ts.net] Obtain: [jellyfin.wallaby-gopher.ts.net] solving challenge: jellyfin.wallaby-gopher.ts.net: [jellyfin.wallaby-gopher.ts.net] authorization failed: HTTP 400 urn:ietf:params:acme:error:dns - DNS problem: NXDOMAIN looking up A for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for jellyfin.wallaby-gopher.ts.net - check that a DNS record exists for this domain (ca=https://acme-staging-v02.api.letsencrypt.org/directory) attempt=2 retrying_in=120 elapsed=65.19797253 max_duration=2592000
ERR ts=1721851499.0825777 logger=http.log.error msg=dial tcp: lookup nextcloud on 192.168.0.1:53: no such host request={"remote_ip":"127.0.0.1","remote_port":"33674","client_ip":"127.0.0.1","proto":"HTTP/2.0","method":"GET","host":"nextcloud.wallaby-gopher.ts.net","uri":"/","headers":{"Te":["trailers"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8"],"Accept-Language":["en-US"],"Cookie":["REDACTED"],"Sec-Fetch-Mode":["navigate"],"Sec-Fetch-Site":["cross-site"],"Priority":["u=0, i"],"User-Agent":["Mozilla/5.0 (Android 14; Mobile; rv:128.0) Gecko/128.0 Firefox/128.0"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Upgrade-Insecure-Requests":["1"],"Sec-Fetch-Dest":["document"]},"tls":{"resumed":false,"version":772,"cipher_suite":4865,"proto":"h2","server_name":"nextcloud.wallaby-gopher.ts.net"}} duration=0.109954608 status=502 err_id=yu16iheut err_trace=reverseproxy.statusError (reverseproxy.go:1269)
I get some errors in nextcloud-aio-mastercontainer as well, and the apache server is unhealthy
2024-07-24T13:17:06.786069461Z 🛈 Configured WOPI URL:
2024-07-24T13:17:06.786075390Z 🛈 Configured public WOPI URL:
2024-07-24T13:17:06.786081025Z 🛈 Configured callback URL:
2024-07-24T13:17:06.786086814Z
2024-07-24T13:17:06.852006229Z Failed to fetch discovery endpoint from
2024-07-24T13:17:06.852027030Z cURL error 6: Could not resolve host: nextcloud.wallaby-gopher.ts.net (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://nextcloud.wallaby-gopher.ts.net/hosting/discovery2024-07-24T13:17:06.786069461Z 🛈 Configured WOPI URL: https://nextcloud.wallaby-gopher.ts.net
2024-07-24T13:17:06.786075390Z 🛈 Configured public WOPI URL:
2024-07-24T13:17:06.786081025Z 🛈 Configured callback URL:
2024-07-24T13:17:06.786086814Z
2024-07-24T13:17:06.852006229Z Failed to fetch discovery endpoint from
2024-07-24T13:17:06.852027030Z cURL error 6: Could not resolve host: nextcloud.wallaby-gopher.ts.net (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://nextcloud.wallaby-gopher.ts.net/hosting/discoveryhttps://nextcloud.wallaby-gopher.ts.nethttps://nextcloud.wallaby-gopher.ts.nethttps://nextcloud.wallaby-gopher.ts.nethttps://nextcloud.wallaby-gopher.ts.nethttps://nextcloud.wallaby-gopher.ts.net
3. Caddy version:
v2.8.4 h1:q3pe0wpBj1OcHFZ3n/1nl4V4bxBrYoSoab7rL9BMYNk=
4. How I installed and ran Caddy:
I used the docker-compose in section C
a. System environment:
Operating System: Arch Linux
KDE Plasma Version: 6.1.3
KDE Frameworks Version: 6.4.0
Qt Version: 6.7.2
Kernel Version: 6.9.10-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 20 × Intel® Core™ i9-10900K CPU @ 3.70GHz
Memory: 62.7 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 3080/PCIe/SSE2
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: Z490 AORUS MASTER
System Version: -CF
installed with docker version:
Client:
Version: 27.0.3
API version: 1.46
Go version: go1.22.4
Git commit: 7d4bcd863a
Built: Mon Jul 1 21:15:54 2024
OS/Arch: linux/amd64
Context: default
Server:
Engine:
Version: 27.0.3
API version: 1.46 (minimum version 1.24)
Go version: go1.22.4
Git commit: 662f78c0b1
Built: Mon Jul 1 21:15:54 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.7.20
GitCommit: 8fc6bcff51318944179630522a095cc9dbf9f353.m
runc:
Version: 1.1.13
GitCommit:
docker-init:
Version: 0.19.0
GitCommit: de40ad0
b. Command:
I navigate to my location, here is the tree of combo:
.
├── caddy
│ ├── Caddyfile
│ ├── certs
│ ├── config
│ │ └── caddy [error opening dir]
│ ├── data
│ │ └── caddy [error opening dir]
│ └── sites
├── docker-compose.yaml
├── gluetun
│ ├── my_expressvpn_switzerland_udp.ovpn
│ ├── my_expressvpn_usa_-_chicago_udp.ovpn
│ └── servers.json
├── tailscale
│ ├── state
│ │ └── tailscaled.state
│ ├── var
│ │ └── lib
│ │ └── tailscale [error opening dir]
│ └── varlib
│ └── tailscale [error opening dir]
├── tailscale1
│ └── varlib
│ └── tailscale
│ ├── certs [error opening dir]
│ ├── derpmap.cached.json
│ ├── files [error opening dir]
│ ├── tailscaled.log1.txt
│ ├── tailscaled.log2.txt
│ ├── tailscaled.log.conf
│ └── tailscaled.state
└── tailscale3
├── derpmap.cached.json
├── files [error opening dir]
├── tailscale [error opening dir]
└── tailscaled.state
then do: docker-compose up -d
I only need to do this once, but I run these two to get my cert from tailscale, first jellyfin then nextcloud:
docker exec tailscalej tailscale --socket /tmp/tailscaled.sock cert jellyfin.wallaby-gopher.ts.net
docker exec tailscalen tailscale --socket /tmp/tailscaled.sock cert nextcloud.wallaby-gopher.ts.net
I then hashtag out the authkey and run again
docker-compose up -d
PASTE OVER THIS, BETWEEN THE ``` LINES.
Please use the preview pane to ensure it looks nice.
c. compose file:
volumes:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer # This line is not allowed to be changed as otherwise the built-in backup solution will not work
# shared volumes any container in the same docker-compose file can access
# used to share the tailscaled.sock file with caddy
sock_volume1:
sock_volume2:
# you do not have to use the same local filepaths that I do for volume mapping in the containers,
# but you do have to make sure whatever filepath you use is mapped to the correct filepath in the container
services:
jellyfin:
image: jellyfin/jellyfin
container_name: "jellyfin-ts"
user: 1000:1000
volumes:
- /media/server/server/jellyfin-server/config:/config
- /media/server/server/jellyfin-server/cache:/cache
# ro means read only, we don't want jellyfin accidentally deleting our files
- /media/16tb/Shows and Movies/Movies:/Movies:ro
- /media/16tb/Shows and Movies/Shows:/Shows:ro
restart: unless-stopped
caddy:
image: caddy
network_mode: host
container_name: "caddy"
hostname: caddy
depends_on:
# wait for tailscale to boot
# to communicate to it using the tailscaled.sock
- tailscale
#removed ports due to host mode
volumes:
- /media/server/server/combo/caddy/Caddyfile:/etc/caddy/Caddyfile
- /media/server/server/combo/caddy/data:/data
- /media/server/server/combo/caddy/config:/config
# get socket tailscale created in the shared volume and share it with caddy
- /media/server/server/combo/caddy/certs:/certs
- /media/server/server/combo/caddy/sites:/srv
# caddy expects the socket to be at /var/run/tailscale/tailscaled.sock
- sock_volume1:/var/run/tailscale
- sock_volume2:/var/run/tailscale
restart: unless-stopped
#tailscale for jellyfin
tailscale:
container_name: tailscalej
image: tailscale/tailscale
network_mode: host
# tailscale sets new machine names to the OS hostname
# docker-desktop is the default hostname for docker
# if you modify this and recreate the container, the machine name will be updated automatically
# make sure this matches the machine name you set in the Caddyfile
hostname: jellyfin
cap_add:
- NET_ADMIN
- NET_RAW
volumes:
# saves container state after container is recreated
# used varlib because var folder isn't needed locally
- /media/server/server/combo/tailscale/varlib:/var/lib
# containerized version of tailscale uses /tmp/tailscaled.sock
# binds the socket to a docker volume so it can be accessed by other containers
# this can't be a local directory because the socket is created by the container
- sock_volume1:/tmp
environment:
# if you add a command key, it will override environment key variables with default values!
# info: https://tailscale.com/kb/1282/docker#ts_socks5_server
# set the authkey to reusable when generating it from tailscale
#- TS_AUTHKEY=
# prevents a new machine from being added each time the container is restarted
- TS_STATE_DIR=/var/lib/tailscale
# https://tailscale.com/kb/1112/userspace-networking
- TS_USERSPACE_NETWORKING=userspace-networking
restart: unless-stopped
#tailscale for nextcloud
tailscale1:
container_name: tailscalen
image: tailscale/tailscale
network_mode: host
# tailscale sets new machine names to the OS hostname
# docker-desktop is the default hostname for docker
# if you modify this and recreate the container, the machine name will be updated automatically
# make sure this matches the machine name you set in the Caddyfile
hostname: nextcloud
cap_add:
- NET_ADMIN
- NET_RAW
volumes:
# saves container state after container is recreated
# used varlib because var folder isn't needed locally
- /media/server/server/combo/tailscale1/varlib:/var/lib
#might need new file path??
# containerized version of tailscale uses /tmp/tailscaled.sock
# binds the socket to a docker volume so it can be accessed by other containers
# this can't be a local directory because the socket is created by the container
- sock_volume2:/tmp
environment:
# if you add a command key, it will override environment key variables with default values!
# info: https://tailscale.com/kb/1282/docker#ts_socks5_server
# set the authkey to reusable when generating it from tailscale
#- TS_AUTHKEY=
# prevents a new machine from being added each time the container is restarted
- TS_STATE_DIR=/var/lib/tailscale
# https://tailscale.com/kb/1112/userspace-networking
- TS_USERSPACE_NETWORKING=userspace-networking
restart: unless-stopped
#tailscale for gluetunnel vpn exit
tailscale3:
container_name: tailscalee
cap_add:
- NET_ADMIN
- NET_RAW
volumes:
- /media/server/server/combo/tailscale3:/var/lib
- /media/server/server/combo/tailscale3:/state
- /dev/net/tun:/dev/net/tun
network_mode: "service:gluetun"
restart: unless-stopped
environment:
- TS_HOSTNAME=vpn-exit-node
- TS_AUTHKEY=
- TS_ROUTES=192.168.1.0/24
- TS_EXTRA_ARGS=--accept-routes #=true
- TS_EXTRA_ARGS=--advertise-exit-node
- TS_NO_LOGS_NO_SUPPORT=true
- TS_STATE_DIR=/state
image: tailscale/tailscale
depends_on: #needs to be in same stack? Just start after jellyfin stack?
- gluetun
#for vpn
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
# line above must be uncommented to allow external containers to connect.
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun
restart: unless-stopped
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- /media/server/server/combo/gluetun:/gluetun
environment:
- VPN_SERVICE_PROVIDER=expressvpn
- OPENVPN_USER= #don't listen to error about using old variable, new ones dont work
- OPENVPN_PASSWORD=
- SERVER_COUNTRIES=USA
- SERVER_CITIES=Chicago
# See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
# Timezone for accurate log times
- TZ=America/Chicago
# Server list updater
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list
- UPDATER_PERIOD=24h
#nextcloud
nextcloud:
image: nextcloud/all-in-one:latest
restart: always
container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed as otherwise AIO will not work correctly
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config # This line is not allowed to be changed as otherwise the built-in backup solution will not work
- /var/run/docker.sock:/var/run/docker.sock:ro # May be changed on macOS, Windows or docker rootless. See the applicable documentation. If adjusting, don't forget to also set 'WATCHTOWER_DOCKER_SOCKET_PATH'!
ports:
#- 80:80 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
- 8080:8080
#- 8443:8443 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
environment: # Is needed when using any of the options below
# - AIO_DISABLE_BACKUP_SECTION=false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section
#- SKIP_DOMAIN_VALIDATION=true #might not be helping?
- APACHE_PORT=11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
- APACHE_IP_BINDING=0.0.0.0 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# - BORG_RETENTION_POLICY=--keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy
# - COLLABORA_SECCOMP_DISABLED=false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
# - NEXTCLOUD_DATADIR=/mnt/ncdata # Allows to set the host directory for Nextcloud's datadir. ⚠️⚠️⚠️ Warning: do not set or adjust this value after the initial Nextcloud installation is done! See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
# - NEXTCLOUD_MOUNT=/mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
- NEXTCLOUD_UPLOAD_LIMIT=1G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud
- NEXTCLOUD_MAX_TIME=3600 # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud
- NEXTCLOUD_MEMORY_LIMIT=1024M # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud
# - NEXTCLOUD_TRUSTED_CACERTS_DIR=/path/to/my/cacerts # CA certificates in this directory will be trusted by the OS of the nexcloud container (Useful e.g. for LDAPS) See See https://github.com/nextcloud/all-in-one#how-to-trust-user-defined-certification-authorities-ca
# - NEXTCLOUD_STARTUP_APPS=deck twofactor_totp tasks calendar contacts notes # Allows to modify the Nextcloud apps that are installed on starting AIO the first time. See https://github.com/nextcloud/all-in-one#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup
# - NEXTCLOUD_ADDITIONAL_APKS=imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-os-packages-permanently-to-the-nextcloud-container
# - NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container
# - NEXTCLOUD_ENABLE_DRI_DEVICE=true # This allows to enable the /dev/dri device in the Nextcloud container. ⚠️⚠️⚠️ Warning: this only works if the '/dev/dri' device is present on the host! If it should not exist on your host, don't set this to true as otherwise the Nextcloud container will fail to start! See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-transcoding-for-nextcloud
- TALK_PORT=3478 # This allows to adjust the port that the talk container is using. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port
# - WATCHTOWER_DOCKER_SOCKET_PATH=/var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var/run/docker.sock'
# networks: # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file
# - nextcloud-aio # Is needed when you want to create the nextcloud-aio network with ipv6-support using this file, see the network config at the bottom of the file
- trusted_domains=nextcloud.wallaby-gopher.ts.net #should I use dbhost=? #Think both are wrong according to https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md#adapting-the-sample-web-server-configurations-below
depends_on: #needs to be in same stack? Just start after jellyfin stack?
- caddy
d. My complete Caddy config:
I tried to run docker exec caddy caddy fmt, but it gave me an Error: reading input file: open Caddyfile: no such file or directory. This is silly because I can see it right there in the directory with ls
# make sure the machine name is the same as the hostname of the tailscale container in docker-compose.yml
jellyfin.wallaby-gopher.ts.net {
reverse_proxy jellyfin:8096
}
nextcloud.wallaby-gopher.ts.net:443 {
reverse_proxy nextcloud:11000
}
5. Links to relevant resources:
The page I was building jellyfin/tailscale and then nextcloud off of: GitHub - brianalewine/jellyfin-docker: Guide for setting up jellyfin with tailscale through docker