YuukanOO / seelf

Lightweight self-hosted deployment platform written in Go
https://yuukanoo.github.io/seelf/
GNU General Public License v3.0
186 stars 4 forks source link

Ability to run without Traefik? #58

Open fbartels opened 5 months ago

fbartels commented 5 months ago

Hi, I found your project on Reddit and like the idea.

I have a few stacks that are already managing their their reverse proxy/ingress. Is there a possibility to not start traefik and instead have the deployed stack manage their own exposure?

YuukanOO commented 5 months ago

Not at the moment. seelf assumes it has to manage services exposure to prevent name conflicts across targets and make the local -> remote transition almost transparent. However, having an nginx service on a specific stack is totally feasible right now. It will receive all traffic from <app name>.<target url> forwarded by traefik. Maybe I should make an example about such stack.

I'm curious and would like to know more about your use case thought.

Anyway, thanks for your feedback ☺️

fbartels commented 5 months ago

Yes, I can understand that reasoning.

Maybe I am old school by wanting to manually configure my Reverse Proxy. My use case would an existing deployment that I just want to enhance by automating its updates. Say you are running something like https://github.com/nextcloud/all-in-one/blob/main/compose.yaml, which comes with a reverse proxy configured.

https://github.com/nextcloud/all-in-one/blob/main/compose.yaml

cretudorin commented 2 months ago

@YuukanOO would it be complicated to disable the Traefik part? My use case is that I use tailscale with magic dns and I don't have (and want) an actual FQDN.

I guess it could also work with http://app.docker.localhost

1fexd commented 1 month ago

I'd also be interested in running seelf without Traefik, since I'm currrently using nginx-proxy

YuukanOO commented 1 month ago

It would be feasible, maybe with a toggle on the target side, something like Configure the proxy manually but in this case, you will be in charge for everything.

If the proxy is not handled by seelf, services should still join a network shared with the proxy but how should it be configured? Should it be seelf's responsibility or every compose file deployed should contains a reference to the network?

cretudorin commented 1 month ago

IMO if you choose to configure manually seelf should no longer care, no more joining the docker network, you are on your own.

YuukanOO commented 3 weeks ago

When opting for a manual configuration, I guess the target's url is no longer necessary since seelf doesn't know where services are made available.

I will get back working on seelf next month so stay tuned!

YuukanOO commented 1 day ago

I'm almost done on it (need more unit tests + docs) but I didn't have that much time this week to do a pre-release.

If you really want to try it out, you can with:

git clone -b feat/manual-proxy-configuration https://github.com/YuukanOO/seelf
cd seelf
make build
./seelf serve

Or wait for next week :)