Files
homelab/tasks/infra/garage.yml
T
alex 8bce7546a7
Deploy Containers / Prepare (push) Successful in 21s
remove command
2026-05-20 21:38:19 -04:00

53 lines
1.8 KiB
YAML

---
- name: Create folder structure
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ data_dir }}/garage"
- "{{ data_dir }}/garage/meta"
- "{{ data_dir }}/garage/data"
- name: Create Garage Configuration
template:
src: templates/garage/garage.toml.j2
dest: "{{ data_dir }}/garage/garage.toml"
- name: Deploy Garage S3
include_role:
name: docker
vars:
name: garage
image:
name: dxflrs/garage
tag: v2.3.0
networks:
- name: "{{ docker_network_name }}"
volumes:
- "{{ data_dir }}/garage/garage.toml:/etc/garage.toml"
- "{{ data_dir }}/garage/meta:/var/lib/garage/meta"
- "{{ data_dir }}/garage/data:/var/lib/garage/data"
env:
GARAGE_DEFAULT_ACCESS_KEY: "{{ GARAGE_DEFAULT_ACCESS_KEY }}"
GARAGE_DEFAULT_SECRET_KEY: "{{ GARAGE_DEFAULT_SECRET_KEY }}"
GARAGE_DEFAULT_BUCKET: "{{ GARAGE_DEFAULT_BUCKET }}"
labels:
traefik.enable: "true"
traefik.http.routers.s3.rule: Host(`s3.citadel.fntz.net`)
traefik.http.routers.s3.entrypoints: webSecure
traefik.http.routers.s3.tls.certresolver: letsencrypt
traefik.http.routers.s3.service: s3
traefik.http.services.s3.loadbalancer.server.port: "3900"
traefik.http.routers.s3-web.rule: Host(`s3-web.citadel.fntz.net`)
traefik.http.routers.s3-web.entrypoints: webSecure
traefik.http.routers.s3-web.tls.certresolver: letsencrypt
traefik.http.routers.s3-web.service: s3-web
traefik.http.services.s3-web.loadbalancer.server.port: "3902"
traefik.http.routers.s3-admin.rule: Host(`s3-admin.citadel.fntz.net`)
traefik.http.routers.s3-admin.entrypoints: webSecure
traefik.http.routers.s3-admin.tls.certresolver: letsencrypt
traefik.http.routers.s3-admin.service: s3-admin
traefik.http.services.s3-admin.loadbalancer.server.port: "3903"