noplanman.lstu

Rola Ansible dla Lstu (Skróć ten URL)

Status budowy Rola Ansible


:rocket: Rozwój przeniósł się na git.feneas.org.

(Repozytorium na GitHubie jest tylko lustrem, więc zrób fork na Feneas, żeby wnieść wkład. Nie jest potrzebna rejestracja, wystarczy zalogować się swoim kontem GitHub.)


Ta rola instaluje i konfiguruje Lstu na serwerach Debian/Ubuntu. Dowiedz się więcej o Lstu, stworzonym przez [Luca Didry].

Ta rola automatycznie zainstaluje usługę, która uruchomi się przy starcie serwera. Automatycznie ustali również, jaki menedżer usług jest używany.

Wymagania

Użycie tej roli nie instaluje Nginx ani Apache jako reverse proxy, musisz to zrobić samodzielnie! Zobacz [przykłady konfiguracji].

Zmienne roli

Ustaw użytkownika/grupę, która będzie używana do uruchamiania Lstu. Sensowne jest użycie użytkownika/grupy serwera WWW.

lstu_user: www-data
lstu_group: www-data

Ustaw, czy Lstu powinno być aktualizowane. (domyślnie: nie)

lstu_keep_updated: no

Jeśli hasło administratora ma być zapisane w formacie haszowanym. (lstu_adminpwd zawsze musi być hasłem w postaci tekstu jawnego!)

lstu_hash_adminpwd: yes

Istnieje kilka obowiązkowych i wiele opcjonalnych wartości. Sprawdź wszystkie możliwe zmienne w defaults/main.yml.

# Wymagane!
lstu_working_dir: "/var/www/example.com"
lstu_listen: "http://127.0.0.1:8080"    # Lub tablica, jeśli wiele adresów.
lstu_contact: "[email protected]"
lstu_secrets: ["tablica", "losowych", "sekretów"]

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

Tagowanie roli

Każda część konfiguracji ma swój tag.

lstu:install
lstu:site
lstu:service

Zależności

Brak.

Przykład Playbooka

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

Testy

Docker jest używany do testowania roli z różnymi systemami operacyjnymi.

Sprawdź folder tests.

Licencja

MIT

O projekcie

Install and run Lstu on a Debian-like system.

Zainstaluj
ansible-galaxy install noplanman.lstu
Licencja
mit
Pobrania
80
Właściciel
Passionate open sourcerer and sharer 😇 Find me coding at @php-telegram-bot and a plethora of other little projects that I care about.