• 16 Posts
  • 1.65K Comments
Joined 3 years ago
cake
Cake day: June 15th, 2023

help-circle


  • seems to have identified this as some NAT setting built in to Docker

    TBH I also thought about it being the default range used by Docker for its bridge networks, but I was under the impression it uses 172. ranges by default. The official example on their site says it uses 172.30.0.0/16 and 172.31.0.0/16. Also I have an unmodified docker running on one of my machines and it allocated 172.18.0.0/16 for a bridge network.

    You can try to docker network create a bridge network and see what range it gets, you’ll see if it gets a 172. or a 168..

    BTW I hope you’re looking at the docker on the reverse proxy machine, not on the jellyfin machine.



  • Just to understand better:

    • When you say “when accessed from outside my home network”, what kind of access is that? Port forward? VPN?
    • Is 192.168.1.1 your router?
    • What’s your LAN netmask?
    • NPM listens on 192.168.10.201 ports and Jellyfin/Komga on 192.168.10.202 ports?
    • A connection from the outside comes through the router, gets forwarded to 192.168.10.201:443, the proxy sends it to 192.168.10.202:8096, and it shows up in the Jellyfin logs as coming from 192.168.65.1?

    If all of the above is correct I would look at the network interfaces that are up on the mini-PC and the NAS, as well as inside the containers of the proxy and of Jellyfin, and see if there isn’t a 192.168.65.1 up on there somewhere for whatever reason.

    You can also try making a manual request (wget, curl, nc) from the proxy container to Jellyfin and see what it shows up as.

    May also want to see what’s the DNS situation in your LAN and on those machines. You mentioned “names” being used, how are those defined and resolved?

    Last but not least are the containers you mentioned using docker bridge networks or ipvlan?


  • What is “the API”?

    Good question. When you have multiple implementations of an API, the API (the authoritative version) is what gives the reference spec that all other apps must follow.

    If the authoritative version will be fully implemented only by the closed backend and in the closed apps, it will cripple the FOSS backend and apps.

    This is a common tactic used by companies that want to sideline the FOSS options and slowly make them irrelevant.

    Yes, today all apps talk to both Bitwarden and Vaultwarden the same way. Be on the lookout in case that changes.



  • Both backend and frontend revolve around the API, and Bitwarden owns that not Vaultwarden.

    If Bitwarden decides to modify the API so that only their closed-source backend has the full spec, and only gives that spec to their own apps, everything else (Vaultwarden and 3rd-party apps) will fall behind or become unusable.

    To counter that, Vaultwarden and the 3rd-party apps need to declare their own API and prepare to fly solo completely independently from Bitwarden.

    Such a move would force Bitwarden to show their true colors. If they really mean to stay true to the open version they will keep cooperating and keeping their API in sync with the Vaultwarden API.


  • The current FOSS backend used to be the center of the ecosystem. Going forward that may change. If it stops being that center and it becomes merely a token offering so Bitwarden can claim “we’re still doing FOSS” then it will become pointless.

    Simply forking the backend is meaningless without the work to also drag along the entire ecosystem, or establish a new one. Forking a project takes time, effort, vision, persistence, determination.



  • Vaultwarden (and all the client apps) depend on Bitwarden for the API spec. If Bitwarden introduces closed features in the API that Vaultwarden can’t/won’t implement, but the client apps do, it will split the spec. They can also introduce API license keys, which would render Vaultwarden mostly irrelevant.

    The only way for Vaultwarden to remain relevant going forward is to own it and split ways from Bitwarden. This would in turn mean that the FOSS client apps have to decide which to support. But I think the ecosystem is going to fragment eventually anyway, so the sooner every app decides which way they want to go, the better.



  • Yeah but if you want to use something different, or may need to use different web servers or proxies from time to time, it’s better to have the cert renewal stuff separated.

    Also, for any provider that’s off the beaten path you have to build caddy yourself to include the right plugin and that’s just meh.

    Caddy’s fine if you only use one provider and only Caddy all the time but other than that no.






  • Yeah if you put it behind a reverse proxy you have lots of options. Basic auth would be the most straightforward but you can also do mTLS with a custom self-generated CA fairly easily. Then there’s OAuth but the setup is usually more involved than either of the above.

    Whatever you use you gotta have HTTPS working, that’s very important to keep it secured.



  • I’m using a similar stack, Radicale on backend, DAVx5, and Calengoo as app.

    Calengoo is not open source but you can buy it directly from the developer without Google integration. It’s the only calendar app I’ve found that also does tasks properly, in that if I dismiss a task without explicitly marking it completed the notification will come back. It looks a bit strange out of the box but it has multiple themes and it’s super configurable.

    The one thing I don’t like is that it uses a direct connection to CalDAV to mark tasks completed, instead of going through DAVx5 (not sure if it’s a limitation in the Android chain or what).