Skip to content
This repository has been archived by the owner on Nov 9, 2024. It is now read-only.

Pick a reverse proxy to act as the frontdoor to the application components #31

Closed
2 tasks
AnalogJ opened this issue Sep 20, 2019 · 4 comments
Closed
2 tasks

Comments

@AnalogJ
Copy link
Collaborator

AnalogJ commented Sep 20, 2019

Choices?

  • Nginx
  • Traefik

Should be simple to maintain, and lightweight as possible.

@jontey
Copy link

jontey commented Sep 20, 2019

Question.

Is this the reverse proxy for the webapp component only or for the whole stack?

@AnalogJ
Copy link
Collaborator Author

AnalogJ commented Sep 20, 2019

@jontey as of now, it would be the entrypoint to all HTTP endpoints in the stack

https://github.com/AnalogJ/lodestone/blob/master/DESIGN-v1.md#routing

Any concerns with that so far?

@jontey
Copy link

jontey commented Sep 23, 2019

I think the implementation should be as a separate docker-compose, eg. docker-compose.yml and docker-compose-with-traeifk.yml. In my use case i have my own setup for how routing happens between containers so having the option to not use it would be nice.

Another question would be is the plan to divide the components into subdomains or paths? That would affect the choice of reverse proxy. Traefik is more suited as the gateway endpoint, whereas nginx would be more versatile as the go between the application and another reverse proxy.

On the subject of nginx vs traefik, it would give a +1 for traefik.

Traefik 2.0 has some nice upgrades that support custom middleware. Has a nice dashboard, and configuration can be placed in the docker-compose, which makes it a little more obvious which path redirects to which services.

@AnalogJ
Copy link
Collaborator Author

AnalogJ commented Sep 26, 2019

Hey @jontey
Understood. I think that makes sense to support when we're closer to releasing v1 however.
For development purposes (and for simplifying the onboarding process) I think 2 docker-compose files makes the most sense right now docker-compose.dev.yml and docker-compose.yml

I'm not sure if you saw my most recent commits, but I did end up going with Traefik v2. As you mentioned the docker-compose label configuration made it easy to see the configuration in one place, and the middleware is extremely powerful.

For now I'm going to consider this story closed.

@AnalogJ AnalogJ closed this as completed Sep 26, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants