feat: add rclone volume docker plugin

This commit is contained in:
Alexander Navarro 2025-02-27 18:55:39 -03:00
parent c297d9e618
commit a71519ca64
6 changed files with 66 additions and 3 deletions

View file

@ -2,4 +2,5 @@ file_ids:
- .env - .env
- files/docker/fedi/.env - files/docker/fedi/.env
- roles/common/files/robo_key - roles/common/files/robo_key
- roles/docker/files/rclone.conf
version: "1" version: "1"

View file

@ -0,0 +1,33 @@
services:
heimdall:
image: linuxserver/heimdall:latest
volumes: [configdata:/config]
networks:
- reverse_proxy
deploy:
rollback_config:
failure_action: continue
update_config:
delay: 2s
failure_action: rollback
order: start-first
placement:
constraints:
- node.labels.services_kind==${SERVICE_KIND:-common}
labels:
- traefik.enable=true
- traefik.http.routers.hoarder.rule=Host(`hoarder.alecodes.page`)
- traefik.http.services.hoarder.loadbalancer.server.port=80
volumes:
configdata:
driver: rclone
driver_opts:
remote: 'homelab-s3:docker-volume-heimdall'
allow_other: 'true'
vfs_cache_mode: full
poll_interval: 0
networks:
reverse_proxy:
external: true

View file

@ -3,7 +3,7 @@
--- ---
- name: Setup Docker - name: Setup Docker
hosts: docker hosts: docker
user: root become: true
roles: roles:
- docker - docker
vars: vars:
@ -13,7 +13,7 @@
- name: Setup docker swarm manager - name: Setup docker swarm manager
hosts: docker_managers hosts: docker_managers
user: root become: true
tasks: tasks:
- name: Setup swarm manager - name: Setup swarm manager
include_role: include_role:
@ -22,7 +22,7 @@
- name: Setup docker swarm workers - name: Setup docker swarm workers
hosts: docker_workers hosts: docker_workers
user: root become: true
tasks: tasks:
- name: "Setup swarm workers" - name: "Setup swarm workers"
include_role: include_role:

Binary file not shown.

View file

@ -4,6 +4,7 @@
ansible.builtin.package: ansible.builtin.package:
state: present state: present
name: name:
- fuse
- docker - docker
- docker-cli-compose - docker-cli-compose
- py3-yaml - py3-yaml

View file

@ -21,3 +21,31 @@
name: docker name: docker
state: started state: started
enabled: true enabled: true
- name: Create rclone config directory
ansible.builtin.file:
path: /var/lib/docker-plugins/rclone/config
state: directory
mode: '0755'
- name: Create rclone cache directory
ansible.builtin.file:
path: /var/lib/docker-plugins/rclone/cache
state: directory
mode: '0755'
- name: Coping rclone config
copy:
src: files/rclone.conf
dest: /var/lib/docker-plugins/rclone/config/rclone.conf
mode: '0755'
owner: root
group: root
- name: Install rclone docker plugin
community.docker.docker_plugin:
state: enable
plugin_name: rclone/docker-volume-rclone:amd64
alias: rclone
plugin_options:
args: "-v"