diff --git a/dns.yml b/dns.yml index 47331fe..f130945 100644 --- a/dns.yml +++ b/dns.yml @@ -39,6 +39,8 @@ ip: "152.53.36.98" - name: chat ip: "152.53.36.98" + - name: models + ip: "152.53.36.98" - name: nerder.land dns_records: - name: "forms" diff --git a/roles/docker/files/Caddyfile b/roles/docker/files/Caddyfile index f6c9b8b..ff9bfdf 100644 --- a/roles/docker/files/Caddyfile +++ b/roles/docker/files/Caddyfile @@ -84,6 +84,10 @@ social.thesatelliteoflove.com { reverse_proxy gotosocial:8080 } +models.thesatelliteoflove.com { + reverse_proxy manyfold-app-1:3214 +} + grist.thesatelliteoflove.com { reverse_proxy grist-grist-1:8484 } diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 648a92a..34e86ed 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -165,4 +165,8 @@ - name: Install appriseapi import_tasks: appriseapi.yml - tags: appriseapi \ No newline at end of file + tags: appriseapi + +- name: Install manyfold + import_tasks: manyfold.yml + tags: manyfold \ No newline at end of file diff --git a/roles/docker/tasks/manyfold.yml b/roles/docker/tasks/manyfold.yml new file mode 100644 index 0000000..78f122c --- /dev/null +++ b/roles/docker/tasks/manyfold.yml @@ -0,0 +1,29 @@ +- name: make manyfold directories + ansible.builtin.file: + path: "{{ item}}" + state: directory + loop: + - /opt/stacks/manyfold + +- name: make manyfold data directories + ansible.builtin.file: + path: "{{ item}}" + state: directory + owner: 1000 + group: 1000 + loop: + - /opt/stacks/manyfold/config + - /opt/stacks/manyfold/models + +- name: Template out the compose file + ansible.builtin.template: + src: manyfold-compose.yml.j2 + dest: /opt/stacks/manyfold/compose.yml + owner: root + mode: 644 + +- name: deploy manyfold stack + community.docker.docker_compose_v2: + project_src: /opt/stacks/manyfold + files: + - compose.yml \ No newline at end of file diff --git a/roles/docker/templates/glance-compose.yml.j2 b/roles/docker/templates/glance-compose.yml.j2 index 2cf2939..0a15c41 100644 --- a/roles/docker/templates/glance-compose.yml.j2 +++ b/roles/docker/templates/glance-compose.yml.j2 @@ -9,6 +9,7 @@ services: restart: unless-stopped extra_hosts: - 'thesatelliteoflove.com:172.20.0.5' + - 'watcher.thesatelliteoflove.com:172.20.0.5' networks: default: diff --git a/roles/docker/templates/glance.yml.j2 b/roles/docker/templates/glance.yml.j2 index a3e2631..cd8927e 100644 --- a/roles/docker/templates/glance.yml.j2 +++ b/roles/docker/templates/glance.yml.j2 @@ -30,11 +30,9 @@ pages: feeds: - url: https://9to5toys.com/steals/feed - url: https://hiro.report/rss/ - - type: videos - channels: - - UCR-DXc1voovS8nhAvccRZhg # Jeff Geerling - - UCv6J_jJa8GJqFwQNgNrMuww # ServeTheHome - - UCOk-gHyjcWZNj3Br4oxwh0A + - type: change-detection + instance-url: https://watcher.thesatelliteoflove.com + token: ac69ae11570548549d6706eac6dbb6a9 - type: docker-containers hide-by-default: false @@ -110,6 +108,7 @@ pages: - coder/code-server - dgtlmoon/changedetection.io - Freika/dawarich + - manyfold3d/manyfold - size: full widgets: - type: rss diff --git a/roles/docker/templates/manyfold-compose.yml.j2 b/roles/docker/templates/manyfold-compose.yml.j2 new file mode 100644 index 0000000..0435fac --- /dev/null +++ b/roles/docker/templates/manyfold-compose.yml.j2 @@ -0,0 +1,46 @@ +services: + app: + image: ghcr.io/manyfold3d/manyfold-solo:latest + volumes: + # Uncomment to add a volume where a database file should be created. + # Don't change the part after the colon, it needs to be at /config + - ./config:/config + # Uncomment to add a filesystem volume for your model library (or multiple if + # you want multiple libraries), in the form :. + # The local path could be a folder that already contains models, in which case Manyfold + # will scan and import them, or it could be empty. + # The container path can be anything; you will need to enter it in the "new library" form. + - ./models:/models + environment: + SECRET_KEY_BASE: {{manyfold_key}} + MULTIUSER: enabled + OIDC_CLIENT_ID: {{ manyfold_oidc_client_id }} + OIDC_CLIENT_SECRET: {{ manyfold_oidc_client_secret }} + OIDC_ISSUER: https://auth.thesatelliteoflove.com/application/o/manyfold/ + OIDC_NAME: Authentik + PUBLIC_HOSTNAME: models.thesatelliteoflove.com + PUID: 1000 + PGID: 1000 + extra_hosts: + - 'auth.thesatelliteoflove.com:172.20.0.5' + labels: + glance.name: Manyfold + glance.icon: si:open3d + glance.url: https://models.thesatelliteoflove.com/ + glance.description: STL Storage + restart: unless-stopped + # Optional, but recommended for better security + security_opt: + - no-new-privileges:true + cap_drop: + - ALL + cap_add: + - CHOWN + - DAC_OVERRIDE + - SETUID + - SETGID + +networks: + default: + external: true + name: lava \ No newline at end of file