diff --git a/roles/gitea/tasks/enable.yml b/roles/gitea/tasks/enable.yml index 4261584b8..5bfd1d729 100644 --- a/roles/gitea/tasks/enable.yml +++ b/roles/gitea/tasks/enable.yml @@ -21,18 +21,30 @@ src: gitea.conf.j2 dest: "/etc/{{ apache_config_dir }}/gitea.conf" -- name: Enable httpd conf file (debuntu) +- name: Enable httpd conf file (apache) file: src: /etc/{{ apache_config_dir }}/gitea.conf dest: /etc/apache2/sites-enabled/gitea.conf state: link when: gitea_enabled and is_debuntu -- name: Remove httpd conf file (OS's other than debuntu) +- name: Remove apache httpd conf file (OS's other than debuntu) file: path: /etc/apache2/sites-enabled/gitea.conf state: absent - when: not gitea_enabled and is_debuntu + when: not gitea_enabled or nginx_enabled + +- name: Remove nginx httpd conf file + file: + path: /etc/nginx/conf.d/gitea-nginx.conf + state: absent + when: not gitea_enabled + +- name: Enable nginx httpd conf file + template: + src: gitea-nginx.conf.j2 + dest: /etc/nginx/conf.d/gitea-nginx.conf + when: gitea_enabled and nginx_enabled - name: >- Restart Apache ({{ apache_service }}) to {% if gitea_enabled %}enable{% diff --git a/roles/gitea/templates/gitea-nginx.conf.j2 b/roles/gitea/templates/gitea-nginx.conf.j2 new file mode 100644 index 000000000..2545a3f86 --- /dev/null +++ b/roles/gitea/templates/gitea-nginx.conf.j2 @@ -0,0 +1,3 @@ +location {{ gitea_url }}/ { + proxy_pass http://127.0.0.1:{{ gitea_port }}; +} diff --git a/roles/nginx/tasks/disable.yml b/roles/nginx/tasks/disable.yml index 12034202d..8ff87f1ba 100644 --- a/roles/nginx/tasks/disable.yml +++ b/roles/nginx/tasks/disable.yml @@ -10,6 +10,9 @@ #roles/sugarizer/tasks/install.yml: when: sugarizer_enabled | bool and not nginx_enabled | bool #roles/sugarizer/tasks/install.yml: when: sugarizer_enabled | bool and not nginx_enabled | bool +- name: Enable Gitea for Apache + command: a2ensite gitea.conf + - name: Enable Calibre-Web for Apache command: a2ensite calibre-web.conf diff --git a/roles/nginx/tasks/only_nginx.yml b/roles/nginx/tasks/only_nginx.yml index 088913946..127c357b8 100644 --- a/roles/nginx/tasks/only_nginx.yml +++ b/roles/nginx/tasks/only_nginx.yml @@ -108,4 +108,26 @@ file: path: /etc/nginx/conf.d/calibre-web-nginx.conf state: absent - when: not calibreweb_enabled | bool + when: not calibreweb_enabled + +- name: Remove symlink /etc/apache2/sites-enabled/gitea.conf + file: + path: /etc/apache2/sites-enabled/gitea.conf + state: absent + +- name: Install /etc/nginx/conf.d/gitea-nginx.conf + template: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + owner: root + group: root + mode: "{{ item.mode }}" + with_items: + - { src: 'roles/gitea/templates/gitea-nginx.conf.j2', dest: '/etc/nginx/conf.d/gitea-nginx.conf', mode: '0644' } + when: gitea_enabled + +- name: Remove nginx support for Gitea + file: + path: /etc/nginx/conf.d/gitea-nginx.conf + state: absent + when: not gitea_enabled diff --git a/roles/nginx/tasks/uses_apache.yml b/roles/nginx/tasks/uses_apache.yml index 97ef79bde..f24afcb49 100644 --- a/roles/nginx/tasks/uses_apache.yml +++ b/roles/nginx/tasks/uses_apache.yml @@ -7,6 +7,12 @@ mode: 0644 when: moodle_enabled +- name: Install /etc/nginx/conf.d/dokuwiki-nginx.conf from template + template: + src: dokuwiki-nginx.conf + dest: /etc/nginx/conf.d/dokuwiki-nginx.conf + when: dokuwiki_enabled + - name: Install /etc/nginx/conf.d/elgg-nginx.conf from template template: src: elgg-nginx.conf diff --git a/roles/nginx/templates/dokuwiki-nginx.conf b/roles/nginx/templates/dokuwiki-nginx.conf new file mode 100644 index 000000000..eb05289e5 --- /dev/null +++ b/roles/nginx/templates/dokuwiki-nginx.conf @@ -0,0 +1,3 @@ +location {{ dokuwiki_url }} { + proxy_pass http://127.0.0.1:{{ apache_port }}/{{ dokuwiki_url }}; +} diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 56f14f4a5..3807e7199 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -338,6 +338,7 @@ azuracast_port_range_prefix: 10 dokuwiki_install: False dokuwiki_enabled: False +dokuwiki_url: /wiki mediawiki_install: False mediawiki_enabled: False @@ -354,6 +355,8 @@ elgg_mysql_password: elgg4kids # Gitea (lightweight self-hosted "GitHub") from https://gitea.io gitea_install: False gitea_enabled: False +gitea_url: /gitea +gitea_port: 61734 # Lokole (email for rural communities) from https://ascoderu.ca lokole_install: False