Вы можете просто разветвить или клонировать этот репозиторий и использовать его как есть.
Это просто работает.
Если вы хотите иметь частный репозиторий, GitHub не позволит вам просто создать его форк, поскольку он не позволяет изменять видимость форков.
Но вы можете сделать следующее:
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
После клонирования репозитория и внесения изменений вам может потребоваться получить последние изменения из этого исходного шаблона.
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
При этом последние изменения из этого шаблона будут загружены без их фиксации, так что вы сможете проверить все ли правильно перед фиксацией.
Если есть конфликты, решите их в своем редакторе.
Как только вы закончите, зафиксируйте изменения:
git merge --continue
Затем вы можете обновить конфигурации в файлах .env
чтобы настроить свои конфигурации.
Перед его развертыванием убедитесь, что вы изменили хотя бы значения:
SECRET_KEY
FIRST_SUPERUSER_PASSWORD
POSTGRES_PASSWORD
Вы можете (и должны) передавать их как переменные среды из секретов.
Для получения более подробной информации прочтите документацию Deployment.md.
Некоторые переменные среды в файле .env
имеют значение по умолчанию changethis
.
Вам необходимо изменить их с помощью секретного ключа. Для генерации секретных ключей вы можете запустить следующую команду:
python -c " import secrets; print(secrets.token_urlsafe(32)) "
Скопируйте содержимое и используйте его в качестве пароля/секретного ключа. И запустите это еще раз, чтобы сгенерировать еще один безопасный ключ.
Этот репозиторий также поддерживает создание нового проекта с помощью Copier.
Он скопирует все файлы, задаст вам вопросы по настройке и обновит файлы .env
с вашими ответами.
Вы можете установить Copier с помощью:
pip install copier
Или лучше, если у вас есть pipx
, вы можете запустить его с помощью:
pipx install copier
Примечание . Если у вас есть pipx
, установка копировального аппарата не является обязательной, вы можете запустить его напрямую.
Определите имя для каталога вашего нового проекта, вы будете использовать его ниже. Например, my-awesome-project
.
Перейдите в каталог, который будет родительским для вашего проекта, и запустите команду с именем вашего проекта:
copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
Если у вас есть pipx
и вы не установили copier
, вы можете запустить его напрямую:
pipx run copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
Обратите внимание, что опция --trust
необходима для выполнения сценария после создания, который обновляет ваши файлы .env
.
Копировщик запросит у вас некоторые данные, которые вам, возможно, понадобится иметь под рукой перед созданием проекта.
Но не волнуйтесь, впоследствии вы можете просто обновить все это в файлах .env
.
Входные переменные со значениями по умолчанию (некоторые генерируются автоматически):
project_name
: (по умолчанию: "FastAPI Project"
) Имя проекта, отображаемое пользователям API (в формате .env).stack_name
: (по умолчанию: "fastapi-project"
) Имя стека, используемого для меток Docker Compose и имени проекта (без пробелов и точек) (в формате .env).secret_key
: (по умолчанию: "changethis"
) Секретный ключ проекта, используемый для обеспечения безопасности, хранится в .env. Вы можете сгенерировать его с помощью метода, описанного выше.first_superuser
: (по умолчанию: "[email protected]"
) Адрес электронной почты первого суперпользователя (в формате .env).first_superuser_password
: (по умолчанию: "changethis"
) Пароль первого суперпользователя (в .env).smtp_host
: (по умолчанию: «») Хост SMTP-сервера для отправки электронной почты, вы можете установить его позже в .env.smtp_user
: (по умолчанию: «») Пользователь SMTP-сервера для отправки электронных писем. Его можно установить позже в .env.smtp_password
: (по умолчанию: «») Пароль SMTP-сервера для отправки электронных писем. Вы можете установить его позже в .env.emails_from_email
: (по умолчанию: "[email protected]"
) Учетная запись электронной почты для отправки электронных писем. Вы можете установить ее позже в .env.postgres_password
: (по умолчанию: "changethis"
) Пароль для базы данных PostgreSQL, хранящийся в .env. Вы можете сгенерировать его с помощью метода, описанного выше.sentry_dsn
: (по умолчанию: "") DSN для Sentry. Если вы его используете, вы можете установить его позже в .env. Внутренняя документация: backend/README.md.
Документация по интерфейсу: frontend/README.md.
Документы по развертыванию: Deployment.md.
Общая документация по разработке: development.md.
Сюда входит использование Docker Compose, пользовательских локальных доменов, конфигураций .env
и т. д.
Проверьте файл Release-notes.md.
Шаблон Full Stack FastAPI лицензируется в соответствии с условиями лицензии MIT.