https://github.com/mauroslucios/docker-cid-cd-python-uvicorn
Docker com CI/CD usando python uvicorn
https://github.com/mauroslucios/docker-cid-cd-python-uvicorn
cicd docker docker-compose dockerfile fastapi git linux python uvicorn
Last synced: 12 months ago
JSON representation
Docker com CI/CD usando python uvicorn
- Host: GitHub
- URL: https://github.com/mauroslucios/docker-cid-cd-python-uvicorn
- Owner: mauroslucios
- Created: 2025-07-03T01:52:11.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-03T01:59:20.000Z (12 months ago)
- Last Synced: 2025-07-03T02:39:33.040Z (12 months ago)
- Topics: cicd, docker, docker-compose, dockerfile, fastapi, git, linux, python, uvicorn
- Language: Python
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Projeto FastAPI com Autenticação
## Sobre o Projeto
Este é um projeto de exemplo de como utilizar FastAPI para criar uma API com autenticação. A aplicação utiliza o módulo `httpx` para realizar o login em um serviço e posteriormente acessar um endpoint protegido.
## Integração Contínua (CI)
Este projeto utiliza GitHub Actions para integração contínua. O workflow, localizado no diretório `.github/workflows/`, é acionado a cada `push` ou `pull request` para a branch `main` e executa as seguintes tarefas:
- Instalação de dependências.
- Análise estática de código (linting).
- Build da imagem Docker para garantir a integridade da aplicação.
1. **Clone o repositório**:
Este é um projeto de exemplo utilizando FastAPI para acessar dados protegidos por autenticação. A aplicação faz login em um serviço para obter um token de acesso e utiliza esse token para acessar um endpoint protegido.
## Estrutura do Projeto
- **app/main.py**: Contém a lógica principal da aplicação, incluindo endpoints para login e acesso a dados protegidos.
- **requirements.txt**: Lista de dependências do projeto.
- **Dockerfile**: Configuração do Docker para containerizar a aplicação.
- **docker-compose.yml**: Configuração do Docker Compose para orquestrar os serviços do projeto.
## Endpoints
- **POST /login**: Realiza o login para obter o token de acesso.
- **GET /dados-protegidos**: Acessa dados protegidos usando o token de acesso.
## Como Executar
1. **Clone o repositório**:
```bash
git clone
cd
```
2. **Build da imagem Docker**:
```bash
docker build -t mauroslucios/pythonuvicorn:v1 .
```
3. **Execute o container**:
```bash
docker-compose up
```
4. Acesse a aplicação em `http://localhost:8000`.
## Dependências
- Python 3.11
- FastAPI
- HTTPX
- Uvicorn
- Docker
## Configuração
Para que a aplicação funcione corretamente, é necessário configurar as credenciais de `USERNAME` e `PASSWORD` no arquivo `app/main.py`.
## Licença
Este projeto está licenciado sob a [MIT License](LICENSE).