Acesso
Interface web: https://<SERVER_IP>
Ponto de extremidade da API: https://<SERVER_IP>:5004
Credenciais de administrador padrão:
- E-mail:
[email protected] - Senha:
1234
Altere as credenciais de administrador imediatamente após o primeiro login.
Aviso de certificado autoassinado
Esta instalação usa um certificado TLS autoassinado.
Um aviso SSL do navegador é esperado.
Para chamadas de API usando curl, você deve ignorar a validação do certificado:
curl -k https://<SERVER_IP>:5004
O -k flag diz ao curl para pular a verificação do certificado TLS.
Exemplo para obter token de API:
curl -k https://<SERVER_IP>:5004/api/v1/auth/login
-H "Content-Type: application/json"
-d '{"email":"[email protected]","password":"1234"}'
Isso retorna uma resposta JSON contendo um token.
Exemplo para obter token de API:
curl -k -i https://<SERVER_IP>:5004/api/v1/<VALID_ENDPOINT>
-H "Authorization: Bearer <TOKEN>"
Para ambientes de produção, substitua o certificado autoassinado por um certificado SSL confiável (por exemplo, Let’s Encrypt).
Ficheiros e diretórios importantes
- Diretório de instalação:
/root/peppermint - Variáveis de ambiente (credenciais de banco de dados, segredos, BASE_URL):
/root/peppermint/.env - Configuração do Docker Compose:
/root/peppermint/docker-compose.yml - Dados persistentes do PostgreSQL (volume Docker):
/var/lib/docker/volumes/pgdata/_data - Configurações de proxy reverso Nginx:
/etc/nginx/conf.d/peppermint-client.conf&/etc/nginx/conf.d/peppermint-api.conf - Certificados TLS (autoassinados ou Let’s Encrypt):
/etc/nginx/ssl/
Ativar SSL com um domínio
1. Aponte o seu domínio para o IP do servidor.
2. Edite o /root/peppermint/.env arquivo para definir seu nome de domínio: BASE_URL=https://your.domain.com
3. Recrie os serviços:
cd /root/peppermint/
docker compose up -d
4. Edite as configurações do Nginx e substitua server_name <IP>; com o seu domínio (<your-domain>) para ambos os blocos HTTP (porta 80) e HTTPS (porta 443):
vim /etc/nginx/conf.d/peppermint-client.conf
vim /etc/nginx/conf.d/peppermint-api.conf
5. Instale o Certbot:
apt install -y certbot python3-certbot-nginx
6. Execute o seguinte comando para gerar um certificado Let’s Encrypt válido:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
7. Substitua os caminhos SSL na configuração do Nginx (secção TLS):
vim /etc/nginx/conf.d/peppermint-client.conf
vim /etc/nginx/conf.d/peppermint-api.conf
# Before:
# ssl_certificate /etc/nginx/ssl/fullchain.pem;
# ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
8. Reinicie o Nginx para aplicar as alterações:
systemctl restart nginx
9. Abra o seu browser e visite: https://yourdomain.com