Hortelã-pimenta

Uma solução de código aberto para gestão de problemas e assistência técnica.

Acesso

Web interface: https://<SERVER_IP>

API endpoint: https://<SERVER_IP>:5004

Credenciais de administrador predefinidas:

Change the admin credentials immediately after first login.

Self-Signed Certificate Notice

This installation uses a self-signed TLS certificate.

A browser SSL warning is expected.

For API calls using curl, you must ignore certificate validation:

curl -k https://<SERVER_IP>:5004

The -k flag tells curl to skip TLS certificate verification.

Example to obtain API token:

curl -k https://<SERVER_IP>:5004/api/v1/auth/login 
  -H "Content-Type: application/json" 
  -d '{"email":"[email protected]","password":"1234"}'

This returns a JSON response containing a token.

Example to obtain API token:

curl -k -i https://<SERVER_IP>:5004/api/v1/<VALID_ENDPOINT> 
  -H "Authorization: Bearer <TOKEN>"

For production environments, replace the self-signed certificate with a trusted SSL certificate (e.g., Let’s Encrypt).

Ficheiros e diretórios importantes

  • Diretório de instalação: /root/peppermint
  • Environment variables (DB credentials, secrets, BASE_URL): /root/peppermint/.env
  • Configuração do Docker Compose: /root/peppermint/docker-compose.yml
  • PostgreSQL persistent data (Docker volume): /var/lib/docker/volumes/pgdata/_data
  • Nginx reverse proxy configs: /etc/nginx/conf.d/peppermint-client.conf & /etc/nginx/conf.d/peppermint-api.conf
  • TLS certificates (self-signed or Let’s Encrypt): /etc/nginx/ssl/

Ativar SSL com um domínio

1. Direcione o seu domínio para o IP do servidor.

2. Edite o /root/peppermint/.env para definir o seu nome de domínio: BASE_URL=https://your.domain.com

3. Recrie os serviços:

cd /root/peppermint/
docker compose up -d

4. Edit Nginx configs and replace server_name <IP>; com o seu domínio (<your-domain>) para 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 navegador e aceda a: https://yourdomain.com

Detalhes da candidatura