Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mattmess1221/nginx-fastapi-vue-docker
Example project using nginx-unit, fastapi and vue.js, all in one docker image
https://github.com/mattmess1221/nginx-fastapi-vue-docker
docker fastapi nginx-unit vue
Last synced: 4 days ago
JSON representation
Example project using nginx-unit, fastapi and vue.js, all in one docker image
- Host: GitHub
- URL: https://github.com/mattmess1221/nginx-fastapi-vue-docker
- Owner: mattmess1221
- License: mit
- Created: 2022-01-08T03:34:06.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-29T23:34:09.000Z (over 1 year ago)
- Last Synced: 2025-02-02T23:49:43.567Z (18 days ago)
- Topics: docker, fastapi, nginx-unit, vue
- Language: Vue
- Homepage:
- Size: 229 KB
- Stars: 8
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nginx-fastapi-vue-docker
Example application for running a web application with [Vue.js](https://vuejs.org/)
as a frontend and [FastAPI](https://fastapi.tiangolo.com/) as a backend using nginx
in a single docker image and container.To allow for a single image, [nginx unit](https://unit.nginx.org/) is used to
pass requests directly to the asgi application.## Development
The `backend` folder contains a [Python Poetry](https://python-poetry.org/) project
using the FastAPI framework. Use the following commands to start developing.```shell
cd backend
poetry install
poetry run uvicorn app:app --debug --reload
```The `frontend` folder contains a [Pnpm](https://pnpm.io/) project using the
Vue.js framework. Use the following commands to start developing.```shell
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](https://unit.nginx.org/configuration/).## Building
The docker build takes advantage of multi-stage builds, so docker 17.05+ is needed.To build, simply run
```shell
docker build . -t nginx-fastapi-vue-docker
```Then to run, use
```shell
docker run --rm -p 80:80 nginx-fastapi-vue-docker
```You now be able to open http://localhost/ and see your application.