main.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. ---
  2. - name: Install fdroid server
  3. become: yes
  4. register: install_fdroid
  5. apt:
  6. pkg:
  7. - python3-pip
  8. - fdroidserver
  9. - name: Install gplaycli
  10. become: yes
  11. register: install_gplaycli
  12. pip:
  13. name: gplaycli
  14. - name: check for fdroid user
  15. user:
  16. name: "{{ fdroid_user }}"
  17. home: "{{ fdroid_base_dir }}"
  18. state: present
  19. - name: Create directories
  20. file:
  21. path: "{{ item }}"
  22. state: directory
  23. owner: "{{ fdroid_user }}"
  24. mode: 0775
  25. with_items:
  26. - "{{ fdroid_base_dir }}"
  27. - "{{ fdroid_android_dir }}"
  28. - "{{ fdroid_repo_dir }}"
  29. - "{{ fdroid_utils_dir }}"
  30. - "{{ fdroid_repo_dir }}/repo"
  31. - "{{ fdroid_html_dir }}"
  32. - name: Unarchive android sdk
  33. become: yes
  34. become_user: "{{ fdroid_user }}"
  35. register: download_sdk
  36. ansible.builtin.unarchive:
  37. src: https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
  38. dest: "{{ fdroid_android_dir }}"
  39. remote_src: yes
  40. - name: Initialize android sdk
  41. become: yes
  42. become_user: "{{ fdroid_user }}"
  43. register: download_build_tools
  44. shell: 'yes | {{ fdroid_android_dir }}/cmdline-tools/bin/sdkmanager --sdk_root="$ANDROID_HOME" platform-tools "build-tools;30.0.3"'
  45. environment:
  46. ANDROID_HOME: "{{ fdroid_android_dir }}/android-sdk-linux"
  47. tags: ['skip_ansible_lint']
  48. - name: Upload settings
  49. template:
  50. src: config.py.j2
  51. dest: "{{ fdroid_repo_dir }}/config.py"
  52. owner: "{{ fdroid_user }}"
  53. mode: 0600
  54. - name: Upload cisti img
  55. copy:
  56. src: files/cisti.png
  57. dest: "{{ fdroid_repo_dir }}/cisti.png"
  58. owner: "{{ fdroid_user }}"
  59. mode: 0660
  60. - name: Local decrypt keystore
  61. delegate_to: localhost
  62. shell: "pass show cisti.org/ansible/fdroid/keystore > /tmp/cisti.keystore"
  63. tags: ['skip_ansible_lint']
  64. - name: Upload keystore
  65. copy:
  66. src: /tmp/cisti.keystore
  67. dest: "{{ fdroid_repo_dir }}/cisti.keystore"
  68. owner: "{{ fdroid_user }}"
  69. mode: 0600
  70. - name: Remove file (delete file)
  71. delegate_to: localhost
  72. file:
  73. path: /tmp/cisti.keystore
  74. state: absent
  75. - name: Upload apk list
  76. copy:
  77. src: files/applist
  78. dest: "{{ fdroid_base_dir }}/apklist"
  79. owner: "{{ fdroid_user }}"
  80. mode: 0660
  81. - name: Upload apk-dl
  82. copy:
  83. src: files/apk-dl
  84. dest: "{{ fdroid_utils_dir }}/apk-dl"
  85. owner: "{{ fdroid_user }}"
  86. mode: 0700
  87. - name: Upload service for apk poller
  88. template:
  89. src: fdroid.service.j2
  90. dest: /etc/systemd/system/fdroid.service
  91. owner: "{{ fdroid_user }}"
  92. mode: 0660
  93. - name: Upload timer for apk poller
  94. template:
  95. src: fdroid.timer.j2
  96. dest: /etc/systemd/system/fdroid.timer
  97. owner: "{{ fdroid_user }}"
  98. mode: 0660
  99. - name: Make sure apk poller is running
  100. systemd:
  101. state: restarted
  102. daemon_reload: yes
  103. name: fdroid
  104. - name: Link repo into public dir
  105. file:
  106. src: "{{ fdroid_repo_dir }}/repo"
  107. path: "{{ fdroid_html_dir }}/repo"
  108. state: link
  109. owner: "{{ fdroid_user }}"