Skip to content

Example project using nginx-unit, fastapi and vue.js, all in one docker image

License

Notifications You must be signed in to change notification settings

mattmess1221/nginx-fastapi-vue-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nginx-fastapi-vue-docker

Example application for running a web application with Vue.js as a frontend and FastAPI as a backend using nginx in a single docker image and container.

To allow for a single image, nginx unit is used to pass requests directly to the asgi application.

Development

The backend folder contains a Python Poetry project using the FastAPI framework. Use the following commands to start developing.

cd backend
poetry install
poetry run uvicorn app:app --debug --reload

The frontend folder contains a Pnpm project using the Vue.js framework. Use the following commands to start developing.

cd frontend
pnpm install
pnpm dev

After both the frontend and backend are up, you can visit http://localhost:8080/ to view the app.

Configuration

To configure nginx-unit, modify the docker/config.json file using the provided guide.

Building

The docker build takes advantage of multi-stage builds, so docker 17.05+ is needed.

To build, simply run

docker build . -t nginx-fastapi-vue-docker

Then to run, use

docker run --rm -p 80:80 nginx-fastapi-vue-docker

You now be able to open http://localhost/ and see your application.

About

Example project using nginx-unit, fastapi and vue.js, all in one docker image

Topics

Resources

License

Stars

Watchers

Forks