Este guia explica como rodar o projeto Ademir localmente, utilizando o banco de dados PostgreSQL em Docker, enquanto a API e o frontend rodam diretamente na sua máquina.
Antes de começar, verifique se você tem instalado:
No diretório raiz do projeto, execute o comando abaixo para subir apenas o banco de dados:
docker compose up postgres -d
Isso iniciará o container ademir-db
na porta 5432
, pronto para ser utilizado pela API. Ao inicializar o banco de dados, será criado um usuário com nome “admin”, email “admin@mail.com” e senha “mudar123*”.
Se precisar executar também o serviço de arquivos, execute:
docker compose up postgres minio minio-setup
Caso deseje executar todos os serviços, utilize o comando:
docker compose up -d
Para que o comando funcione, antes deve ser configurado o backend/.env (seção 3). Para examinar possíveis erros, execute sem a flag -d
ou utilize:
docker compose logs
Use o comando:
docker ps
Deve aparecer uma linha como:
postgres:bookworm ademir-db 0.0.0.0:5432->5432/tcp
Você também pode testar a conexão com:
docker exec -it ademir-db psql -U ademir -d ademir
.env
Na pasta backend
, crie um arquivo .env
com o seguinte conteúdo:
PORT=
JWT_KEY=
DB_SGBD=
DB_USER=
DB_PASSWORD=
DB_HOST=
DB_PORT=
DB_NAME=
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_ENDPOINT=
S3_DOCS_BUCKET=
S3_PS_BUCKET=
S3_IMAGE_BUCKET=
S3_CONTRACT_AMMENDMENTS_BUCKET=
MAIL_HOST=
MAIL_PORT=
MAIL_ADDRESS=
ADMIN_MANAGER_MAIL=
Caso você execute o docker compose up sem alterar variáveis no docker-compose.yml, o seu .env deve ser assim:
PORT=5000
JWT_KEY=
DB_SGBD=postgres
DB_USER=ademir
DB_PASSWORD=123mudar
DB_HOST=postgres # se rodar separadamente use localhost
DB_NAME=ademir
DB_PORT=5432
S3_ENDPOINT=http://minio:9000 # se rodar separadamente os serviços usar http://localhost:9000
S3_ACCESS_KEY_ID=appkey
S3_SECRET_ACCESS_KEY=appsecret
S3_DOCS_BUCKET=docs
S3_PS_BUCKET=psbucket
S3_IMAGE_BUCKET=images
S3_CONTRACT_AMMENDMENTS_BUCKET=contract-ammendments
MAIL_HOST=
MAIL_PORT=
MAIL_ADDRESS=
ADMIN_MANAGER_MAIL=
Acesse a pasta do backend:
cd backend
Instale as dependências e inicie a aplicação:
pnpm install
pnpm start
Isso vai:
5000
Acesse a pasta frontend
:
cd ../frontend
pnpm install
pnpm dev
Verifique se o frontend está configurado para usar
http://localhost:5000
como URL da API.
Parar apenas o banco de dados:
docker stop ademir-db
Parar tudo (caso tenha subido mais serviços):
docker compose down
Utilize a flag -v se quiser remover os volumes também, apagando os dados do banco e do minio