Add Fireshare
This commit is contained in:
parent
08aed28b75
commit
331e79a838
8 changed files with 105 additions and 0 deletions
13
env.yml
13
env.yml
|
@ -21,6 +21,13 @@ cifs_mounts:
|
||||||
gid: "{{ host_uid }}"
|
gid: "{{ host_uid }}"
|
||||||
file_mode: 640
|
file_mode: 640
|
||||||
dir_mode: 750
|
dir_mode: 750
|
||||||
|
fireshare:
|
||||||
|
src: "//{{ cifs_host }}/backup/fireshare"
|
||||||
|
path: /mnt/storagebox/fireshare
|
||||||
|
uid: "{{ users['fireshare'] + uid_shift }}"
|
||||||
|
gid: "{{ users['fireshare'] + uid_shift }}"
|
||||||
|
file_mode: 644
|
||||||
|
dir_mode: 755
|
||||||
storagebox:
|
storagebox:
|
||||||
src: "//{{ cifs_host }}/backup"
|
src: "//{{ cifs_host }}/backup"
|
||||||
path: /mnt/storagebox
|
path: /mnt/storagebox
|
||||||
|
@ -41,6 +48,7 @@ projects:
|
||||||
- coturn
|
- coturn
|
||||||
- element
|
- element
|
||||||
- etebase
|
- etebase
|
||||||
|
- fireshare
|
||||||
- hedgedoc
|
- hedgedoc
|
||||||
- homepage
|
- homepage
|
||||||
- keycloak
|
- keycloak
|
||||||
|
@ -84,6 +92,7 @@ ports:
|
||||||
coturn_relay_max: 49172
|
coturn_relay_max: 49172
|
||||||
element: 8084
|
element: 8084
|
||||||
etebase: 3735
|
etebase: 3735
|
||||||
|
fireshare: 8085
|
||||||
hedgedoc: 8086
|
hedgedoc: 8086
|
||||||
homepage: 8686
|
homepage: 8686
|
||||||
keycloak: 8444
|
keycloak: 8444
|
||||||
|
@ -110,6 +119,7 @@ ports:
|
||||||
users:
|
users:
|
||||||
coturn: 666
|
coturn: 666
|
||||||
etebase: 373
|
etebase: 373
|
||||||
|
fireshare: 1007
|
||||||
hedgedoc: 1004
|
hedgedoc: 1004
|
||||||
homepage: 8686
|
homepage: 8686
|
||||||
keycloak: 1000
|
keycloak: 1000
|
||||||
|
@ -131,6 +141,9 @@ volumes:
|
||||||
coturn_tls_certificate_file: "/etc/letsencrypt/live/turn.{{ domain }}/fullchain.pem"
|
coturn_tls_certificate_file: "/etc/letsencrypt/live/turn.{{ domain }}/fullchain.pem"
|
||||||
coturn_tls_certificate_key_file: "/etc/letsencrypt/live/turn.{{ domain }}/privkey.pem"
|
coturn_tls_certificate_key_file: "/etc/letsencrypt/live/turn.{{ domain }}/privkey.pem"
|
||||||
etebase_datadir: /mnt/etebasedata
|
etebase_datadir: /mnt/etebasedata
|
||||||
|
fireshare_datadir: /mnt/firesharedata
|
||||||
|
fireshare_processeddir: /mnt/storagebox/fireshare/processed
|
||||||
|
fireshare_videosdir: /mnt/storagebox/fireshare/videos
|
||||||
hedgedoc_uploadsdir: /mnt/hedgedocuploads
|
hedgedoc_uploadsdir: /mnt/hedgedocuploads
|
||||||
mailserver_datadir: /mnt/mailserver
|
mailserver_datadir: /mnt/mailserver
|
||||||
mailserver_tls_certificate_file: "/etc/letsencrypt/live/mail.{{ domain }}/fullchain.pem"
|
mailserver_tls_certificate_file: "/etc/letsencrypt/live/mail.{{ domain }}/fullchain.pem"
|
||||||
|
|
9
roles/fireshare/tasks/main.yml
Normal file
9
roles/fireshare/tasks/main.yml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
- name: Include setup tasks
|
||||||
|
include_tasks:
|
||||||
|
file: setup.yml
|
||||||
|
when: run_setup | default(false) | bool
|
||||||
|
|
||||||
|
- name: Include update tasks
|
||||||
|
include_tasks:
|
||||||
|
file: update.yml
|
||||||
|
when: run_update | default(false) | bool
|
27
roles/fireshare/tasks/setup.yml
Normal file
27
roles/fireshare/tasks/setup.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
- name: "(Re)Create {{ project_dir }} project directory"
|
||||||
|
file:
|
||||||
|
path: "{{ project_dir }}"
|
||||||
|
state: "{{ item }}"
|
||||||
|
loop:
|
||||||
|
- absent
|
||||||
|
- directory
|
||||||
|
|
||||||
|
- name: Template docker-compose.yaml & .env to project directory
|
||||||
|
template:
|
||||||
|
src: "{{ item }}"
|
||||||
|
dest: "{{ project_dir }}/{{ item }}"
|
||||||
|
owner: "{{ host_uid }}"
|
||||||
|
group: "{{ host_uid }}"
|
||||||
|
mode: '640'
|
||||||
|
loop:
|
||||||
|
- docker-compose.yaml
|
||||||
|
- .env
|
||||||
|
|
||||||
|
- name: "Create (if not exists) directory {{ volumes['fireshare_datadir'] }} & set permissions"
|
||||||
|
file:
|
||||||
|
path: "{{ volumes['fireshare_datadir'] }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ users['fireshare'] + uid_shift }}"
|
||||||
|
group: "{{ users['fireshare'] + uid_shift }}"
|
||||||
|
mode: '750'
|
||||||
|
become: true
|
18
roles/fireshare/tasks/update.yml
Normal file
18
roles/fireshare/tasks/update.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
- name: Pull project services
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ project_dir }}"
|
||||||
|
recreate: never
|
||||||
|
pull: true
|
||||||
|
debug: true
|
||||||
|
when: docker_pull_images | bool
|
||||||
|
register: fireshare_docker_compose_pull_result
|
||||||
|
|
||||||
|
- name: Display pulled image(s) name
|
||||||
|
set_fact:
|
||||||
|
fireshare_pulled_images: "{{ fireshare_pulled_images | default([]) + [item.pulled_image.name] }}"
|
||||||
|
loop: "{{ fireshare_docker_compose_pull_result['actions'] | default([]) | selectattr('pulled_image', 'defined') }}"
|
||||||
|
|
||||||
|
- name: Create/Restart project services
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ project_dir }}"
|
||||||
|
restarted: "{{ run_setup | default(false) | bool }}"
|
9
roles/fireshare/templates/.env
Normal file
9
roles/fireshare/templates/.env
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
ADMIN_USERNAME='{{ fireshare_secrets["admin_username"] }}'
|
||||||
|
ADMIN_PASSWORD='{{ fireshare_secrets["admin_password"] }}'
|
||||||
|
SECRET_KEY='{{ fireshare_secrets["secret_key"] }}'
|
||||||
|
MINUTES_BETWEEN_VIDEO_SCANS=5
|
||||||
|
# The location in the video thumbnails are generated. A value between 0-100 where 50 would be the frame in the middle of the video file and 0 would be the first frame of the video.
|
||||||
|
THUMBNAIL_VIDEO_LOCATION=0
|
||||||
|
DOMAIN=clips.{{ domain }}
|
||||||
|
PUID={{ users['fireshare'] }}
|
||||||
|
PGID={{ users['fireshare'] }}
|
12
roles/fireshare/templates/docker-compose.yaml
Normal file
12
roles/fireshare/templates/docker-compose.yaml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
services:
|
||||||
|
fireshare:
|
||||||
|
container_name: fireshare
|
||||||
|
image: docker.io/shaneisrael/fireshare:latest
|
||||||
|
restart: always
|
||||||
|
env_file: .env
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:{{ ports['fireshare'] }}:80
|
||||||
|
volumes:
|
||||||
|
- {{ volumes['fireshare_datadir'] }}:/data
|
||||||
|
- {{ volumes['fireshare_processeddir'] }}:/processed
|
||||||
|
- {{ volumes['fireshare_videosdir'] }}:/videos
|
12
roles/nginx/templates/sites-enabled/clips.conf
Normal file
12
roles/nginx/templates/sites-enabled/clips.conf
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
|
||||||
|
server_name clips.{{ domain }};
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:{{ ports['fireshare'] }};
|
||||||
|
|
||||||
|
client_max_body_size 500M;
|
||||||
|
}
|
||||||
|
}
|
|
@ -11,6 +11,11 @@ cifs_credentials:
|
||||||
coturn_secrets:
|
coturn_secrets:
|
||||||
static_auth_secret:
|
static_auth_secret:
|
||||||
|
|
||||||
|
fireshare_secrets:
|
||||||
|
admin_username:
|
||||||
|
admin_password:
|
||||||
|
secret_key:
|
||||||
|
|
||||||
hedgedoc_secrets:
|
hedgedoc_secrets:
|
||||||
client_id:
|
client_id:
|
||||||
client_secret:
|
client_secret:
|
||||||
|
|
Loading…
Reference in a new issue