noplanman.lstu

Rol de Ansible para Lstu (Vamos a acortar esa URL)

Estado de Construcción Rol Ansible


:cohete: El desarrollo se ha trasladado a git.feneas.org.

(El repositorio en GitHub es solo un espejo, así que haz un fork en Feneas para contribuir. No necesitas registrarte, solo inicia sesión con tu cuenta de GitHub.)


Este rol instala y configura Lstu en servidores Debian/Ubuntu.
Descubre más sobre Lstu, creado por Luc Didry.

Este rol instalará automáticamente un servicio que se iniciará cuando el servidor arranque.
También detectará automáticamente qué gestor de servicios se está utilizando.

Requisitos

Usar este rol no instala Nginx o Apache como proxy inverso, ¡tú necesitas hacerlo!
Echa un vistazo a las [configuraciones de ejemplo].

Variables del Rol

Establece el usuario/grupo que se utilizará para ejecutar Lstu. Tiene sentido usar el usuario/grupo del servidor web.

lstu_user: www-data
lstu_group: www-data

Establece si Lstu debe mantenerse actualizado. (por defecto: no)

lstu_keep_updated: no

Si la contraseña del administrador debe guardarse en un formato hash. (lstu_adminpwd siempre debe ser la contraseña en texto claro)

lstu_hash_adminpwd: yes

Hay algunos valores obligatorios y muchos opcionales. Consulta todas las variables posibles en defaults/main.yml.

# ¡Requerido!
lstu_working_dir: "/var/www/example.com"
lstu_listen: "http://127.0.0.1:8080"    # O un array, si hay múltiples direcciones.
lstu_contact: "[email protected]"
lstu_secrets: ["array", "de", "secretos", "aleatorios"]

# Opcional
lstu_proxy: no
lstu_adminpwd: "sup3r-secr3t"
lstu_theme: "default"
lstu_page_offset: 10
lstu_url_length: 8
lstu_provis_step: 5
lstu_provisioning: 100
lstu_prefix: "/"
lstu_allowed_domains: []
lstu_fixed_domain: "example.org"
lstu_db_type: "sqlite"
lstu_db_path: "lstu.db"
lstu_pgdb:
    database: "lstu"
    host: "localhost"
    port: 5432
    user: "DBUSER"
    pwd: "DBPASSWORD"
    max_connections: 1
lstu_mysqldb:
    database: "lstu"
    host: "localhost"
    port: 3306
    user: "DBUSER"
    pwd: "DBPASSWORD"
    max_connections: 5
lstu_ban_min_strike: 3
lstu_ban_blacklist: []
lstu_ban_whitelist: []
lstu_piwik:
    url: "http://piwik.example.com"
    idsite: "1"
minion:
    enabled: no,
    db_path: "minion.db"
    pgdb:
        database: "lstu_minion"
        host: "localhost"
        port: 5432
        user: "DBUSER"
        pwd: "DBPASSWORD"
    mysqldb:
        database: "lstu_minion"
        host: "localhost"
        port: 3306
        user: "DBUSER"
        pwd: "DBPASSWORD"
lstu_ldap:
    uri: "ldaps://ldap.example.org"
    user_tree: "ou=users,dc=example,dc=org"
    bind_dn: "uid=ldap_user,ou=users,dc=example,dc=org"
    bind_pwd: "secr3t"
    user_attr: "uid"
    user_filter: "(!(uid=ldap_user))"
lstu_htpasswd: "lstu.passwd"
lstu_session_duration: 3600
lstu_max_redir: 2
lstu_spam_blacklist_regex: "foo|bar"
lstu_spam_path_blacklist_regex: "foo|bar"
lstu_spam_whitelist_regex: "foo|bar"
lstu_skip_spamhaus: no
lstu_safebrowsing_api_key: ""
lstu_memcached_servers: []
lstu_csp: "default-src 'none'; script-src 'self'; style-src 'self'; img-src 'self' data:; font-src 'self'; form-action 'self'; base-uri 'self'"
lstu_x_frame_options: "DENY"
lstu_x_content_type_options: "nosniff"
lstu_x_xss_protection: "1; mode=block"
lstu_log_creator_ip: no

Etiquetas del Rol

Cada parte de la configuración tiene una etiqueta.

lstu:install
lstu:site
lstu:service

Dependencias

Ninguna.

Ejemplo de Playbook

# playbook.yml
---
- hosts: servers
  become: yes
  vars_files:
    - vars/main.yml
  roles:
    - { role: noplanman.lstu }
# vars/main.yml
---
lstu_working_dir: "/var/www/lstu.example.com"
lstu_listen: "http://127.0.0.1:8080"
lstu_contact: "[email protected]"
lstu_secrets: ["Weiboe3a","Ahsahm0O","biPhah2u","Ki2teeph","Choihah4","ka7Oifia","aeT7eeb9","oYah4it7"]
lstu_adminpwd: "kohdah6DJieSh1CaTe1uWohKax9ahxeG"

Pruebas

Se utiliza Docker para probar el rol con diferentes sistemas operativos.

Consulta la carpeta tests.

Licencia

MIT

Acerca del proyecto

Install and run Lstu on a Debian-like system.

Instalar
ansible-galaxy install noplanman.lstu
Licencia
mit
Descargas
80
Propietario
Passionate open sourcerer and sharer 😇 Find me coding at @php-telegram-bot and a plethora of other little projects that I care about.