adding filebrowser role
This commit is contained in:
parent
69ae923d1b
commit
b6c92a7a8d
10
ansible/roles/filebrowser/defaults/main.yml
Normal file
10
ansible/roles/filebrowser/defaults/main.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
fb_version: "2.32.0"
|
||||||
|
fb_user: "admin"
|
||||||
|
fb_group: "admin"
|
||||||
|
fb_port: "8080"
|
||||||
|
fb_address: "0.0.0.0"
|
||||||
|
fb_log_dir: "/var/log/filebrowser"
|
||||||
|
fb_config_dir: "/etc/filebrowser"
|
||||||
|
fb_root: "/nas/{{ env_long }}"
|
||||||
10
ansible/roles/filebrowser/files/logrotate.conf
Normal file
10
ansible/roles/filebrowser/files/logrotate.conf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/var/log/filebrowser/filebrowser.log
|
||||||
|
{
|
||||||
|
rotate 7
|
||||||
|
daily
|
||||||
|
missingok
|
||||||
|
dateext
|
||||||
|
copytruncate
|
||||||
|
notifempty
|
||||||
|
compress
|
||||||
|
}
|
||||||
2
ansible/roles/filebrowser/files/rsyslog.conf
Normal file
2
ansible/roles/filebrowser/files/rsyslog.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
if $programname == 'filebrowser' then /var/log/filebrowser/filebrowser.log
|
||||||
|
&stop
|
||||||
10
ansible/roles/filebrowser/handlers/main.yml
Normal file
10
ansible/roles/filebrowser/handlers/main.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: Daemon reload
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
daemon_reload: true
|
||||||
|
|
||||||
|
- name: Restart
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
name: filebrowser.service
|
||||||
|
state: restarted
|
||||||
89
ansible/roles/filebrowser/tasks/main.yml
Normal file
89
ansible/roles/filebrowser/tasks/main.yml
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: Create download folder
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/tmp/filebrowser"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Download Filebrowser binary from github
|
||||||
|
ansible.builtin.unarchive:
|
||||||
|
src: "https://github.com/filebrowser/filebrowser/releases/download/v{{ fb_version }}/linux-amd64-filebrowser.tar.gz"
|
||||||
|
dest: "/tmp/filebrowser"
|
||||||
|
remote_src: true
|
||||||
|
|
||||||
|
- name: Moving filebrowser binary to /usr/local/bin
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: /tmp/filebrowser/filebrowser
|
||||||
|
dest: /usr/local/bin/filebrowser
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0755
|
||||||
|
remote_src: true
|
||||||
|
|
||||||
|
- name: Create configuration folder
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ fb_config_dir }}"
|
||||||
|
owner: "{{ fb_user }}"
|
||||||
|
group: "{{ fb_group }}"
|
||||||
|
mode: 0755
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Deploying configuration file
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "settings.json.j2"
|
||||||
|
dest: "{{ fb_config_dir }}/settings.json"
|
||||||
|
owner: "{{ fb_user }}"
|
||||||
|
group: "{{ fb_group }}"
|
||||||
|
mode: 0644
|
||||||
|
notify: Restart
|
||||||
|
|
||||||
|
- name: Deploying service file
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "filebrowser.service.j2"
|
||||||
|
dest: "/lib/systemd/system/filebrowser.service"
|
||||||
|
owner: "root"
|
||||||
|
group: "root"
|
||||||
|
mode: 0644
|
||||||
|
notify:
|
||||||
|
- Daemon reload
|
||||||
|
|
||||||
|
- name: Running handlers for daemon reload
|
||||||
|
meta: flush_handlers
|
||||||
|
|
||||||
|
- name: Enabling filebrowser service
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: filebrowser.service
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
- name: Create log folder
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ fb_log_dir }}"
|
||||||
|
owner: root
|
||||||
|
group: adm
|
||||||
|
mode: 0755
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Deploy rsyslog config
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: rsyslog.conf
|
||||||
|
dest: /etc/rsyslog.d/filebrowser.conf
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0644
|
||||||
|
|
||||||
|
- name: Deploy logrotate config
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: logrotate.conf
|
||||||
|
dest: /etc/logrotate.d/filebrowser
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0644
|
||||||
|
|
||||||
|
- name: Create custom branding folder
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "/etc/filebrowser/branding/img/icons"
|
||||||
|
owner: "{{ fb_user }}"
|
||||||
|
group: "{{ fb_group }}"
|
||||||
|
mode: 0755
|
||||||
|
state: directory
|
||||||
17
ansible/roles/filebrowser/templates/filebrowser.service.j2
Normal file
17
ansible/roles/filebrowser/templates/filebrowser.service.j2
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Filebrowser
|
||||||
|
Documentation=https://filebrowser.org
|
||||||
|
Wants=network-online.target
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User={{ fb_user }}
|
||||||
|
Group={{ fb_group }}
|
||||||
|
ExecReload=/bin/kill -HUP $MAINPID
|
||||||
|
ExecStart=/usr/local/bin/filebrowser --config {{ fb_config_dir }}/settings.json
|
||||||
|
SyslogIdentifier=filebrowser
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
8
ansible/roles/filebrowser/templates/settings.json.j2
Normal file
8
ansible/roles/filebrowser/templates/settings.json.j2
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"port": {{ fb_port }},
|
||||||
|
"baseURL": "",
|
||||||
|
"address": "{{ fb_address }}",
|
||||||
|
"log": "{{ fb_log_dir }}/filebrowser.log",
|
||||||
|
"database": "{{ fb_config_dir }}/filebrowser.db",
|
||||||
|
"root": "{{ fb_root }}"
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user