diff --git a/group_vars/all/secrets.yml.contents b/group_vars/all/secrets.yml.contents index 4dd8754..6aab9ff 100644 --- a/group_vars/all/secrets.yml.contents +++ b/group_vars/all/secrets.yml.contents @@ -12,6 +12,7 @@ postgres_passwords: ttrss: xxx keycloak: xxx mastodon: xxx + rallly: xxx membersystem: xxx fider_jwt_secret: xxx @@ -49,5 +50,8 @@ mastodon_secrets: vapid_private_key: xxx vapid_public_key: xxx +rallly_secrets: + secret_password: xxx + membersystem_secrets: secret_key: xxx diff --git a/playbook.yml b/playbook.yml index 5d2e430..fe577fc 100644 --- a/playbook.yml +++ b/playbook.yml @@ -26,6 +26,7 @@ - mailu - portainer - mastodon + - rallly - membersystem smtp_host: "postfix" diff --git a/roles/docker/defaults/main.yml b/roles/docker/defaults/main.yml index 524cbb2..e890544 100644 --- a/roles/docker/defaults/main.yml +++ b/roles/docker/defaults/main.yml @@ -101,12 +101,17 @@ postfix: - "{{ passit.domain }}" - "{{ gitea.domain }}" - "{{ mastodon.domain }}" + - "{{ rallly.domain }}" - "{{ membersystem.domain }}" mastodon: domain: "social.{{ base_domain }}" volume_folder: "{{ volume_root_folder }}/mastodon" +rallly: + domain: "when.{{ base_domain }}" + volume_folder: "{{ volume_root_folder }}/rallly" + membersystem: domain: "member.{{ base_domain }}" django_admins: "Vidir:valberg@orn.li" @@ -114,4 +119,4 @@ membersystem: restic: user: "datacoop" domain: "restic.cannedtuna.org" - repository: "datacoop-hevonen" \ No newline at end of file + repository: "datacoop-hevonen" diff --git a/roles/docker/files/configs/rallly/env_file b/roles/docker/files/configs/rallly/env_file new file mode 100644 index 0000000..a3ec36a --- /dev/null +++ b/roles/docker/files/configs/rallly/env_file @@ -0,0 +1,9 @@ +NEXT_PUBLIC_BASE_URL="https://:{{ rallly.domain }}" +DATABASE_URL="postgres://postgres:{{ postgres_passwords.rallly }}@postgres:5432/rallly_db" +SECRET_PASSWORD="{{ rallly_secrets.secret_password }}" +SUPPORT_EMAIL="noreply@{{ rallly.domain }}" +SMTP_HOST="{{ smtp_host }}" +SMTP_PORT="{{ smtp_port }}" +SMTP_SECURE="false" +SMTP_USER= +SMTP_PWD= diff --git a/roles/docker/tasks/services/rallly.yml b/roles/docker/tasks/services/rallly.yml new file mode 100644 index 0000000..86c2555 --- /dev/null +++ b/roles/docker/tasks/services/rallly.yml @@ -0,0 +1,60 @@ +- name: Create rallly volume folders + file: + name: "{{ rallly.volume_folder }}/postgres" + state: directory + +- name: Copy Rallly environment file + template: + src: files/configs/rallly/env_file + dest: "{{ rallly.volume_folder }}/env_file" + +- name: Set up Rallly + docker_compose: + project_name: "rallly" + pull: "yes" + definition: + version: "3.8" + services: + postgres: + image: "postgres:14-alpine" + restart: "unless-stopped" + shm_size: "256mb" + networks: + rallly_internal: + volumes: + - "{{ rallly.volume_folder }}/postgres:/var/lib/postgresql/data" + environment: + POSTGRES_PASSWORD: "{{ postgres_passwords.rallly }}" + POSTGRES_DB: "rallly_db" + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 5s + timeout: 5s + retries: 5 + labels: + com.centurylinklabs.watchtower.enable: "true" + + rallly: + image: "lukevella/rallly:latest" + restart: "unless-stopped" + networks: + rallly_internal: + external_services: + postfix: + ports: + - "3000:3000" + depends_on: + rallly_db: + condition: "service_healthy" + env_file: + - "{{ rallly.volume_folder }}/env_file" + labels: + com.centurylinklabs.watchtower.enable: "true" + + networks: + rallly_internal: + internal: true + external_services: + external: true + postfix: + external: true