#!/usr/bin/with-contenv bash #################### # Pictures storage #################### if [ ! -d "/opt/pictures" ] ; then mkdir /opt/pictures fi #################### # Ansible #################### if [ ! -d "/opt/ansible" ] ; then mkdir /opt/ansible fi if [ ! -f "/opt/ansible/ssh.key" ] ; then ssh-keygen -t rsa -b 4096 -f /opt/ansible/ssh.key -N '""' fi if [ ! -d "/opt/ansible/roles" ] ; then mkdir /opt/ansible/roles fi git clone https://git.kemonine.info/PiFrame/ansible-role-wireguard.git /opt/ansible/roles/wireguard #################### # WireGuard #################### if [ "$ENABLE_WIREGUARD" = true ] ; then ip link del dev test 2>/dev/null if ip link add dev test type wireguard; then echo "**** It seems the wireguard module is already active :) ****" ip link del dev test else echo "**** The wireguard module is not active, please install wireguard on the host and activate the 'wg' kernel module ****" fi fi #################### # syncthing #################### if [ "$ENABLE_SYNCTHING" = true ] ; then if [ ! -d "/opt/syncthing" ]; then mkdir /opt/syncthing fi ST_CONF="/opt/syncthing/config.xml" if [ ! -f "$ST_CONF" ]; then echo "**** Initial Syncthing Config ****" /usr/bin/syncthing -generate /opt/syncthing sed -i 's/
127.0.0.1:8384<\/address>/
0.0.0.0:8384<\/address>/g' /opt/syncthing/config.xml sed -i 's///g' /opt/syncthing/config.xml if [ -d "/root/Sync" ]; then rm -r /root/Sync fi fi fi #################### # FileBrowser #################### if [ "$ENABLE_FILEBROWSER" = true ] ; then if [ ! -d "/opt/filebrowser" ]; then mkdir /opt/filebrowser fi FB_DB="/opt/filebrowser/pictures.db" if [ ! -f "$FB_DB" ]; then echo "**** Initial FileBrowser Config ****" filebrowser -d $FB_DB \ config init 2>&1 > /dev/null filebrowser -d $FB_DB \ config set --address 0.0.0.0 2>&1 > /dev/null filebrowser -d $FB_DB \ config set --port 9191 2>&1 > /dev/null filebrowser -d $FB_DB \ config set --branding.name "PiFrameFleet - Pictures" 2>&1 > /dev/null filebrowser -d $FB_DB \ users add admin password 2>&1 > /dev/null fi fi