diff --git a/group_vars/all.yml b/group_vars/all.yml index 581c1d7..715ed8d 100755 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -8,6 +8,7 @@ assets: "{{ project_root }}/assets" # Remote paths remote_stacks: "/home/javi/docker" remote_app_mounts: "/home/docker" +container_data_base_path: "/home/docker/container-data" # Postgres pg_host: 10.89.0.102 diff --git a/playbooks/nodes/apps.yml b/playbooks/nodes/apps.yml index ed9ab3c..bae3116 100644 --- a/playbooks/nodes/apps.yml +++ b/playbooks/nodes/apps.yml @@ -3,37 +3,53 @@ hosts: apps become: true roles: - - role: apps/kan - vars: - port: 7070 - - role: apps/memos - vars: - port: 7071 - - role: apps/vaultwarden - vars: - port: 7072 - - role: apps/erugo - vars: - port: 7073 - - role: apps/tianji - vars: - port: 7074 - - role: apps/stirling-pdf - vars: - port: 7075 - - role: apps/dumbware-todo - vars: - port: 7076 - pin: 8989 - - role: apps/dumbware-drop - vars: - port: 7077 - pin: "8989" - - role: apps/filebrowser - vars: - port: 7078 - directory: "fb-file-sharing" - container_name: "filebrowser-sharing" - - role: apps/reubah - vars: - port: 7079 \ No newline at end of file + - role: apps/kan + vars: + port: 7070 + - role: apps/memos + vars: + port: 7071 + - role: apps/vaultwarden + vars: + port: 7072 + - role: apps/erugo + vars: + port: 7073 + - role: apps/tianji + vars: + port: 7074 + - role: apps/stirling-pdf + vars: + port: 7075 + - role: apps/dumbware-todo + vars: + port: 7076 + pin: 8989 + - role: apps/filebrowser + vars: + port: 7078 + directory: "fb-file-sharing" + container_name: "filebrowser-sharing" + - role: apps/reubah + vars: + port: 7079 + - role: apps/komga + vars: + port: 7080 + tasks: + - name: Personal DW drop + ansible.builtin.include_role: + name: apps/dumbware-drop + vars: + port: 7077 + pin: "8989" + + - name: Komga DW drop + ansible.builtin.include_role: + name: apps/dumbware-drop + vars: + container_name: dw-drop-komga-books + page_title: "Contribute to the book library" + port: 7081 + pin: "1337" + directory: "komga/data/books" \ No newline at end of file diff --git a/playbooks/nodes/tianji-reporter.yml b/playbooks/nodes/tianji-reporter.yml index 20de217..475bbe0 100644 --- a/playbooks/nodes/tianji-reporter.yml +++ b/playbooks/nodes/tianji-reporter.yml @@ -1,9 +1,11 @@ --- - name: Install Tianji Reporter - hosts: vms:!apps # Tianji is already installed on apps node + # hosts: vms:!apps # Tianji is already installed on apps node + # hosts: "{{ (groups['vms'] + groups['proxies']) | unique }}" + hosts: caddy_external become: true vars: - server_url: "https://tianji.thegrind.dev" + server_url: "http://10.89.0.108:7074" workspace_id: "clnzoxcy10001vy2ohi4obbi0" tasks: - name: Ensure curl and wget are installed (Debian) @@ -57,4 +59,4 @@ ansible.builtin.systemd: name: tianji-reporter enabled: true - state: started + state: reloaded diff --git a/playbooks/proxy/external.yml b/playbooks/proxy/external.yml index 134dbad..c0688db 100644 --- a/playbooks/proxy/external.yml +++ b/playbooks/proxy/external.yml @@ -3,7 +3,7 @@ hosts: caddy_external become: true roles: - - role: caddy/install + # - role: caddy/install # Only needed the first setup - role: caddy/proxy vars: domains: @@ -19,9 +19,6 @@ - name: "do" host: "{{ lookup('hostip', 'apps') }}" port: 7076 - - name: "upload" - host: "{{ lookup('hostip', 'apps') }}" - port: 7077 - name: "drop" host: "{{ lookup('hostip', 'apps') }}" port: 7077 @@ -66,6 +63,12 @@ - name: "fileshare" host: "{{ lookup('hostip', 'apps') }}" port: 7073 + - name: "books" + host: "{{ lookup('hostip', 'apps') }}" + port: 7080 + - name: "bookupload" + host: "{{ lookup('hostip', 'apps') }}" + port: 7081 - name: "thegrind.dev" dynamic_dns: true sites: diff --git a/playbooks/proxy/internal.yml b/playbooks/proxy/internal.yml index 145622e..24d3939 100644 --- a/playbooks/proxy/internal.yml +++ b/playbooks/proxy/internal.yml @@ -3,7 +3,7 @@ hosts: caddy_internal become: true roles: - - role: caddy/install + - role: caddy/install # Only needed for first setup - role: caddy/proxy vars: domains: @@ -42,4 +42,19 @@ host: 10.89.0.12 port: 8006 transport_opts: - - tls_insecure_skip_verify \ No newline at end of file + - tls_insecure_skip_verify + - name: "sonarr" + host: "{{ lookup('hostip', 'streaming') }}" + port: 5002 + - name: "radarr" + host: "{{ lookup('hostip', 'streaming') }}" + port: 5003 + - name: "prowlarr" + host: "{{ lookup('hostip', 'streaming') }}" + port: 5001 + - name: "sab" + host: "{{ lookup('hostip', 'streaming') }}" + port: 5013 + - name: "qbit" + host: "{{ lookup('hostip', 'streaming') }}" + port: 5007 \ No newline at end of file diff --git a/roles/apps/dumbware-drop/defaults/main.yml b/roles/apps/dumbware-drop/defaults/main.yml index e69de29..60a67dc 100644 --- a/roles/apps/dumbware-drop/defaults/main.yml +++ b/roles/apps/dumbware-drop/defaults/main.yml @@ -0,0 +1,3 @@ +directory: "dw-drop" +container_name: "dw-drop" +page_title: "Share a file with Javi" \ No newline at end of file diff --git a/roles/apps/dumbware-drop/tasks/main.yml b/roles/apps/dumbware-drop/tasks/main.yml index 7330564..05486f0 100644 --- a/roles/apps/dumbware-drop/tasks/main.yml +++ b/roles/apps/dumbware-drop/tasks/main.yml @@ -2,11 +2,11 @@ ansible.builtin.include_role: role: docker/container-data vars: - dir_name: "dw-drop" + dir_name: "{{ directory }}" - name: Create dumbware-drop container community.docker.docker_container: - name: dw-drop + name: "{{ container_name }}" image: dumbwareio/dumbdrop:latest pull: true state: started @@ -14,9 +14,9 @@ ports: - "{{ port }}:3000" volumes: - - /home/docker/container-data/dw-drop:/app/uploads + - "/home/docker/container-data/{{ directory }}:/app/uploads" env: - DUMBDROP_TITLE: "Share a file with Javi" + DUMBDROP_TITLE: "{{ page_title }}" DUMBDROP_PIN: "{{ pin }}" MAX_FILE_SIZE: "10240" # 10GB LOCAL_UPLOAD_DIR: /app/uploads diff --git a/roles/apps/komga/defaults/main.yml b/roles/apps/komga/defaults/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/apps/komga/tasks/main.yml b/roles/apps/komga/tasks/main.yml new file mode 100644 index 0000000..f3b5c8f --- /dev/null +++ b/roles/apps/komga/tasks/main.yml @@ -0,0 +1,35 @@ +# - name: Create DB +# ansible.builtin.include_role: +# name: app/database +# vars: +# app_name: "booklore" +- name: Create data folder + ansible.builtin.include_role: + name: docker/container-data + vars: + dir_name: "komga" + +- name: Create necessary subfolders + ansible.builtin.file: + dest: "{{ container_data_base_path }}/komga/{{ item }}" + state: directory + mode: '0777' + loop: + - data + - "data/books" + - config + +- name: Deploy container + community.docker.docker_container: + name: komga-ebook-library + pull: true + state: started + image: gotson/komga + volumes: + - "{{ container_data_base_path }}/komga/config:/config" + - "{{ container_data_base_path }}/komga/data:/data" + - /etc/timezone:/etc/timezone + ports: + - "{{ port }}:25600" + user: "1000:1000" + restart_policy: unless-stopped \ No newline at end of file diff --git a/roles/docker/container-data/tasks/main.yml b/roles/docker/container-data/tasks/main.yml index e775adc..2620f31 100644 --- a/roles/docker/container-data/tasks/main.yml +++ b/roles/docker/container-data/tasks/main.yml @@ -1,6 +1,6 @@ - name: Create the data directory ansible.builtin.file: - path: "/home/docker/container-data" + path: "{{ container_data_base_path }}" state: directory mode: '0777' become: true @@ -9,12 +9,12 @@ ansible.builtin.include_tasks: file: ../tasks/mount_nfs.yml vars: - mount_path: "/home/docker/container-data" + mount_path: "{{ container_data_base_path }}" mount_source: "10.89.0.15:/mnt/main/container-data" - name: Create the data directory ansible.builtin.file: - path: "/home/docker/container-data/{{ dir_name }}" + path: "{{ container_data_base_path }}/{{ dir_name }}" state: directory mode: '0777' become: true \ No newline at end of file