No description
Find a file
2025-10-16 09:55:32 +02:00
public app starts 2025-10-16 09:50:36 +02:00
.gitignore app starts 2025-10-16 09:50:36 +02:00
docker-compose.yml topic name configurable 2025-10-16 09:55:32 +02:00
Dockerfile app starts 2025-10-16 09:50:36 +02:00
env.example topic name configurable 2025-10-16 09:55:32 +02:00
package.json app starts 2025-10-16 09:50:36 +02:00
README.md topic name configurable 2025-10-16 09:55:32 +02:00
server.js topic name configurable 2025-10-16 09:55:32 +02:00

Emergencia Pablo - Webapp de Mensajes

Una aplicación web simple que permite a los usuarios enviar mensajes de emergencia a través de un servidor ntfy.

Características

  • Formulario simple con campos "Tu nombre" y "Mensaje"
  • Envío automático a servidor ntfy con autenticación
  • Interfaz minimalista y responsive
  • Confirmación de envío al usuario

Instalación

  1. Instalar dependencias:
npm install
  1. Configurar variables de entorno:
export NTFY_URL="https://tu-servidor-ntfy.com"
export NTFY_USER="tu-usuario"
export NTFY_PASSWORD="tu-password"
export PORT=3000  # opcional, por defecto 3000
  1. Ejecutar la aplicación:
npm start

Variables de Entorno

  • NTFY_URL: URL de tu servidor ntfy (requerido)
  • NTFY_USER: Usuario para autenticación en ntfy (requerido)
  • NTFY_PASSWORD: Contraseña para autenticación en ntfy (requerido)
  • NTFY_TOPIC: Topic/canal de ntfy donde enviar mensajes (opcional, por defecto "emergencia")
  • PORT: Puerto donde correr la aplicación (opcional, por defecto 3000)

Uso

  1. Abre tu navegador en http://localhost:3000 (o el puerto configurado)
  2. Completa el formulario con tu nombre y mensaje
  3. Haz clic en "Enviar Mensaje"
  4. Recibirás confirmación si el mensaje se envió correctamente

Despliegue

Opción 1: Docker (Recomendado)

  1. Crea un archivo .env con tus credenciales:
NTFY_URL=https://tu-servidor-ntfy.com
NTFY_USER=tu-usuario
NTFY_PASSWORD=tu-password
NTFY_TOPIC=emergencia
  1. Ejecuta con Docker Compose:
docker-compose up -d

La aplicación estará disponible en http://localhost:3000

Opción 2: Instalación directa

Para desplegar en un servidor Linux:

  1. Sube los archivos al servidor
  2. Instala Node.js (versión 14 o superior)
  3. Configura las variables de entorno
  4. Ejecuta npm install para instalar dependencias
  5. Ejecuta npm start para iniciar la aplicación

Ejemplo con systemd (opcional)

Crear archivo /etc/systemd/system/emergenciapablo.service:

[Unit]
Description=Emergencia Pablo Webapp
After=network.target

[Service]
Type=simple
User=tu-usuario
WorkingDirectory=/ruta/a/emergenciapablo
Environment=NTFY_URL=https://tu-servidor-ntfy.com
Environment=NTFY_USER=tu-usuario
Environment=NTFY_PASSWORD=tu-password
Environment=NTFY_TOPIC=emergencia
Environment=PORT=3000
ExecStart=/usr/bin/node server.js
Restart=always

[Install]
WantedBy=multi-user.target

Luego:

sudo systemctl daemon-reload
sudo systemctl enable emergenciapablo
sudo systemctl start emergenciapablo

Estructura del Proyecto

emergenciapablo/
├── server.js          # Servidor Express principal
├── package.json       # Dependencias y scripts
├── Dockerfile         # Configuración de Docker
├── docker-compose.yml # Orquestación con Docker Compose
├── public/
│   ├── index.html     # Página principal
│   └── style.css      # Estilos CSS
└── README.md          # Este archivo

Notas

  • Los mensajes se envían al topic configurado en NTFY_TOPIC (por defecto "emergencia")
  • El formato del mensaje es: "Nombre: Mensaje"
  • La aplicación valida que ambos campos estén completos antes de enviar