Skip to content

Latest commit

 

History

History
50 lines (37 loc) · 1.36 KB

README.md

File metadata and controls

50 lines (37 loc) · 1.36 KB

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.