Skip to content

Latest commit

 

History

History
220 lines (169 loc) · 8.09 KB

readme-es.md

File metadata and controls

220 lines (169 loc) · 8.09 KB

🚀 Controlador de Servidor Exaroton

Banner Exaroton

Versión de Python Construcción de Imagen Docker Commits en Github Licencia en GitHub Español Discord

La aplicación se ejecutará y programará el inicio del servidor Exaroton a la hora especificada en la zona horaria configurada. Además, enviará una notificación a la URL del webhook especificado cuando el servidor se inicie.

📋 Requisitos

Important

  • Python 3.10 o más reciente 🐍
  • Una cuenta de Exaroton 🌐
  • Docker 🐳 (opcional)

📑 Tabla de Contenidos

⭐ Ejecución Directa del Script

  1. Clona el repositorio:

    git clone https://github.com/sergisvk/exaroton-reset.git
    cd exaroton-reset
  2. Crea un archivo .env en el directorio raíz del proyecto y agrega las siguientes variables de entorno:

    TOKEN=
    TIMEZONE=Europe/Madrid
    WEBHOOK_URL=
    CRON_SCHEDULE_START="0 6 * * *" # Inicia el servidor a las 6:00 AM
    CRON_SCHEDULE_STOP="0 22 * * *" # Detiene el servidor a las 10:00 PM
    ID_SERVER=""
    LANGUAGE=""

Note

Haz clic aquí para ver la explicación de cada variable de entorno.

  1. Instala las dependencias:

    pip install -r requirements.txt
  2. Ejecuta el script:

    python main.py

🐋 Ejecución con Docker

Opción 1: Ejecución con Docker

  1. Clona el repositorio:

    git clone https://github.com/sergisvk/exaroton-reset.git
    cd exaroton-reset
  2. Crea un archivo .env en el directorio raíz del proyecto y agrega las siguientes variables de entorno:

    TOKEN=
    TIMEZONE=Europe/Madrid
    WEBHOOK_URL=
    CRON_SCHEDULE_START="0 6 * * *" # Inicia el servidor a las 6:00 AM
    CRON_SCHEDULE_STOP="0 22 * * *" # Detiene el servidor a las 10:00 PM
    ID_SERVER=""
    LANGUAGE="es-ES"

Note

Haz clic aquí para ver la explicación de cada variable de entorno.

  1. Construye la imagen de Docker y ejecuta el contenedor:
    docker build -t exaroton-reset .
    docker run --env-file .env exaroton-reset

Opción 2: Ejecución con Docker Compose

Tip

En mi opinión, esta es la mejor manera de ejecutar el contenedor usando Docker Compose.

  1. Crea un archivo docker-compose.yml en el directorio raíz del proyecto con el siguiente contenido:

    version: '3.8'
    
    services:
      exaroton-reset:
        image: ghcr.io/sergisvk/exaroton-reset:latest
        environment:
          - TOKEN=${TOKEN}
          - TIMEZONE=${TIMEZONE}
          - WEBHOOK_URL=${WEBHOOK_URL}
          - ID_SERVER=${ID_SERVER}
          - CRON_SCHEDULE_START=${CRON_SCHEDULE_START}
          - CRON_SCHEDULE_STOP=${CRON_SCHEDULE_STOP}
          - LANGUAGE=${LANGUAGE}
        restart: unless-stopped
  2. Ejecuta el siguiente comando para iniciar el contenedor: Otra forma de ejecutar el contenedor usando Docker Compose es pasar el archivo .env en la sección environment del archivo docker-compose.yml.

    version: '3.8'
    
    services:
      exaroton-reset:
        image: ghcr.io/sergisvk/exaroton-reset:latest
        env_file:
          - .env
        restart: unless-stopped

Esto iniciará el contenedor utilizando la última imagen publicada en el Registro de Contenedores de GitHub y las variables de entorno definidas en el archivo .env.

🌱 Explicación de Variables de Entorno

  • TOKEN: Este es el token de la API de Exaroton que se utiliza para autenticar las solicitudes a la API de Exaroton. Debes obtener este token desde tu cuenta de Exaroton.

  • TIMEZONE: La zona horaria en la que deseas programar el inicio del servidor. Debe estar en un formato tz reconocido (por ejemplo, Europe/Madrid).

  • WEBHOOK_URL: La URL del webhook donde se enviarán las notificaciones. Esto puede ser una URL de webhook de Discord u otro servicio que acepte webhooks.

  • CRON_SCHEDULE_START: El cronograma para iniciar el servidor. En este caso, está configurado para iniciar el servidor todos los días a las 6:00 AM ("0 6 * * *").

  • CRON_SCHEDULE_STOP: El cronograma para detener el servidor. En este caso, está configurado para detener el servidor todos los días a las 10:00 PM ("0 22 * * *").

  • ID_SERVER: El ID de tu servidor Exaroton. Este ID es único para cada servidor y se utiliza para identificar el servidor que deseas iniciar.

  • LANGUAGE: El idioma en el que se enviarán las notificaciones. Los idiomas disponibles son en-UK, es-ES, fr-FR, pt-PT.

Explicación de la Funcionalidad CRON

El formato cron se utiliza para programar tareas en intervalos específicos. La sintaxis de una expresión cron es la siguiente:

* * * * *
| | | | |
| | | | +---- Día de la semana (0 - 7) (Domingo a Sábado, donde 0 y 7 son Domingo)
| | | +------ Mes (1 - 12)
| | +-------- Día del mes (1 - 31)
| +---------- Hora (0 - 23)
+------------ Minuto (0 - 59)

Cada campo puede contener uno o más valores, separados por comas. Los valores pueden ser números específicos, rangos de números o caracteres especiales como * (cualquier valor), / (incrementos) y - (rangos).

🤝 Contribuciones

Las contribuciones son bienvenidas. Por favor, abre un issue o un pull request para discutir cualquier cambio que desees realizar.

Contribuyentes en GitHub Issues en GitHub

🪙 Donaciones

Este proyecto es mantenido por SergiSvK. Si encuentras este proyecto útil, considera hacer una donación.

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para obtener más información.