"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.
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:
Be civil.
No spam.
Posts are to be related to self-hosting.
Don't duplicate the full text of your blog or readme if you're providing a link.
Submission headline should match the article title.
No trolling.
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details.
AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
"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.
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?
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! 😂
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.
~~Have you tried running it but not exposing any ports using docker compose?~~ EDIT: Saw that it worked with 4443:443.
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
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.
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
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.
I still can’t add 3rd party software that isn’t in their App Store
That doesn't seem right... I think you can use their "Container Station" to make an LXD or Docker container with whatever you want. You may have to enable "advanced mode." https://www.qnap.com/en-us/how-to/tutorial/article/how-to-use-container-station-3
Hey, I'm just guessing here because I haven't used Caddy in Docker directly, but I do manage a project that uses FrankenPHP, which is essentially a wrapper for Caddy as I understand it, and I've had a problem that looks similar to this.
Caddy will attempt to generate an SSL certificate, and if you are using a reverse proxy, depending on how it's configured, it will internally attempt to fulfil that certificate generation over port 443, which will fail, because it doesn't have a configured SSL certificate. It's the old catch-22!
The solution I have found is to temporarily internally serve your environment over port 80 for external SSL connections. This will allow Caddy to retrieve an SSL certificate and put it in place. After this, you should then be able to switch back over to port 443 for SSL connections internally, and it'll use the certificate.
Once again -- this is just a guess, and I don't know the exact criteria in getting this going in Caddy, but it might be worth a try. In my FrankenPHP project at least, it was a matter of setting the SERVER_NAME variable to http://${DOMAIN}:80
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
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).
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.
Their is a driver to get fans working or at least usable. https://github.com/0xGiddi/qnap8528
To build the driver you usually have to enable Dev mode on truenas scale. I did not want to this so I made a container which can build the driver for you. This way you do not need to enable Dev mode and their for remove the write protection on the host OS. https://github.com/kylian-002/Truenas-qnap8528-module
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?
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.
Probably some proprietary interface the NAS provider set up