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

Revise Dockerfile for use in Kubernetes or provide additional configuration documentation #81

Open
devraj opened this issue Jul 28, 2023 · 0 comments
Assignees

Comments

@devraj
Copy link
Sponsor Member

devraj commented Jul 28, 2023

Is your feature request related to a problem? Please describe.
When trying to use the template for a project that would run in Kubernetes, there were many things that didn't work.

  • The Dockerfile for production does not provide a CMD which is expected for the container to run, either provide this or provide documentation for creating the helm chart to provide the command to run. Ideally we could do both, where if a command is not provided it runs the fastapi app and otherwise runs taskiq workers etc.
  • To make the template generic we have used the variable PROJ_NAME wherever possible, this has worked while we have used docker compose to run production workloads where it can find the environment variable but not much when it's running in a Kubernetes managed environment. This is particularly an issue with the Dockerfile itself where it references PROJ_NAME in the uvicorn command
  • Should we use gunicorn at all? Follow this discussion on FastAPI discussion.

The Dockerfile has a section where we run as the project User this results in:

INFO:     Started server process [1]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
ERROR:    [Errno 13] error while attempting to bind on address ('0.0.0.0', 80): permission denied
INFO:     Waiting for application shutdown.
INFO:     Application shutdown complete.

See bind() to 0.0.0.0:80 failed(13: Permission denied where they suggest to run the command as root

Describe the solution you'd like
Either provide a programmatic solution to the above or extended documentation that allows developers to quickly use this template in production in Kubernetes.

Describe alternatives you've considered
NA

Additional context
All relevant to the Kubernetes deployment

@devraj devraj self-assigned this Jul 28, 2023
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

1 participant