{"id":16219795,"url":"https://github.com/dontsovcmc/fastapi_test","last_synced_at":"2026-01-20T13:02:09.207Z","repository":{"id":78360656,"uuid":"479127437","full_name":"dontsovcmc/fastapi_test","owner":"dontsovcmc","description":"FastAPI, Docker, GitHub Actions with deploy to private VPS","archived":false,"fork":false,"pushed_at":"2022-04-10T14:29:41.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-07T23:44:54.398Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dontsovcmc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-07T19:47:47.000Z","updated_at":"2022-04-09T14:17:57.000Z","dependencies_parsed_at":"2023-06-12T02:45:26.983Z","dependency_job_id":null,"html_url":"https://github.com/dontsovcmc/fastapi_test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dontsovcmc/fastapi_test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dontsovcmc%2Ffastapi_test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dontsovcmc%2Ffastapi_test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dontsovcmc%2Ffastapi_test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dontsovcmc%2Ffastapi_test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dontsovcmc","download_url":"https://codeload.github.com/dontsovcmc/fastapi_test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dontsovcmc%2Ffastapi_test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28603404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T12:01:53.233Z","status":"ssl_error","status_checked_at":"2026-01-20T12:01:46.545Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T11:56:02.542Z","updated_at":"2026-01-20T13:02:09.193Z","avatar_url":"https://github.com/dontsovcmc.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fastapi_test\nFastAPI, Docker, GitHub Actions with deploy to private VPS\n\nЕсть программа - веб сервер. \nЗапускается в докер контейнере на виртуальном сервере (VPS).\nОбновляем код и перезапускаем докер контейнер при коммите в ветку main репозитория на GitHub, используя технологию GitHub Actions.\n\n### Команды docker\n\nНа сервере для проверки удобно использовать следующие команды:\n\n#### посмотреть логи всех контейнеров докера\nвыполнять в папке с docker-compose.yml файлом\n\n`\ndocker-compose logs -f\n`\n\n#### посмотреть список контейнеров \nвыполнять в папке с docker-compose.yml файлом\n\n`\ndocker-compose ps\n`\n\n#### подключиться к командной строке контейнера\n\n`\ndocker exec -it \u003ccontainer_name\u003e bash\n`\n\n# VPS setup\n\n## Ставим на сервер docker-compose\n\nhttps://docs.docker.com/compose/install/\n\n```\nsudo curl -L \"https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)\" -o /usr/local/bin/docker-compose\nsudo chmod +x /usr/local/bin/docker-compose\ndocker-compose --version\n```\n\nhttps://docs.docker.com/engine/install/linux-postinstall/ \n\n```\nsudo groupadd docker\nsudo usermod -aG docker $USER\nsudo systemctl enable docker.service\nsudo systemctl enable containerd.service\n```\n\n# Настройка GitHub Actions\n\n## Первичная настройка Secrets\n\nДля работы потребуется:\n```\nHOST - указываем ip адрес VPS\nUSERNAME - указываем имя пользователя VPS\nSSHKEY - указываем приватный ssh ключ. его создание описано ниже\n```\n\n### Делаем доступ по ssh на VPS\n\n0. Заходим на VPS\n\n`ssh \u003cuser\u003e@\u003cip\u003e`\n\n1. Создаем ssh ключ для github\n\n`ssh-keygen -t rsa -b 4096 -C \"\u003cemail\u003e\"`\n\nназовём файл github\nбез фразы without pass phrase\n\n2. записываем публичный ключ в список доступа\n\n`cat github.pub \u003e\u003e ~/.ssh/authorized_keys`\n\n5. Печатаем и копируем в буфер приватный ключ\n\n`cat github`\n\n-----BEGIN OPENSSH PRIVATE KEY-----\nb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn\n........\n/gZe/RaaYlJdjQAAABRkb24tYW5kLWhvbWVAbWFpbC5ydQECAwQF\n-----END OPENSSH PRIVATE KEY-----\n\n6. Добавляем ключ в github secrets\n\n`https://github.com/\u003cusername\u003e/\u003crepo\u003e/settings/secrets/actions`\n\nимя переменной: SSHKEY\n\nТеперь GitHub может заходить по ssh на VPS.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdontsovcmc%2Ffastapi_test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdontsovcmc%2Ffastapi_test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdontsovcmc%2Ffastapi_test/lists"}