Commit 1337d4e7 authored by Bruno Panizzi de Quadros's avatar Bruno Panizzi de Quadros Committed by Pércio Reinert Neves da Silva
Browse files

Docker compose docs

parent fe09425d
Showing with 43 additions and 5 deletions
+43 -5
......@@ -22,11 +22,52 @@ https://www.docker.com
## ✅ Configurando o ambiente
Para executar a aplicação temos duas opções, configurar o ambiente python e o banco de dados manualmente (que pode ser feito com docker ou não), ou utilizar o `docker compose`.
Antes de tudo, clone o repositório e execute todos os comandos no diretório do projeto:
```bash
# Clone o repositório
git clone https://tools.ages.pucrs.br/plataforma-de-marketing-e-sales-analytics/revforce-api.git
cd revforce-api
```
### 🐋 Utilizando o `docker compose` (mais fácil)
O [`docker compose`](https://docs.docker.com/compose/) é uma ferramenta utlizada para definir e executar aplicações com múltiplos containers/serviços. Com ele, podemos escrever um arquivo de configuração YAML que define todos os serviços, volumes e redes do projeto, e o docker lida com o ciclo de vida de todos os componentes.
Primeiramente, verifique se o compose está instalado ([documentação](https://docs.docker.com/compose/install/)):
> Se você tem o docker desktop, o compose vem junto por padrão
```bash
# Verifique a instalacao do docker compose
docker compose version
```
Com o compose instalado corretamente, basta executar o seguinte comando para executar toda a aplicação, banco de dados e api:
```bash
# Sobe todos os servicos necessarios
docker compose up
```
> Na primeira vez, a aplicação deve levar algum tempo para instalar todas as dependencias.
Para parar a aplicação, pressione `CTRL-C` no terminal.
Para remover todos os dados do banco e começar do zero, execute (não deve ser necessário, mas é bom saber):
```bash
# Apaga todos os dados
docker compose down -v
```
> NOTA: quando utilizar o `docker`/`docker compose` para rodar a aplicação, as dependencias não serão instaladas no seu sistema de arquivos, então a IDE não vai reconheçer os pacotes importados. Para resolver isso, execute os primeiros comandos da configuração manual, mas ainda use o `docker` para rodar a aplicação.
### 💪 Configuração manual
```bash
# Instale poetry (gerenciador de dependências)
pip install poetry
......
......@@ -2,8 +2,6 @@ services:
db:
image: postgres:15
container_name: postgres_db
# Mude para a sua plataforma
platform: linux/arm64
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
......@@ -24,11 +22,10 @@ services:
build: .
container_name: revforce-api
depends_on:
- db
db:
condition: service_healthy
environment:
DATABASE_URL: postgresql+asyncpg://postgres:postgres@db:5432/revforce
# Mude para a sua plataforma
platform: linux/arm64
ports:
- "8000:8000"
networks:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment