No description
Find a file
2025-10-06 22:25:00 +00:00
defaults update common format, update defaults, test sso 2025-10-06 22:25:00 +00:00
meta initial hedgedoc deployment 2024-07-01 03:26:06 +00:00
tasks update common format, update defaults, test sso 2025-10-06 22:25:00 +00:00
.gitignore update common format, update defaults, test sso 2025-10-06 22:25:00 +00:00
README.md initial hedgedoc deployment 2024-07-01 03:26:06 +00:00

ansible-roles-hedgedoc

This role is designed to deploy uptime kuma as a standalone podman container

Task Configuration

Define hedgedoc_url, this will useful in conjunction with a proxy role such as traefik or nginx

Define hedgedoc_path if the container user has a custom homedir such as something under /srv..

There are several other values that should be defined and secured vial ansible vault

  • hedgedoc_db_pass
  • hedgedoc_mail_pass
- name: Setup proxy and service
  hosts: somehost
  become: true
  roles:
    - role: hedgedoc
      hedgedoc_url: hedgedoc.somehost.somewhere
      hedgedoc_enable_openid_signin: true
      hedgedoc_enable_openid_signup: true
      hedgedoc_mail_outgoing_enable: true
      hedgedoc_mail_outgoing_port: 587
      hedgedoc_mail_outgoing_host: mail.somehost.somewhere
      hedgedoc_mail_outgoing_user: git@somehost.somewhere
      hedgedoc_mail_outgoing_pass: "{{ hedgedoc_mail_pass }}"
      hedgedoc_mail_incoming_enabled: true
      hedgedoc_mail_incoming_tls: true
      hedgedoc_mail_incoming_reply_to: git+%{token}@somehost.somewhere
      hedgedoc_mail_incoming_host: mail.somehost.somewhere
      hedgedoc_mail_incoming_port: 143
      hedgedoc_mail_incoming_user: git@somehost.somewhere
      hedgedoc_mail_incoming_pass: "{{ hedgedoc_mail_pass }}"
    - role: traefik
      traefik_routes:
        - name: uptime
          host: "{{ uptime_url }}"
          srv: "{{ traefik_host_address }}:3001"
    - role: firewalld
      firewalld_add:
        - name: public
          services:
            - http
            - https
          forwards:
            - port: 80
              to: 8080
            - port: 443
              to: 8443

Deployment and Removal

Sometimes you need to manually stop the running containers to get a clean run when re-deploying Services must be stopped as the respecitve user or another means to aquire the correct user scope for systemd

systemctl --user stop container-traefik.service
systemctl --user stop container-hedgedoc.service

Deploy

ansible-playbook -i hosts site.yml --tags=firewalld,traefik,hedgedoc --limit=somehost

Remove

ansible-playbook -i hosts site.yml --tags=firewalld,traefik,hedgedoc --extra-vars "container_state=absent firewall_action=remove" --limit=somehost