diff --git a/ansible/main.yml b/ansible/main.yml index e00e9fb..969c2f6 100644 --- a/ansible/main.yml +++ b/ansible/main.yml @@ -79,6 +79,7 @@ - bsky - immich - freshrss + - atuin - hosts: ingress roles: diff --git a/ansible/roles/atuin/files/docker-compose.yml b/ansible/roles/atuin/files/docker-compose.yml new file mode 100644 index 0000000..28c7f60 --- /dev/null +++ b/ansible/roles/atuin/files/docker-compose.yml @@ -0,0 +1,34 @@ +services: + atuin: + image: ghcr.io/atuinsh/atuin:latest + restart: unless-stopped + command: server start + environment: + - TZ={{ timezone }} + - ATUIN_DB_URI=postgres://atuin:atuin@db/atuin + - ATUIN_HOST=0.0.0.0 + - RUST_LOG=info + - ATUIN_OPEN_REGISTRATION=false + labels: + - traefik.enable=true + - traefik.http.routers.atuin.rule=Host(`atuin.jakehoward.tech`) + - traefik.http.services.atuin-atuin.loadbalancer.server.port=8888 + - traefik.http.routers.atuin.middlewares=tailscale-only@file + depends_on: + - db + networks: + - default + - traefik + + db: + image: postgres:14-alpine + restart: unless-stopped + volumes: + - /mnt/speed/dbs/postgres/atuin:/var/lib/postgresql/data + environment: + - POSTGRES_PASSWORD=atuin + - POSTGRES_USER=atuin + +networks: + traefik: + external: true diff --git a/ansible/roles/atuin/handlers/main.yml b/ansible/roles/atuin/handlers/main.yml new file mode 100644 index 0000000..e827c23 --- /dev/null +++ b/ansible/roles/atuin/handlers/main.yml @@ -0,0 +1,4 @@ +- name: restart atuin + shell: + chdir: /opt/atuin + cmd: "{{ docker_update_command }}" diff --git a/ansible/roles/atuin/tasks/main.yml b/ansible/roles/atuin/tasks/main.yml new file mode 100644 index 0000000..d9e0cfa --- /dev/null +++ b/ansible/roles/atuin/tasks/main.yml @@ -0,0 +1,16 @@ +- name: Create install directory + file: + path: /opt/atuin + state: directory + owner: "{{ docker_user.name }}" + mode: "{{ docker_compose_directory_mask }}" + + +- name: Install compose file + template: + src: files/docker-compose.yml + dest: /opt/atuin/docker-compose.yml + mode: "{{ docker_compose_file_mask }}" + owner: "{{ docker_user.name }}" + validate: docker-compose -f %s config + notify: restart atuin diff --git a/terraform/jakehoward.tech.tf b/terraform/jakehoward.tech.tf index 559c914..d5bab0b 100644 --- a/terraform/jakehoward.tech.tf +++ b/terraform/jakehoward.tech.tf @@ -353,6 +353,16 @@ resource "gandi_livedns_record" "jakehowardtech_freshrss" { ] } +resource "gandi_livedns_record" "jakehowardtech_atuin" { + zone = data.gandi_livedns_domain.jakehowardtech.id + name = "atuin" + type = "CNAME" + ttl = 3600 + values = [ + "${gandi_livedns_record.sys_domain_pve_private.name}.${gandi_livedns_record.sys_domain_pve_private.zone}." + ] +} + resource "gandi_livedns_record" "jakehowardtech_caa" { zone = data.gandi_livedns_domain.jakehowardtech.id name = "@"