Acceso
Interfaz web: https://<SERVER_IP>
Endpoint API: https://<SERVER_IP>:5004
Credenciales de administrador por defecto:
- Correo electrónico:
[email protected] - Contraseña:
1234
Cambia las credenciales de administrador justo después del primer inicio de sesión.
Aviso sobre certificado autofirmado
Esta instalación utiliza un certificado TLS autofirmado.
Es normal que el navegador muestre una advertencia SSL.
Para llamadas API con curl, debes omitir la validación del certificado:
curl -k https://<SERVER_IP>:5004
El -k El flag indica a curl que omita la verificación del certificado TLS.
Ejemplo para obtener el 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 con el token.
Ejemplo para obtener el token API:
curl -k -i https://<SERVER_IP>:5004/api/v1/<VALID_ENDPOINT>
-H "Authorization: Bearer <TOKEN>"
En entornos de producción, sustituye el certificado autofirmado por uno de confianza SSL (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 Docker):
/var/lib/docker/volumes/pgdata/_data - Configuraciones del 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. Edita el archivo /root/peppermint/.env para definir tu nombre de dominio: BASE_URL=https://your.domain.com
3. Vuelve a crear los servicios:
cd /root/peppermint/
docker compose up -d
4. Edita las configuraciones de Nginx y reemplaza server_name <IP>; con tu dominio («<your-domain>) para los bloques HTTP (puerto 80) y HTTPS (puerto 443):
vim /etc/nginx/conf.d/peppermint-client.conf
vim /etc/nginx/conf.d/peppermint-api.conf
5. Instala 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. Reemplaza 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. Reinicia Nginx para aplicar los cambios:
systemctl restart nginx
9. Abre tu navegador y visita: https://yourdomain.com