noplanman.lstu

Rôle Ansible pour Lstu (Raccourcissons cette URL)

Statut de Construction Rôle Ansible


:rocket: Le développement a été déplacé vers git.feneas.org.

(Le dépôt sur GitHub est seulement un miroir, donc fork sur Feneas pour contribuer. Pas besoin d'inscription, connectez-vous avec votre compte GitHub.)


Ce rôle installe et configure Lstu sur des serveurs Debian/Ubuntu. Découvrez-en plus sur Lstu, créé par Luc Didry.

Ce rôle installera automatiquement un service qui démarrera lorsque le serveur se lancera. Il détectera également automatiquement quel gestionnaire de services est utilisé.

Exigences

L'utilisation de ce rôle n'installe pas Nginx ou Apache en tant que proxy inverse, vous devez le faire vous-même ! Consultez les [configurations d'exemple].

Variables du Rôle

Définissez l'utilisateur/groupe qui sera utilisé pour exécuter Lstu. Il est logique d'utiliser l'utilisateur/groupe du serveur web.

lstu_user: www-data
lstu_group: www-data

Définissez si Lstu doit être tenu à jour. (par défaut : non)

lstu_keep_updated: no

Si le mot de passe admin doit être enregistré sous forme hachée. (lstu_adminpwd doit toujours être le mot de passe en texte clair !)

lstu_hash_adminpwd: yes

Il y a quelques valeurs obligatoires et beaucoup de valeurs optionnelles. Vérifiez toutes les variables possibles dans defaults/main.yml.

# Obligatoire !
lstu_working_dir: "/var/www/example.com"
lstu_listen: "http://127.0.0.1:8080"    # Ou un tableau, si plusieurs adresses.
lstu_contact: "admin@example.com"
lstu_secrets: ["tableau", "de", "secrets", "aléatoires"]

# Optionnel
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

Étiquettes du Rôle

Chaque partie de la configuration a une étiquette.

lstu:install
lstu:site
lstu:service

Dépendances

Aucune.

Exemple 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: "admin@lstu.example.com"
lstu_secrets: ["Weiboe3a","Ahsahm0O","biPhah2u","Ki2teeph","Choihah4","ka7Oifia","aeT7eeb9","oYah4it7"]
lstu_adminpwd: "kohdah6DJieSh1CaTe1uWohKax9ahxeG"

Tests

Docker est utilisé pour tester le rôle avec différents systèmes d'exploitation.

Consultez le dossier tests.

Licence

MIT

À propos du projet

Install and run Lstu on a Debian-like system.

Installer
ansible-galaxy install noplanman.lstu
Licence
mit
Téléchargements
80
Propriétaire
Passionate open sourcerer and sharer 😇 Find me coding at @php-telegram-bot and a plethora of other little projects that I care about.