noplanman.lufi
Rôle Ansible pour Lufi (Téléchargez ce fichier)
: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
Install and run Lufi on a Debian-like system.
ansible-galaxy install noplanman.lufi