this post was submitted on 07 Jun 2026
9 points (90.9% liked)

Selfhosted

59712 readers
625 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

Howdy! Sorry if this is a supid question. I've been trying to get this working for like 5 days and I've been researching and reading docs, but I'm just not getting it. I'm fairly new to selfhosing and I'm trying to set up Jellyfin remote access on my NAS. My NAS is a QNAP product running QTS (which I absolutely hate). QTS uses their own weird version of Docker.

When I start Caddy with a docker compose file, I get an error that port 443 is in use and the container can't be started. If I create a container in the Container Station app directly from the Docker Image, it starts up fine. Container Station handles environment variables in a dumb way so I am having trouble specifying the Caddyfile location when I do it that way.

Does anyone know why it works fine in that way but not the other? Both use port 443 but when I do it in a docker compose file, it says the port is in use but when I do it the other way, it doesn't and starts fine.

Note: I know you can do this with Tailscale also, but I want to use my custom domain to make it easier for sharing in the future.

top 13 comments
sorted by: hot top controversial new old
[–] surewhynotlem@lemmy.world 1 points 1 hour ago

"In QNAP QTS, Port 443 is the default secure port for,..."

If it says it's already in use it's because it's already in use. Try changing the QNAP management UI port.

[–] ryannathans@aussie.zone 1 points 3 hours ago (1 children)

You need root to bind to the first thousand ports, is it possible your container station is running as root or something to that effect? Does it work correctly when the port number is some other large number like 8921?

[–] W3dd1e@lemmy.zip 1 points 3 hours ago

It works fine with other ports, including 8443 and 444. It works in Container Station with 443 if I don’t use a Docker Compose file. The whole thing makes no sense.

I checked to see what was using 443 but all I get is “containerd”. I couldn’t find anymore info on what or why Containerd would be using that and no other containers are running.

[–] doeknius_gloek@discuss.tchncs.de 4 points 4 hours ago (2 children)

Is your Caddy actually reachable on port 443 when you use the Container Station App?

My first thought was that your NAS might use port 443 for its own web ui?

[–] damnthefilibuster@lemmy.world 4 points 4 hours ago

Yeah, most likely the Compose version is aware of the ports in use and 443 is pretty standard for the NAS to keep to itself. The direct docker process would not be aware of the default config, or env Vars.

Also, welcome to Selfhosing! 😂

[–] W3dd1e@lemmy.zip 1 points 3 hours ago

Yes it works fine if I build the container from The imagine directly inside the container station app, but I’m having trouble pointing that to the Caddyfile.

If I try to create the container from a docker compose file, it says it can’t bind to port 443 because it’s already in use.

[–] irmadlad@lemmy.world 3 points 4 hours ago* (last edited 4 hours ago) (1 children)

When I start Caddy with a docker compose file,

So, I've never owned a QNAP product running QTS nor have I run Caddy in a Docker container before, but I am assuming it looks something similar to this:

spoiler

networks:
  proxy-network:
    external: true

services:
  caddy:
    image: caddy
    container_name: caddy
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./data:/data
      - ./config:/config
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
    networks:
      - proxy-network

Have you tried changing the port #:

    ports:
      - 80:80
      - 4443:443

ETA:

I’m fairly new to selfhosing

Welcome to the club bro. You're in the right place.

[–] W3dd1e@lemmy.zip 2 points 3 hours ago (2 children)

Yeah, I can do that. I just wanted to understand why it work sometimes but not others.

I HATE QTS. It’s all proprietary software and it’s locked down so I can’t use CLI at all unless I SSH into it. And when I do that, I still can’t add 3rd party software that isn’t in their App Store because there is no apt, dnf, brew, or other similar tools.

I’ve been considering trying to install TrueNAS or something else on it but it sounds like that will be a hassle too because the fans don’t want to work.

[–] theit8514@lemmy.world 2 points 3 hours ago* (last edited 3 hours ago)

If I had to guess, the container station might be giving the docker container a new network/ip address, one that the NAS is not using so that port 443 works and doesn't conflict with the NAS. If you start the container station then inspect the container you might see how they do it, but macvlan is typically how you would configure it.

services:
  my-lan-service:
    image: nginx:latest
    container_name: lan_container
    # 1. Attach the service to the custom macvlan network
    networks:
      lan_network:
        ipv4_address: 192.168.1.200  # The dedicated LAN IP for this container
    # 2. Ports are exposed directly to the LAN; do NOT use the "ports" block
    restart: unless-stopped

networks:
  lan_network:
    driver: macvlan
    driver_opts:
      parent: eth0                  # Change to your host's physical network interface name
    ipam:
      config:
        - subnet: 192.168.1.0/24    # Matches your physical local network setup
          gateway: 192.168.1.1      # Your physical router IP
[–] irmadlad@lemmy.world 1 points 3 hours ago

Yeah, I can do that. I just wanted to understand why it work sometimes but not others.

It's been a few minutes since I've run Caddy, and like I mentioned, I don't own a QNAP. So, I'm just spitballing.

[–] billwashere@lemmy.world 1 points 3 hours ago (1 children)

This probably doesn’t help you much right now but I have a QNAP as well. And I too despise the QTS software. But I found out that TrueNAS can run on it pretty easily. I have an NVME drive on a usb-c enclosure that I installed trueNAS on and it boots fine into it. If I ever wanna go back it’s just a remove the boot drive and reformat (the ZFS pools are compatible unfortunately).

[–] W3dd1e@lemmy.zip 2 points 3 hours ago

Actually I’ve been strongly considering swapping the OS to TrueNAS but I’ve heard some people have trouble with getting the fans to work once they switched over. If you’ve had a good experience I’m willing to give it a shot.

[–] DonutsRMeh@lemmy.world 1 points 3 hours ago

NASes are so annoying. I had so many issues with my Synology NAS with plex and jellyfin. I ended up spinning up a debian server on a small Dell optiplex micro and then mounted my Nas as storage through debian. Installed Jellyfin as a normal debian package. No docker or anything like that. I've never used (or even heard of) QNAP, but are you able to reach it through SMB? If you can, then you can do it like I did