noplanman.lufi

Lufi的Ansible角色(让我们上传文件)

构建状态 Ansible角色


:rocket: 开发已移至**git.feneas.org**。

(GitHub上的仓库只是镜像,所以请在Feneas上进行分叉以作贡献。无需注册,只需使用您的GitHub账户登录。)


此角色用于在Debian/Ubuntu服务器上安装和配置Lufi。 想了解更多关于Lufi的信息,可以查看Luc Didry创建的内容。

此角色会自动安装一个服务,该服务将在服务器启动时启动。 它也会自动识别使用的服务管理器。

需求

使用此角色不会安装Nginx或Apache作为反向代理,您需要自己完成这个步骤! 请查看[示例配置]。

角色变量

设置将用于运行Lufi的用户/组。使用Web服务器的用户/组是合理的。

lufi_user: www-data
lufi_group: www-data

设置是否应保持Lufi更新。(默认:否)

lufi_keep_updated: no

有一些必需的值和许多可选的值。检查defaults/main.yml中的所有可能变量。

# 必需!
lufi_working_dir: "/var/www/example.com"
lufi_listen: "http://127.0.0.1:8080"    # 或多个地址的数组。
lufi_contact: "[email protected]"
lufi_secrets: ["array", "of", "random", "secrets"]

# 可选
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   # 介于10MB和50MB之间 => 最大90天,少于10MB => 最大为max_delay(见上文)
    50000000: 60   # 介于50MB和1GB之间 => 最大60天
    1000000000: 2  # 超过1GB => 最大2天
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

角色标签

设置的每个部分都有一个标签。

lufi:install
lufi:site
lufi:service

依赖

无依赖。

示例剧本

# 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: "欢迎使用Lufi。上传那些文件!"

测试

使用Docker测试不同操作系统下的角色。

查看tests文件夹。

许可证

MIT

关于项目

Install and run Lufi on a Debian-like system.

安装
ansible-galaxy install noplanman.lufi
许可证
mit
下载
90
拥有者
Passionate open sourcerer and sharer 😇 Find me coding at @php-telegram-bot and a plethora of other little projects that I care about.