gogs.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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 cache_valid_time=86400
  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_dir }}"
  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/gogs.service
  75. - name: Reload systemd
  76. become: yes
  77. when: gogssystend|changed
  78. shell: systemctl daemon-reload
  79. notify:
  80. - Restart gogs
  81. - name: Ensure gogs service is started and enabled
  82. become: yes
  83. service:
  84. name: gogs
  85. state: started
  86. enabled: yes