Vous pouvez simplement créer ou cloner ce référentiel et l'utiliser tel quel.
Cela fonctionne.
Si vous souhaitez avoir un référentiel privé, GitHub ne vous permettra pas de simplement le créer car il ne permet pas de modifier la visibilité des forks.
Mais vous pouvez faire ce qui suit :
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
Après avoir cloné le référentiel et effectué des modifications, vous souhaiterez peut-être obtenir les dernières modifications de ce modèle d'origine.
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
Cela téléchargera les dernières modifications de ce modèle sans les valider, de cette façon vous pourrez vérifier que tout est correct avant de valider.
S'il y a des conflits, résolvez-les dans votre éditeur.
Une fois que vous avez terminé, validez les modifications :
git merge --continue
Vous pouvez ensuite mettre à jour les configurations dans les fichiers .env
pour personnaliser vos configurations.
Avant de le déployer, assurez-vous de modifier au moins les valeurs de :
SECRET_KEY
FIRST_SUPERUSER_PASSWORD
POSTGRES_PASSWORD
Vous pouvez (et devez) les transmettre en tant que variables d'environnement à partir de secrets.
Lisez la documentation de déploiement.md pour plus de détails.
Certaines variables d'environnement du fichier .env
ont une valeur par défaut de changethis
.
Vous devez les changer avec une clé secrète, pour générer des clés secrètes vous pouvez exécuter la commande suivante :
python -c " import secrets; print(secrets.token_urlsafe(32)) "
Copiez le contenu et utilisez-le comme mot de passe/clé secrète. Et réexécutez-le pour générer une autre clé sécurisée.
Ce référentiel prend également en charge la génération d'un nouveau projet à l'aide de Copier.
Il copiera tous les fichiers, vous posera des questions de configuration et mettra à jour les fichiers .env
avec vos réponses.
Vous pouvez installer Copier avec :
pip install copier
Ou mieux, si vous avez pipx
, vous pouvez l'exécuter avec :
pipx install copier
Remarque : Si vous disposez pipx
, l'installation du copieur est facultative, vous pouvez l'exécuter directement.
Choisissez un nom pour le répertoire de votre nouveau projet, vous l'utiliserez ci-dessous. Par exemple, my-awesome-project
.
Accédez au répertoire qui sera le parent de votre projet et exécutez la commande portant le nom de votre projet :
copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
Si vous avez pipx
et que vous n'avez pas installé copier
, vous pouvez l'exécuter directement :
pipx run copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
Notez que l'option --trust
est nécessaire pour pouvoir exécuter un script post-création qui met à jour vos fichiers .env
.
Copier vous demandera certaines données que vous voudrez peut-être avoir à portée de main avant de générer le projet.
Mais ne vous inquiétez pas, vous pouvez simplement mettre à jour tout cela dans les fichiers .env
par la suite.
Les variables d'entrée, avec leurs valeurs par défaut (certaines générées automatiquement) sont :
project_name
: (par défaut : "FastAPI Project"
) Le nom du projet, affiché aux utilisateurs de l'API (dans .env).stack_name
: (par défaut : "fastapi-project"
) Le nom de la pile utilisée pour les étiquettes Docker Compose et le nom du projet (pas d'espaces, pas de points) (dans .env).secret_key
: (par défaut : "changethis"
) La clé secrète du projet, utilisée pour la sécurité, stockée dans .env, vous pouvez en générer une avec la méthode ci-dessus.first_superuser
: (par défaut : "[email protected]"
) L'e-mail du premier superutilisateur (dans .env).first_superuser_password
: (par défaut : "changethis"
) Le mot de passe du premier superutilisateur (dans .env).smtp_host
: (par défaut : "") L'hôte du serveur SMTP pour envoyer les e-mails, vous pourrez le définir ultérieurement dans .env.smtp_user
: (par défaut : "") L'utilisateur du serveur SMTP à qui envoyer des e-mails, vous pourrez le définir ultérieurement dans .env.smtp_password
: (par défaut : "") Le mot de passe du serveur SMTP pour envoyer des emails, vous pourrez le définir ultérieurement dans .env.emails_from_email
: (par défaut : "[email protected]"
) Le compte de messagerie à partir duquel envoyer des e-mails, vous pourrez le définir ultérieurement dans .env.postgres_password
: (par défaut : "changethis"
) Le mot de passe de la base de données PostgreSQL, stocké dans .env, vous pouvez en générer un avec la méthode ci-dessus.sentry_dsn
: (par défaut : "") Le DSN pour Sentry, si vous l'utilisez, vous pourrez le définir plus tard dans .env. Documents backend : backend/README.md.
Documents frontend : frontend/README.md.
Documents de déploiement : déploiement.md.
Documents généraux de développement : development.md.
Cela inclut l'utilisation de Docker Compose, de domaines locaux personnalisés, de configurations .env
, etc.
Vérifiez le fichier release-notes.md.
Le modèle Full Stack FastAPI est sous licence selon les termes de la licence MIT.