Acceso
Interfaz web: https://<SERVER_IP>
Punto final API: https://<SERVER_IP>:5004
Credenciales de administrador predeterminadas:
- Correo electrónico:
[email protected] - Contraseña:
1234
Cambie las credenciales de administrador inmediatamente después del primer inicio de sesión.
Aviso de certificado autofirmado
Esta instalación utiliza un certificado TLS autofirmado.
Se espera una advertencia SSL del navegador.
Para llamadas API usando curl, debes ignorar la validación del certificado:
curl -k https://<SERVER_IP>:5004
El -k flag le dice a curl que omita la verificación del certificado TLS.
Ejemplo para obtener token API:
curl -k https://<SERVER_IP>:5004/api/v1/auth/login
-H "Content-Type: application/json"
-d '{"email":"[email protected]","password":"1234"}'
Esto devuelve una respuesta JSON que contiene un token.
Ejemplo para obtener token API:
curl -k -i https://<SERVER_IP>:5004/api/v1/<VALID_ENDPOINT>
-H "Authorization: Bearer <TOKEN>"
Para entornos de producción, reemplace el certificado autofirmado con un certificado SSL confiable (por ejemplo, Let's Encrypt).
Archivos y directorios importantes
- Directorio de instalación:
/root/peppermint - Variables de entorno (credenciales de base de datos, secretos, BASE_URL):
/root/peppermint/.env - Configuración de Docker Compose:
/root/peppermint/docker-compose.yml - Datos persistentes de PostgreSQL (volumen de Docker):
/var/lib/docker/volumes/pgdata/_data - Configuraciones de proxy inverso de Nginx:
/etc/nginx/conf.d/peppermint-client.conf&/etc/nginx/conf.d/peppermint-api.conf - Certificados TLS (autofirmados o Let's Encrypt):
/etc/nginx/ssl/
Habilitar SSL con un dominio
1. Apunta tu dominio a la IP del servidor.
2. Edite el /root/peppermint/.env archivo para configurar su nombre de dominio: BASE_URL=https://your.domain.com
3. Recrea los servicios:
cd /root/peppermint/
docker compose up -d
4. Edite las configuraciones de Nginx y reemplácelas server_name <IP>; con tu dominio (<your-domain>) tanto para los bloques HTTP (puerto 80) como HTTPS (puerto 443):
vim /etc/nginx/conf.d/peppermint-client.conf
vim /etc/nginx/conf.d/peppermint-api.conf
5. Instale Certbot:
apt install -y certbot python3-certbot-nginx
6. Ejecuta el siguiente comando para generar un certificado válido de Let’s Encrypt:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
7. Sustituye las rutas SSL en la configuración de Nginx (sección 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 Nginx para aplicar los cambios:
systemctl restart nginx
9. Abre tu navegador y visita: https://yourdomain.com