Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to config the port from 80 to others for backend and front end? #27

Closed
kongdetai opened this issue May 17, 2019 · 5 comments
Closed

Comments

@kongdetai
Copy link

I want to use other ports to run backend and frontend, How to config it?
I find all the file, but no idea.

@tiangolo
Copy link
Owner

When you are developing locally, the only one that listens on port 80 is the service (container) named proxy. It's a Traefik: https://github.com/tiangolo/full-stack-fastapi-postgresql/blob/master/%7B%7Bcookiecutter.project_slug%7D%7D/docker-compose.dev.ports.yml#L6

Then this proxy is in charge of passing the requests to the backend or frontend depending on the path, taken by these Traefik labels:

https://github.com/tiangolo/full-stack-fastapi-postgresql/blob/master/%7B%7Bcookiecutter.project_slug%7D%7D/docker-compose.dev.labels.yml#L10

https://github.com/tiangolo/full-stack-fastapi-postgresql/blob/master/%7B%7Bcookiecutter.project_slug%7D%7D/docker-compose.dev.labels.yml#L16


When in production, it uses the docker-compose.deploy.*.yml files, they have the equivalent Traefik labels too, in the correct place.

@Innoviox
Copy link

I am trying to get the proxy to run on port 3000. I have changed all of the files you suggested to have 3000:

  proxy:
    ports:
      # - '80:80'
      - '3000:3000'
      - '8090:8080'
services:
  proxy:
    labels:
      - traefik.frontend.rule=Host:${DOMAIN}
      - traefik.enable=true
      - traefik.port=3000
  backend:
    labels:
      - traefik.frontend.rule=PathPrefix:/api,/docs,/redoc
      - traefik.enable=true
      - traefik.port=3000
      - traefik.tags=${TRAEFIK_TAG}
  frontend:
    labels:
      - traefik.frontend.rule=PathPrefix:/
      - traefik.enable=true
      - traefik.port=3000
      - traefik.tags=${TRAEFIK_TAG}

in both docker-compose.deploy.labels.yml and docker-compose.dev.labels.yml. However, when I load localhost:3000 in the browser I get "Failed to open page: The server unexpectedly dropped the connection." However, when I navigate to just localhost:80, it works fine. Also, docker-compose logs proxy has the line:

proxy_1          | time="2019-07-31T14:12:41Z" level=info msg="Server configuration reloaded on :80"

And docker-compose logs backend has the line:

backend_1        | INFO: Uvicorn running on http://0.0.0.0:80 (Press CTRL+C to quit)

So it seems that it is still attaching to port 80. Can you recommend any solutions for this?

@Innoviox
Copy link

Innoviox commented Aug 6, 2019

I have found a solution. docker-compose.dev.ports.yml should have 3000:80 instead of 3000:3000.

@tiangolo
Copy link
Owner

Thanks for reporting @Innoviox !

@kongdetai did you solve your problem? May we close this issue?

@github-actions
Copy link

Assuming the original issue was solved, it will be automatically closed now. But feel free to add more comments or create new issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants