Accesso
Interfaccia web: https://<SERVER_IP>
Endpoint API: https://<SERVER_IP>:5004
Credenziali di amministratore predefinite:
- E-mail:
[email protected] - Password:
1234
Modificare le credenziali dell'amministratore immediatamente dopo il primo accesso.
Avviso di certificato autofirmato
Questa installazione utilizza un certificato TLS autofirmato.
È previsto un avviso SSL del browser.
Per le chiamate API utilizzando curl, devi ignorare la convalida del certificato:
curl -k https://<SERVER_IP>:5004
IL -k flag indica a curl di saltare la verifica del certificato TLS.
Esempio per ottenere il token API:
curl -k https://<SERVER_IP>:5004/api/v1/auth/login
-H "Content-Type: application/json"
-d '{"email":"[email protected]","password":"1234"}'
Ciò restituisce una risposta JSON contenente un token.
Esempio per ottenere il token API:
curl -k -i https://<SERVER_IP>:5004/api/v1/<VALID_ENDPOINT>
-H "Authorization: Bearer <TOKEN>"
Per gli ambienti di produzione, sostituire il certificato autofirmato con un certificato SSL affidabile (ad esempio, Let's Encrypt).
File e directory importanti
- Directory di installazione:
/root/peppermint - Variabili di ambiente (credenziali DB, segreti, BASE_URL):
/root/peppermint/.env - Configurazione Docker Componi:
/root/peppermint/docker-compose.yml - Dati persistenti PostgreSQL (volume Docker):
/var/lib/docker/volumes/pgdata/_data - Configurazioni del proxy inverso Nginx:
/etc/nginx/conf.d/peppermint-client.conf&/etc/nginx/conf.d/peppermint-api.conf - Certificati TLS (autofirmati o Let's Encrypt):
/etc/nginx/ssl/
Abilitare SSL con un dominio
1. Punta il tuo dominio all'IP del server.
2. Modifica il /root/peppermint/.env file per impostare il tuo nome di dominio: BASE_URL=https://your.domain.com
3. Ricreare i servizi:
cd /root/peppermint/
docker compose up -d
4. Modifica le configurazioni di Nginx e sostituiscile server_name <IP>; con il tuo dominio (<your-domain>) sia per i blocchi HTTP (porta 80) sia HTTPS (porta 443):
vim /etc/nginx/conf.d/peppermint-client.conf
vim /etc/nginx/conf.d/peppermint-api.conf
5. Installa Certbot:
apt install -y certbot python3-certbot-nginx
6. Esegui il comando seguente per generare un certificato Let's Encrypt valido:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
7. Sostituisci i path SSL nella configurazione di Nginx (sezione 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. Riavvia Nginx per applicare le modifiche:
systemctl restart nginx
9. Apri il browser e vai a: https://yourdomain.com