Você pode simplesmente bifurcar ou clonar este repositório e usá-lo como está.
Simplesmente funciona.
Se você deseja ter um repositório privado, o GitHub não permitirá que você simplesmente faça um fork, pois não permite alterar a visibilidade dos forks.
Mas você pode fazer o seguinte:
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
Depois de clonar o repositório e fazer alterações, você pode querer obter as alterações mais recentes deste modelo original.
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
Isso fará o download das alterações mais recentes deste modelo sem confirmá-las, dessa forma você poderá verificar se está tudo certo antes de enviar.
Se houver conflitos, resolva-os no seu editor.
Quando terminar, confirme as alterações:
git merge --continue
Você pode então atualizar as configurações nos arquivos .env
para personalizar suas configurações.
Antes de implantá-lo, certifique-se de alterar pelo menos os valores de:
SECRET_KEY
FIRST_SUPERUSER_PASSWORD
POSTGRES_PASSWORD
Você pode (e deve) passá-las como variáveis de ambiente de segredos.
Leia a documentação do deploy.md para obter mais detalhes.
Algumas variáveis de ambiente no arquivo .env
têm um valor padrão changethis
.
Você tem que alterá-los com uma chave secreta, para gerar chaves secretas você pode executar o seguinte comando:
python -c " import secrets; print(secrets.token_urlsafe(32)) "
Copie o conteúdo e use-o como senha/chave secreta. E execute novamente para gerar outra chave segura.
Este repositório também suporta a geração de um novo projeto usando o Copier.
Ele copiará todos os arquivos, fará perguntas de configuração e atualizará os arquivos .env
com suas respostas.
Você pode instalar a Copiadora com:
pip install copier
Ou melhor, se você tiver pipx
, poderá executá-lo com:
pipx install copier
Nota : Se você tiver pipx
, a instalação da copiadora é opcional, você pode executá-la diretamente.
Decida um nome para o diretório do seu novo projeto, você o usará abaixo. Por exemplo, my-awesome-project
.
Vá até o diretório que será o pai do seu projeto e execute o comando com o nome do seu projeto:
copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
Se você possui pipx
e não instalou copier
, você pode executá-lo diretamente:
pipx run copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
Observe que a opção --trust
é necessária para poder executar um script pós-criação que atualize seus arquivos .env
.
A copiadora solicitará alguns dados que você pode querer ter em mãos antes de gerar o projeto.
Mas não se preocupe, você pode simplesmente atualizar tudo isso nos arquivos .env
posteriormente.
As variáveis de entrada, com seus valores padrão (alguns gerados automaticamente) são:
project_name
: (padrão: "FastAPI Project"
) O nome do projeto, mostrado aos usuários da API (em .env).stack_name
: (padrão: "fastapi-project"
) O nome da pilha usada para rótulos Docker Compose e nome do projeto (sem espaços, sem pontos) (em .env).secret_key
: (padrão: "changethis"
) A chave secreta do projeto, usada para segurança, armazenada em .env, você pode gerar uma com o método acima.first_superuser
: (padrão: "[email protected]"
) O e-mail do primeiro superusuário (em .env).first_superuser_password
: (padrão: "changethis"
) A senha do primeiro superusuário (em .env).smtp_host
: (padrão: "") O host do servidor SMTP para enviar e-mails, você pode configurá-lo posteriormente em .env.smtp_user
: (padrão: "") O usuário do servidor SMTP para enviar e-mails, você pode configurá-lo posteriormente em .env.smtp_password
: (padrão: "") A senha do servidor SMTP para enviar e-mails, você pode defini-la posteriormente em .env.emails_from_email
: (padrão: "[email protected]"
) A conta de e-mail para enviar e-mails, você pode configurá-la posteriormente em .env.postgres_password
: (padrão: "changethis"
) A senha do banco de dados PostgreSQL, armazenada em .env, você pode gerar uma com o método acima.sentry_dsn
: (padrão: "") O DSN do Sentry, se você estiver usando, poderá configurá-lo posteriormente em .env. Documentos de back-end: backend/README.md.
Documentos de front-end: frontend/README.md.
Documentos de implantação: implantação.md.
Documentos gerais de desenvolvimento: development.md.
Isso inclui o uso do Docker Compose, domínios locais personalizados, configurações .env
, etc.
Verifique o arquivo release-notes.md.
O modelo Full Stack FastAPI é licenciado sob os termos da licença MIT.