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