README.md
<a href="https://github.com/fastapi/full-stack-fastapi-template/actions?query=workflow%3A%22Test+Docker+Compose%22" target="_blank"></a> <a href="https://github.com/fastapi/full-stack-fastapi-template/actions?query=workflow%3A%22Test+Backend%22" target="_blank"></a> <a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/full-stack-fastapi-template" target="_blank"></a>
You can just fork or clone this repository and use it as is.
✨ It just works. ✨
If you want to have a private repository, GitHub won't allow you to simply fork it as it doesn't allow changing the visibility of forks.
But you can do the following:
my-full-stack.my-full-stack:git clone [email protected]:fastapi/full-stack-fastapi-template.git my-full-stack
cd my-full-stack
git remote set-url origin [email protected]:octocat/my-full-stack.git
git remote add upstream [email protected]:fastapi/full-stack-fastapi-template.git
git push -u origin master
After cloning the repository, and after doing changes, you might want to get the latest changes from this original template.
git remote -v
origin [email protected]:octocat/my-full-stack.git (fetch)
origin [email protected]:octocat/my-full-stack.git (push)
upstream [email protected]:fastapi/full-stack-fastapi-template.git (fetch)
upstream [email protected]:fastapi/full-stack-fastapi-template.git (push)
git pull --no-commit upstream master
This will download the latest changes from this template without committing them, that way you can check everything is right before committing.
If there are conflicts, solve them in your editor.
Once you are done, commit the changes:
git merge --continue
You can update the local settings in the .env file. Before deploying, configure the environment variables and secrets described in the FastAPI Cloud deployment guide or the Docker Compose deployment guide. Never deploy with the default changethis values.
Some environment variables in the .env file have a default value of changethis.
You have to change them with a secret key, to generate secret keys you can run the following command:
python -c "import secrets; print(secrets.token_urlsafe(32))"
Copy the content and use that as password / secret key. And run that again to generate another secure key.
Backend docs: backend/README.md.
Frontend docs: frontend/README.md.
Deployment docs: deployment.md.
Docker Compose deployment: deployment-docker-compose.md.
General development docs: development.md.
This includes the local FastAPI and Vite workflow, Docker Compose services, .env configuration, and more.
Check the file release-notes.md.
The Full Stack FastAPI Template is licensed under the terms of the MIT license.