gogs.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. - name: create group
  2. become: yes
  3. group:
  4. name: "{{ gogs_group }}"
  5. system: yes
  6. state: present
  7. - name: create user
  8. become: yes
  9. user:
  10. name: "{{ gogs_user }}"
  11. home: "{{ gogs_home }}"
  12. group: "{{ gogs_group }}"
  13. system: yes
  14. createhome: yes
  15. state: present
  16. - name: gogs prereqs
  17. become: yes
  18. apt: name={{item}} state=present update_cache=yes
  19. with_items:
  20. - openssh-server
  21. - git
  22. - name: download gogs binary package
  23. get_url:
  24. url: "{{ gogs_package_url }}"
  25. dest: "{{ gogs_archive }}"
  26. mode: 0644
  27. - name: create gogs repo dir if necessary
  28. become: yes
  29. file:
  30. dest: "{{ gogs_repo_dir }}"
  31. owner: "{{ gogs_user }}"
  32. group: "{{ gogs_group }}"
  33. mode: 0755
  34. state: directory
  35. - name: create gogs db dir if necessary
  36. become: yes
  37. file:
  38. dest: "{{ gogs_sqlite_path }}"
  39. owner: "{{ gogs_user }}"
  40. group: "{{ gogs_group }}"
  41. mode: 0755
  42. state: directory
  43. - name: unarchive install package
  44. become: yes
  45. unarchive:
  46. src: "{{ gogs_archive }}"
  47. dest: "{{ gogs_home }}"
  48. owner: "{{ gogs_user }}"
  49. group: "{{ gogs_group }}"
  50. copy: no
  51. - name: create gogs custom conf dir
  52. become: yes
  53. file:
  54. dest: "{{ gogs_home }}/gogs/custom/conf"
  55. owner: "{{ gogs_user }}"
  56. group: "{{ gogs_group }}"
  57. mode: 0755
  58. state: directory
  59. - name: Ensure gogs config is up to date
  60. become: yes
  61. template:
  62. src: app.ini.j2
  63. dest: "{{ gogs_config_file }}"
  64. owner: '{{ gogs_user }}'
  65. group: '{{ gogs_group }}'
  66. mode: 0640
  67. notify:
  68. - Restart gogs
  69. - name: Ensure gogs systemd unit is up to date
  70. register: gogssystend
  71. become: yes
  72. template:
  73. src: gogs.service.j2
  74. dest: /etc/systemd/system/service.gogs
  75. - name: Reload systemd
  76. when: gogssystend|changed
  77. shell: systemctl daemon-reload
  78. notify:
  79. - Restart gogs
  80. - name: Ensure gogs service is started and enabled
  81. service:
  82. name: gogs
  83. state: started
  84. enabled: yes