summaryrefslogtreecommitdiff
path: root/playbooks/roles/bin
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2025-04-06 15:47:10 -0700
committerElizabeth Hunt <me@liz.coffee>2025-04-06 15:47:10 -0700
commitf0b1d38361d019f174d8417d141c5b880a1e01c2 (patch)
tree7b8362b1ab765928eeb908ca230f8c35cee9d42f /playbooks/roles/bin
parent138bef2d0d87d9805431f246c55622bf8ff726dd (diff)
downloadinfra-f0b1d38361d019f174d8417d141c5b880a1e01c2.tar.gz
infra-f0b1d38361d019f174d8417d141c5b880a1e01c2.zip
fix volume perms and deploy filestash
Diffstat (limited to 'playbooks/roles/bin')
-rw-r--r--playbooks/roles/bin/tasks/main.yml25
-rw-r--r--playbooks/roles/bin/templates/stacks/docker-compose.yml24
-rw-r--r--playbooks/roles/bin/templates/volumes/data/.gitkeep0
3 files changed, 49 insertions, 0 deletions
diff --git a/playbooks/roles/bin/tasks/main.yml b/playbooks/roles/bin/tasks/main.yml
new file mode 100644
index 0000000..69516ab
--- /dev/null
+++ b/playbooks/roles/bin/tasks/main.yml
@@ -0,0 +1,25 @@
+---
+
+- name: Build bin compose dirs
+ ansible.builtin.file:
+ state: directory
+ dest: '{{ bin_base }}/{{ item.path }}'
+ owner: 1000
+ group: 1000
+ mode: 755
+ with_filetree: '../templates'
+ when: item.state == 'directory'
+
+- name: Build bin compose files
+ ansible.builtin.template:
+ src: '{{ item.src }}'
+ dest: '{{ bin_base }}/{{ item.path }}'
+ owner: 1000
+ group: 1000
+ mode: 755
+ with_filetree: '../templates'
+ when: item.state == 'file'
+
+- name: Deploy bin stack
+ ansible.builtin.command:
+ cmd: 'docker stack deploy -c {{ bin_base }}/stacks/docker-compose.yml bin'
diff --git a/playbooks/roles/bin/templates/stacks/docker-compose.yml b/playbooks/roles/bin/templates/stacks/docker-compose.yml
new file mode 100644
index 0000000..fe52d9d
--- /dev/null
+++ b/playbooks/roles/bin/templates/stacks/docker-compose.yml
@@ -0,0 +1,24 @@
+services:
+ bin:
+ image: machines/filestash:latest
+ volumes:
+ - {{ bin_base }}/volumes/data:/app/data/state/
+ environment:
+ - TZ={{ timezone }}
+ networks:
+ - proxy
+ deploy:
+ mode: replicated
+ replicas: 1
+ labels:
+ - traefik.enable=true
+ - traefik.swarm.network=proxy
+ - traefik.http.routers.bin.tls=true
+ - traefik.http.routers.bin.tls.certResolver=letsencrypt
+ - traefik.http.routers.bin.rule=Host(`{{ bin_domain }}`)
+ - traefik.http.routers.bin.entrypoints=websecure
+ - traefik.http.services.bin.loadbalancer.server.port=8334
+
+networks:
+ proxy:
+ external: true
diff --git a/playbooks/roles/bin/templates/volumes/data/.gitkeep b/playbooks/roles/bin/templates/volumes/data/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/playbooks/roles/bin/templates/volumes/data/.gitkeep