From e651ebc4084203060b9bc89262b0b4cb11d8d6a3 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 7 Oct 2022 15:28:08 +0000 Subject: [PATCH] add ansible role for filebrowse --- filebrowser.yaml | 4 ++ hosts | 1 + roles/filebrowser/README.md | 11 ++++ roles/filebrowser/files/filebrowser.service | 10 ++++ roles/filebrowser/tasks/main.yaml | 66 +++++++++++++++++++++ 5 files changed, 92 insertions(+) create mode 100644 filebrowser.yaml create mode 100644 hosts create mode 100644 roles/filebrowser/README.md create mode 100644 roles/filebrowser/files/filebrowser.service create mode 100644 roles/filebrowser/tasks/main.yaml diff --git a/filebrowser.yaml b/filebrowser.yaml new file mode 100644 index 0000000..b73bea8 --- /dev/null +++ b/filebrowser.yaml @@ -0,0 +1,4 @@ +--- +- hosts: all + roles: + - filebrowser diff --git a/hosts b/hosts new file mode 100644 index 0000000..2fbb50c --- /dev/null +++ b/hosts @@ -0,0 +1 @@ +localhost diff --git a/roles/filebrowser/README.md b/roles/filebrowser/README.md new file mode 100644 index 0000000..aa0bf76 --- /dev/null +++ b/roles/filebrowser/README.md @@ -0,0 +1,11 @@ +This was created for adding easy file transer on an EVE-NG host. + +It adds a web interface to upload/download images. + +After upload or rename, it will run /opt/unetlab/wrappers/unl-wrapper -a fixpermissions. + +It creates a default login of admin/admin. + +To access, http://\:8899 + + diff --git a/roles/filebrowser/files/filebrowser.service b/roles/filebrowser/files/filebrowser.service new file mode 100644 index 0000000..751a9a8 --- /dev/null +++ b/roles/filebrowser/files/filebrowser.service @@ -0,0 +1,10 @@ +[Unit] +Description=File browser +After=network.target + +[Service] +User=root +ExecStart=/usr/local/bin/filebrowser --database /etc/filebrowser/filebrowser.db -r /opt/unetlab + +[Install] +WantedBy=multi-user.target diff --git a/roles/filebrowser/tasks/main.yaml b/roles/filebrowser/tasks/main.yaml new file mode 100644 index 0000000..dfcdeda --- /dev/null +++ b/roles/filebrowser/tasks/main.yaml @@ -0,0 +1,66 @@ +--- +- name: get filebrowser binary + get_url: + url: "https://github.com/filebrowser/filebrowser/releases/download/v2.16.1/linux-amd64-filebrowser.tar.gz" + dest: "/root/linux-amd64-filebrowser.tar.gz" + tags: filebrowser + register: filebrowser_download +- name: make filebrowser directory + file: + path: /root/filebrowser + state: directory + mode: 0755 + register: filebrowser_directory + when: filebrowser_download + +- name: unpack filebrowser + unarchive: + copy: no + dest: /root/filebrowser + src: "/root/linux-amd64-filebrowser.tar.gz" + tags: filebrowser + when: filebrowser_directory + register: filebrowser_unpack +- name: copy to usr bin + copy: + src: /root/filebrowser/filebrowser + dest: /usr/local/bin/filebrowser + owner: root + group: root + mode: a+x + tags: filebrowser + when: filebrowser_unpack + register: filebrowser_copy +- name: create filebrowser directory + file: + path: /etc/filebrowser + state: directory + mode: 0755 + when: filebrowser_copy + register: filebrowser_etc +- name: filebrowser config + command: /usr/local/bin/filebrowser -d /etc/filebrowser/filebrowser.db {{ item }} + with_items: + - config init -a 0.0.0.0 -p 8899 + - users add admin admin --perm.admin + - cmds add "after_upload" "/opt/unetlab/wrappers/unl_wrapper -a fixpermissions" + register: filebrowser_init + when: filebrowser_etc +- name: copy systemd unit + copy: + src: "{{ role_path }}/files/filebrowser.service" + dest: "/etc/systemd/system/filebrowser.service" + owner: root + group: root + tags: filebrowser + when: filebrowser_init + register: filebrowser_systemd +- name: enable filebrowser service + systemd: + daemon_reload: yes + enabled: yes + state: started + name: filebrowser.service + tags: filebrowser + when: filebrowser_systemd +