Ansible repo for digital ocean projects
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

122 lignes
3.3 KiB

  1. - hosts: mpdf
  2. gather_facts: true
  3. vars:
  4. mpdcount: 5
  5. path: /var/lib/mpd
  6. playlist_directory: /playlist/
  7. db_file: tag_cache
  8. log_dir: /var/log/
  9. log_file: mpd.log
  10. pid_file: pid
  11. state_file: state
  12. sticker_file: sticker
  13. user: mpd
  14. group: nogroup
  15. bind_to_address: "0.0.0.0"
  16. bind_address: "0.0.0.0"
  17. mpdport: 6600
  18. log_level: default
  19. gapless_mp3_playback: yes
  20. save_absolute_paths_in_playlists: yes
  21. metadata_to_use: artist,album,title,track,name,genre,date,composer,performer,disc
  22. auto_update: no
  23. auto_update_depth: 3
  24. follow_outside_symlinks: no
  25. follow_inside_symlinks: no
  26. zeroconf_enabled: no
  27. zeroconf_name: mpd
  28. default_permissions: read,add,control,admin
  29. stream: music
  30. stream_port: 6700
  31. stream_bind_address: "0.0.0.0"
  32. mixer_type: disabled
  33. replaygain: album
  34. replaygain_preamp: 0
  35. volume_normalization: no
  36. audio_buffer_size: 2048
  37. buffer_before_play: "1%"
  38. tasks:
  39. - name: Gather information about a specific droplet by name
  40. community.digitalocean.digital_ocean_droplet_info:
  41. oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
  42. name: mpdb1
  43. register: droplets
  44. #- name: Print return information from the previous task
  45. # ansible.builtin.debug:
  46. # msg : "{{ droplets.data[0] }}"
  47. - name: Install mpdf on hosts
  48. apt:
  49. name: mpd
  50. state: present
  51. - name: Install sshfs on hosts
  52. apt:
  53. name: sshfs
  54. state: present
  55. - name: setup config on hosts
  56. template:
  57. src: mpdf.conf.j2
  58. dest: "/etc/mpdf{{ item }}.conf"
  59. mode: 0644
  60. owner: root
  61. group: root
  62. loop: "{{ range(1,mpdcount|int + 1) }}"
  63. - name: mpdf var directory
  64. file:
  65. path: "/var/lib/mpd{{ item }}"
  66. state: directory
  67. owner: root
  68. group: root
  69. mode: '0777'
  70. loop: "{{ range(1,mpdcount|int + 1) }}"
  71. - name: mpdf playlist directory
  72. file:
  73. path: "/var/lib/mpd{{ item }}/playlist"
  74. state: directory
  75. owner: root
  76. group: root
  77. mode: '0755'
  78. loop: "{{ range(1,mpdcount|int + 1) }}"
  79. # - name: mpdf pid file
  80. # file:
  81. # path: "/var/lib/mpd{{ item }}/pid"
  82. # state: touch
  83. # owner: root
  84. # group: root
  85. # mode: '0755'
  86. #loop: "{{ range(1,count|int + 1) }}"
  87. - name: mpdf music directory
  88. file:
  89. path: "/var/lib/mpd{{ item }}/music"
  90. state: directory
  91. owner: root
  92. group: root
  93. mode: '0755'
  94. loop: "{{ range(1,mpdcount|int + 1) }}"
  95. - name: copy sticker.sql
  96. copy:
  97. src: "/var/lib/mpd/sticker.sql"
  98. dest: "/var/lib/mpd{{ item }}/sticker.sql"
  99. owner: root
  100. group: root
  101. mode: '0644'
  102. loop: "{{ range(1,mpdcount|int + 1) }}"
  103. - name: setup service on hosts
  104. template:
  105. src: mpdf.service.j2
  106. dest: "/usr/lib/systemd/system/mpdf{{ item }}.service"
  107. mode: 0644
  108. owner: root
  109. group: root
  110. loop: "{{ range(1,mpdcount|int + 1) }}"
  111. - name: mpd service start
  112. systemd:
  113. name: "mpdf{{ item }}"
  114. state: started
  115. enabled: yes
  116. masked: no
  117. daemon_reload: yes
  118. loop: "{{ range(1,mpdcount|int + 1) }}"