noplanman.lufi

Rôle Ansible pour Lufi (Téléchargez ce fichier)

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 uniquement un miroir, donc fork sur Feneas pour contribuer. Pas besoin d'inscription, il suffit de se connecter avec votre compte GitHub.)


Ce rôle installe et configure Lufi sur des serveurs Debian/Ubuntu. En savoir plus sur Lufi, créé par Luc Didry.

Ce rôle installera automatiquement un service qui démarrera lors du démarrage du serveur. 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 Lufi. Il est logique d'utiliser l'utilisateur/groupe du serveur web.

lufi_user: www-data
lufi_group: www-data

Indiquez si Lufi doit être maintenu à jour. (par défaut : non)

lufi_keep_updated: no

Il y a quelques valeurs obligatoires et de nombreuses valeurs optionnelles. Consultez toutes les variables possibles dans defaults/main.yml.

# Requis !
lufi_working_dir: "/var/www/example.com"
lufi_listen: "http://127.0.0.1:8080"    # Ou un tableau, si plusieurs adresses.
lufi_contact: "[email protected]"
lufi_secrets: ["tableau", "de", "secrets", "aléatoires"]

# Optionnel
lufi_theme: "default"
lufi_proxy: no
lufi_workers: 30
lufi_clients: 1
lufi_url_length: 8
lufi_provis_step: 5
lufi_provisioning: 100
lufi_token_length: 32
lufi_max_file_size: 104857600
lufi_piwik_img: ""
lufi_broadcast_message: ""
lufi_default_delay: 0
lufi_max_delay: 0
lufi_delay_for_size:
    10000000: 90   # entre 10 Mo et 50 Mo => max est 90 jours, moins de 10 Mo => max est max_delay (voir ci-dessus)
    50000000: 60   # entre 50 Mo et 1 Go  => max est 60 jours
    1000000000: 2  # plus d'1 Go         => max est 2 jours
lufi_prefix: "/"
lufi_allowed_domains: []
lufi_fixed_domain: ""
lufi_mail:
    how: "smtp"
    howargs: ["smtp.example.org"]
lufi_mail_sender: "[email protected]"
lufi_db_type: "sqlite"
lufi_db_path: "lufi.db"
lufi_pgdb:
    database: "lufi"
    host: "localhost"
    user: "DBUSER"
    pwd: "DBPASSWORD"
lufi_upload_dir: "files"
lufi_ldap:
    uri: "ldaps://ldap.example.org"
    user_tree: "ou=users,dc=example,dc=org"
    bind_dn: ",ou=users,dc=example,dc=org"
    bind_user: "uid=ldap_user"
    bind_pwd: "secr3t"
    user_filter: "!(uid=ldap_user)"
lufi_htpasswd: "lufi.passwd"
lufi_session_duration: 3600
lufi_allow_pwd_on_files: no
lufi_keep_ip_during: 365
lufi_max_total_size: 10*1024*1024*1024
lufi_policy_when_full: "warn"
lufi_delete_no_longer_viewed_files: 90

Tags du rôle

Chaque partie de la configuration a une balise.

lufi:install
lufi:site
lufi:service

Dépendances

Aucune.

Exemple de Playbook

# playbook.yml
---
- hosts: servers
  become: yes
  vars_files:
    - vars/main.yml
  roles:
    - { role: noplanman.lufi }
# vars/main.yml
---
lufi_working_dir: "/var/www/lufi.example.com"
lufi_listen: "http://127.0.0.1:8080"
lufi_contact: "[email protected]"
lufi_secrets: ["xud7ooJu","aiNg7duG","ih7kom8Z","Ocaish3I","Ooja7chi","Eet4weil","Ethee4Go","xahJ0ohy"]
lufi_broadcast_message: "Bienvenue sur Lufi. Téléchargez ces fichiers !"

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 Lufi on a Debian-like system.

Installer
ansible-galaxy install noplanman.lufi
Licence
mit
Téléchargements
90
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.