aethernal-agent 0.2.0 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING +674 -0
  3. data/Gemfile.lock +38 -33
  4. data/README.md +3 -32
  5. data/Vagrantfile +10 -2
  6. data/aethernal-agent.gemspec +4 -1
  7. data/bin/install-aa +121 -0
  8. data/bin/run-aa-for-test +1 -1
  9. data/exe/aa-cli +7 -0
  10. data/lib/aethernal_agent.rb +10 -0
  11. data/lib/aethernal_agent/apache/apache.rb +8 -5
  12. data/lib/aethernal_agent/apache/templates/aa-default.conf +2 -0
  13. data/lib/aethernal_agent/apache/templates/aa-user.conf.erb +2 -0
  14. data/lib/aethernal_agent/app.rb +82 -22
  15. data/lib/aethernal_agent/apt.rb +17 -6
  16. data/lib/aethernal_agent/cli/core.rb +11 -0
  17. data/lib/aethernal_agent/cli/services.rb +56 -0
  18. data/lib/aethernal_agent/docker/container_settings.rb +33 -0
  19. data/lib/aethernal_agent/docker/env.rb +33 -0
  20. data/lib/aethernal_agent/docker/port_binding.rb +32 -0
  21. data/lib/aethernal_agent/docker/volume.rb +28 -0
  22. data/lib/aethernal_agent/filesystem.rb +2 -1
  23. data/lib/aethernal_agent/loader.rb +3 -3
  24. data/lib/aethernal_agent/operation.rb +1 -1
  25. data/lib/aethernal_agent/plugins/bazarr/bazarr.rb +57 -0
  26. data/lib/aethernal_agent/plugins/bazarr/files/bazarr.service +16 -0
  27. data/lib/aethernal_agent/plugins/bazarr/manifest.yml +64 -0
  28. data/lib/aethernal_agent/plugins/bazarr/meta/bazarr.png +0 -0
  29. data/lib/aethernal_agent/plugins/bazarr/templates/bazarr.apache.conf.erb +5 -0
  30. data/lib/aethernal_agent/plugins/bazarr/templates/config.ini.erb +135 -0
  31. data/lib/aethernal_agent/plugins/cardigann/cardigann.rb +45 -0
  32. data/lib/aethernal_agent/plugins/cardigann/files/cardigann.service +13 -0
  33. data/lib/aethernal_agent/plugins/cardigann/manifest.yml +36 -0
  34. data/lib/aethernal_agent/plugins/cardigann/meta/cardigann.png +0 -0
  35. data/lib/aethernal_agent/plugins/cardigann/templates/cardigann.apache.conf.erb +6 -0
  36. data/lib/aethernal_agent/plugins/cardigann/templates/config.json.erb +7 -0
  37. data/lib/aethernal_agent/plugins/couchpotato/couchpotato.rb +45 -0
  38. data/lib/aethernal_agent/plugins/couchpotato/files/couchpotato.service +13 -0
  39. data/lib/aethernal_agent/plugins/couchpotato/manifest.yml +37 -0
  40. data/lib/aethernal_agent/plugins/couchpotato/meta/couchpotato.png +0 -0
  41. data/lib/aethernal_agent/plugins/couchpotato/templates/couchpotato.apache.conf.erb +4 -0
  42. data/lib/aethernal_agent/plugins/couchpotato/templates/settings.conf.erb +585 -0
  43. data/lib/aethernal_agent/plugins/deluge/deluge.rb +5 -0
  44. data/lib/aethernal_agent/plugins/deluge/manifest.yml +2 -2
  45. data/lib/aethernal_agent/plugins/deluge/templates/core.conf.erb +1 -1
  46. data/lib/aethernal_agent/plugins/deluge/templates/deluge-web.service.erb +1 -1
  47. data/lib/aethernal_agent/plugins/deluge/templates/deluge.apache.conf.erb +0 -1
  48. data/lib/aethernal_agent/plugins/deluge/templates/deluged.service.erb +1 -1
  49. data/lib/aethernal_agent/plugins/deluge/templates/ltconfig.conf.erb +21 -0
  50. data/lib/aethernal_agent/plugins/filebrowser/manifest.yml +1 -1
  51. data/lib/aethernal_agent/plugins/gitea/manifest.yml +1 -1
  52. data/lib/aethernal_agent/plugins/jackett/files/jackett.service +15 -0
  53. data/lib/aethernal_agent/plugins/jackett/jackett.rb +49 -0
  54. data/lib/aethernal_agent/plugins/jackett/manifest.yml +54 -0
  55. data/lib/aethernal_agent/plugins/jackett/meta/jackett.png +0 -0
  56. data/lib/aethernal_agent/plugins/jackett/templates/ServerConfig.json.erb +8 -0
  57. data/lib/aethernal_agent/plugins/jackett/templates/jackett.apache.conf.erb +5 -0
  58. data/lib/aethernal_agent/plugins/jdownloader/files/jdownloader.service +13 -0
  59. data/lib/aethernal_agent/plugins/jdownloader/jdownloader.rb +38 -0
  60. data/lib/aethernal_agent/plugins/jdownloader/manifest.yml +53 -0
  61. data/lib/aethernal_agent/plugins/jdownloader/meta/jdownloader.png +0 -0
  62. data/lib/aethernal_agent/plugins/jdownloader/templates/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json.erb +5 -0
  63. data/lib/aethernal_agent/plugins/medusa/files/medusa.service +13 -0
  64. data/lib/aethernal_agent/plugins/medusa/manifest.yml +54 -0
  65. data/lib/aethernal_agent/plugins/medusa/medusa.rb +47 -0
  66. data/lib/aethernal_agent/plugins/medusa/meta/medusa.png +0 -0
  67. data/lib/aethernal_agent/plugins/medusa/templates/config.ini.erb +1308 -0
  68. data/lib/aethernal_agent/plugins/medusa/templates/medusa.apache.conf.erb +12 -0
  69. data/lib/aethernal_agent/plugins/nextcloud/manifest.yml +54 -0
  70. data/lib/aethernal_agent/plugins/nextcloud/meta/nextcloud.png +0 -0
  71. data/lib/aethernal_agent/plugins/nextcloud/nextcloud.rb +44 -0
  72. data/lib/aethernal_agent/plugins/nextcloud/templates/nextcloud.apache.conf.erb +4 -0
  73. data/lib/aethernal_agent/plugins/nzbget/files/nzbget.service +13 -0
  74. data/lib/aethernal_agent/plugins/nzbget/manifest.yml +54 -0
  75. data/lib/aethernal_agent/plugins/nzbget/meta/nzbget.png +0 -0
  76. data/lib/aethernal_agent/plugins/nzbget/nzbget.rb +44 -0
  77. data/lib/aethernal_agent/plugins/nzbget/templates/nzbget.apache.conf.erb +5 -0
  78. data/lib/aethernal_agent/plugins/nzbget/templates/nzbget.conf.erb +1508 -0
  79. data/lib/aethernal_agent/plugins/olaris/manifest.yml +1 -1
  80. data/lib/aethernal_agent/plugins/ombi/manifest.yml +5 -2
  81. data/lib/aethernal_agent/plugins/ombi/ombi.rb +59 -22
  82. data/lib/aethernal_agent/plugins/ombi/templates/ombi.apache.conf.erb +3 -4
  83. data/lib/aethernal_agent/plugins/ombi/templates/ombi.service.erb +2 -2
  84. data/lib/aethernal_agent/plugins/plex-docker/manifest.yml +74 -0
  85. data/lib/aethernal_agent/plugins/plex-docker/meta/plex.png +0 -0
  86. data/lib/aethernal_agent/plugins/plex-docker/plex_docker.rb +39 -0
  87. data/lib/aethernal_agent/plugins/plex-docker/templates/Preferences.xml.erb +2 -0
  88. data/lib/aethernal_agent/plugins/plex-docker/templates/plex_docker.apache.conf.erb +21 -0
  89. data/lib/aethernal_agent/plugins/plex-docker/templates/plex_docker.service.erb +10 -0
  90. data/lib/aethernal_agent/plugins/plex/files/plex.service +1 -1
  91. data/lib/aethernal_agent/plugins/plex/manifest.yml +6 -5
  92. data/lib/aethernal_agent/plugins/plex/plex.rb +2 -4
  93. data/lib/aethernal_agent/plugins/plex/templates/Preferences.xml.erb +1 -1
  94. data/lib/aethernal_agent/plugins/plex/templates/plex.apache.conf.erb +21 -0
  95. data/lib/aethernal_agent/plugins/portainer/manifest.yml +50 -0
  96. data/lib/aethernal_agent/plugins/portainer/meta/portainer.png +0 -0
  97. data/lib/aethernal_agent/plugins/portainer/portainer.rb +38 -0
  98. data/lib/aethernal_agent/plugins/portainer/templates/portainer.apache.conf.erb +7 -0
  99. data/lib/aethernal_agent/plugins/portainer/templates/portainer.service.erb +10 -0
  100. data/lib/aethernal_agent/plugins/radarr/files/radarr.service +2 -2
  101. data/lib/aethernal_agent/plugins/radarr/manifest.yml +7 -13
  102. data/lib/aethernal_agent/plugins/radarr/radarr.rb +24 -18
  103. data/lib/aethernal_agent/plugins/radarr/templates/radarr.apache.conf.erb +3 -4
  104. data/lib/aethernal_agent/plugins/resilio_docker/manifest.yml +59 -0
  105. data/lib/aethernal_agent/plugins/resilio_docker/meta/resilio.png +0 -0
  106. data/lib/aethernal_agent/plugins/resilio_docker/resilio_docker.rb +29 -0
  107. data/lib/aethernal_agent/plugins/resilio_docker/templates/resilio_docker.apache.conf.erb +11 -0
  108. data/lib/aethernal_agent/plugins/resilio_docker/templates/resilio_docker.conf.erb +38 -0
  109. data/lib/aethernal_agent/plugins/resilio_docker/templates/resilio_docker.service.erb +10 -0
  110. data/lib/aethernal_agent/plugins/rutorrent/manifest.yml +84 -0
  111. data/lib/aethernal_agent/plugins/rutorrent/meta/rtorrent.png +0 -0
  112. data/lib/aethernal_agent/plugins/rutorrent/rutorrent.rb +41 -0
  113. data/lib/aethernal_agent/plugins/rutorrent/templates/rtorrent.rc.erb +69 -0
  114. data/lib/aethernal_agent/plugins/rutorrent/templates/rutorrent.apache.conf.erb +13 -0
  115. data/lib/aethernal_agent/plugins/rutorrent/templates/rutorrent.service.erb +10 -0
  116. data/lib/aethernal_agent/plugins/sabnzbd/files/sabnzbd.service +13 -0
  117. data/lib/aethernal_agent/plugins/sabnzbd/manifest.yml +43 -0
  118. data/lib/aethernal_agent/plugins/sabnzbd/meta/sabnzbd.png +0 -0
  119. data/lib/aethernal_agent/plugins/sabnzbd/sabnzbd.rb +47 -0
  120. data/lib/aethernal_agent/plugins/sabnzbd/templates/sabnzbd.apache.conf.erb +4 -0
  121. data/lib/aethernal_agent/plugins/sabnzbd/templates/sabnzbd.ini.erb +188 -0
  122. data/lib/aethernal_agent/plugins/sickchill/files/sickchill.service +13 -0
  123. data/lib/aethernal_agent/plugins/sickchill/manifest.yml +58 -0
  124. data/lib/aethernal_agent/plugins/sickchill/meta/sickchill.png +0 -0
  125. data/lib/aethernal_agent/plugins/sickchill/sickchill.rb +49 -0
  126. data/lib/aethernal_agent/plugins/sickchill/templates/config.ini.erb +1078 -0
  127. data/lib/aethernal_agent/plugins/sickchill/templates/sickchill.apache.conf.erb +4 -0
  128. data/lib/aethernal_agent/plugins/sonarr/files/sonarr.service +1 -1
  129. data/lib/aethernal_agent/plugins/sonarr/manifest.yml +3 -2
  130. data/lib/aethernal_agent/plugins/sonarr/templates/sonarr.apache.conf.erb +3 -4
  131. data/lib/aethernal_agent/plugins/syncthing/files/syncthing.service +18 -0
  132. data/lib/aethernal_agent/plugins/syncthing/manifest.yml +38 -0
  133. data/lib/aethernal_agent/plugins/syncthing/meta/syncthing.png +0 -0
  134. data/lib/aethernal_agent/plugins/syncthing/syncthing.rb +33 -0
  135. data/lib/aethernal_agent/plugins/syncthing/templates/config.xml.erb +56 -0
  136. data/lib/aethernal_agent/plugins/syncthing/templates/syncthing.apache.conf.erb +7 -0
  137. data/lib/aethernal_agent/plugins/tautulli/files/tautulli.service +13 -0
  138. data/lib/aethernal_agent/plugins/tautulli/manifest.yml +40 -0
  139. data/lib/aethernal_agent/plugins/tautulli/meta/tautulli.png +0 -0
  140. data/lib/aethernal_agent/plugins/tautulli/tautulli.rb +45 -0
  141. data/lib/aethernal_agent/plugins/tautulli/templates/config.ini.erb +222 -0
  142. data/lib/aethernal_agent/plugins/tautulli/templates/tautulli.apache.conf.erb +5 -0
  143. data/lib/aethernal_agent/plugins/vnc/manifest.yml +3 -2
  144. data/lib/aethernal_agent/systemd.rb +19 -13
  145. data/lib/aethernal_agent/utils.rb +85 -6
  146. data/lib/aethernal_agent/version.rb +1 -1
  147. data/lib/aethernal_agent/webserver/api.rb +1 -1
  148. data/lib/aethernal_agent/webserver/core.rb +1 -1
  149. metadata +154 -7
@@ -0,0 +1,69 @@
1
+ # Network port
2
+ network.port_range.set = <%= @connection_port %>-<%= @connection_port %>
3
+
4
+ # Maximum and minimum number of peers to connect to per torrent
5
+ throttle.min_peers.normal.set = 1
6
+ throttle.max_peers.normal.set = 150
7
+
8
+ # Same as above but for seeding completed torrents (-1 = same as downloading)
9
+ throttle.min_peers.seed.set = 1
10
+ throttle.max_peers.seed.set = 150
11
+
12
+ # Maximum number of simultanious uploads per torrent
13
+ throttle.max_uploads.set = 35
14
+
15
+ # Global upload and download rate in KiB. "0" for unlimited
16
+ throttle.global_down.max_rate.set_kb = 0
17
+ throttle.global_up.max_rate.set_kb = 0
18
+
19
+ # XMLRPC size limit
20
+ network.xmlrpc.size_limit.set = 4M
21
+
22
+ # Enable DHT support for trackerless torrents or when all trackers are down
23
+ # May be set to "disable" (completely disable DHT), "off" (do not start DHT),
24
+ # "auto" (start and stop DHT as needed), or "on" (start DHT immediately)
25
+ dht.mode.set = auto
26
+
27
+ # Enable peer exchange (for torrents not marked private)
28
+ protocol.pex.set = yes
29
+
30
+ # Check hash for finished torrents. Might be usefull until the bug is
31
+ # fixed that causes lack of diskspace not to be properly reported
32
+ pieces.hash.on_completion.set = yes
33
+
34
+ # Set whether the client should try to connect to UDP trackers
35
+ #trackers.use_udp.set = yes
36
+
37
+ # Set the max amount of memory address space used to mapping file chunks. This refers to memory mapping, not
38
+ # physical memory allocation. Default: 1GB (max_memory_usage)
39
+ # This may also be set using ulimit -m where 3/4 will be allocated to file chunks
40
+ #pieces.memory.max.set = 1GB
41
+
42
+ # Alternative calls to bind and ip that should handle dynamic ip's
43
+ #schedule2 = ip_tick,0,1800,ip=rakshasa
44
+ #schedule2 = bind_tick,0,1800,bind=rakshasa
45
+
46
+ # Encryption options, set to none (default) or any combination of the following:
47
+ # allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
48
+ protocol.encryption.set = allow_incoming,try_outgoing,enable_retry
49
+
50
+ # Set the umask for this process, which is applied to all files created by the program
51
+ system.umask.set = 0022
52
+
53
+ # Add a preferred filename encoding to the list
54
+ encoding.add = UTF-8
55
+
56
+ # Watch a directory for new torrents, and stop those that have been deleted
57
+ schedule2 = watch_directory, 1, 1, (cat,"load.start=",(cfg.watch),"*.torrent")
58
+ schedule2 = untied_directory, 5, 5, (cat,"stop_untied=",(cfg.watch),"*.torrent")
59
+
60
+ # Close torrents when diskspace is low
61
+ schedule2 = monitor_diskspace, 15, 60, ((close_low_diskspace,1000M))
62
+
63
+ # Move finished (no need Autotools/Automove plugin on ruTorrent)
64
+ method.insert = d.get_finished_dir, simple, "cat=$cfg.download_complete=,$d.custom1="
65
+ method.insert = d.move_to_complete, simple, "d.directory.set=$argument.1=; execute=mkdir,-p,$argument.1=; execute=mv,-u,$argument.0=,$argument.1=; d.save_full_session="
66
+ method.set_key = event.download.finished,move_complete,"d.move_to_complete=$d.data_path=,$d.get_finished_dir="
67
+
68
+ # Erase data when torrent deleted (no need erasedata plugin on ruTorrent)
69
+ method.set_key = event.download.erased,delete_erased,"execute=rm,-rf,--,$d.data_path="
@@ -0,0 +1,13 @@
1
+ redirect "/rutorrent" "/rutorrent/"
2
+
3
+ <Location /rutorrent/>
4
+ ProxyPass http://localhost:<%= @port %>/
5
+ ProxyPassReverse http://localhost:<%= @port %>/
6
+ Require all granted
7
+ </Location>
8
+
9
+ <Location /rutorrent/webdav>
10
+ ProxyPass http://localhost:<%= @web_dav_port %>/
11
+ ProxyPassReverse http://localhost:<%= @web_dav_port %>/
12
+ Require all granted
13
+ </Location>
@@ -0,0 +1,10 @@
1
+ [Unit]
2
+ Description=ruTorrent
3
+ Wants=network-online.target
4
+
5
+ [Service]
6
+ ExecStart=/usr/bin/docker start -a <%= @container_name %>
7
+ ExecStop=/usr/bin/docker stop -t 10 <%= @container_name %>
8
+
9
+ [Install]
10
+ WantedBy=default.target
@@ -0,0 +1,13 @@
1
+ [Unit]
2
+ Description=Sabnzbd
3
+ After=syslog.target network.target
4
+
5
+ [Service]
6
+ Type=simple
7
+ ExecStart=%h/apps/sabnzbd/SABnzbd.py --config-file=%h/.config/sabnzbd/sabnzbd.ini
8
+ TimeoutStopSec=20
9
+ KillMode=process
10
+ Restart=on-failure
11
+
12
+ [Install]
13
+ WantedBy=default.target
@@ -0,0 +1,43 @@
1
+ name: Sabnzbd
2
+ script_name: sabnzbd.rb
3
+ version: 0.1
4
+ required_aethernal_agent_version: ">= 0.2.0"
5
+ description: Free and easy binary newsreader
6
+ installation_type: global_install
7
+ configuration_type: multi_user
8
+ plain_name: sabnzbd
9
+ built_in_updater: false
10
+ icon:
11
+ name: sabnzbd.png
12
+ sha256sum: de9c0cc3c3d084a7d20a8da199d630b2d378e9b6971918c180b8b15f3504913d
13
+ apache_configuration: sabnzbd.apache.conf.erb
14
+ services:
15
+ - sabnzbd
16
+ actions:
17
+ configure_app_user:
18
+ password:
19
+ required: false
20
+ auto_generate: true
21
+ port:
22
+ auto_generate_port: true
23
+ user:
24
+ required: true
25
+ linux_user: true
26
+ display_values:
27
+ - user
28
+ - password
29
+ estimated_size_mb: 12
30
+ package:
31
+ folder_name: 'sabnzbd-3.1.0'
32
+ direct_download:
33
+ url: https://github.com/sabnzbd/sabnzbd/releases/download/3.1.0/SABnzbd-3.1.0-src.tar.gz
34
+ target_name: SABnzbd-3.1.0-src.tar.gz
35
+ auto_extract: true
36
+ always_latest: false
37
+ apt:
38
+ "1804":
39
+ packages:
40
+ - python3
41
+ - python3-pip
42
+ - python3-feedparser
43
+ - python3-cherrypy3
@@ -0,0 +1,47 @@
1
+ class AethernalAgent::Sabnzbd < AethernalAgent::App
2
+ def initialize(options = {})
3
+ super(options)
4
+ end
5
+
6
+ def install_packages(options = {})
7
+ remove_app_user
8
+ super(options)
9
+ run_command("sudo pip3 install Cheetah3")
10
+ run_command("sudo pip3 install portend")
11
+ FileUtils.mv(app_path + "/SABnzbd-3.1.0/", home_folder_path("/apps/") + "/sabnzbd")
12
+ directory(app_path, action: :delete)
13
+ end
14
+
15
+ def remove_app_user(options = {})
16
+ super(options) do |opts|
17
+ directory(home_folder_path("/apps/sabnzbd"), action: :delete)
18
+ directory(home_folder_path("/.config/sabnzbd"), action: :delete)
19
+ end
20
+ end
21
+
22
+ def configure_app_user(options = {})
23
+ self.install_packages(options)
24
+
25
+ super(options) do |opts|
26
+ @vars = {
27
+ port: opts['port'],
28
+ https_port: random_port(2000..8000),
29
+ password: opts['password'],
30
+ user: self.user}
31
+
32
+ write_template(template_path('sabnzbd.ini.erb'),
33
+ sabnzbd_config_path('sabnzbd.ini'),
34
+ @vars,
35
+ {owner: self.user})
36
+ end
37
+
38
+ return create_return_args(@vars)
39
+ end
40
+
41
+ protected
42
+
43
+ def sabnzbd_config_path(path ="/")
44
+ File.join(home_folder_path(".config/sabnzbd"), path)
45
+ end
46
+
47
+ end
@@ -0,0 +1,4 @@
1
+ <Location /sabnzbd>
2
+ ProxyPass http://127.0.0.1:<%= @port %>/sabnzbd
3
+ ProxyPassReverse http://127.0.0.1:<%= @port %>/sabnzbd
4
+ </Location>
@@ -0,0 +1,188 @@
1
+ __version__ = 19
2
+ [misc]
3
+ port = <%= @port %>
4
+ win_menu = 1
5
+ queue_complete = ""
6
+ https_port = <%= @https_port %>
7
+ folder_rename = 1
8
+ allow_64bit_tools = 1
9
+ local_range = ""
10
+ password_file = ""
11
+ movie_rename_limit = 100M
12
+ ionice = ""
13
+ https_key = server.key
14
+ cleanup_list = ,
15
+ cache_limit = ""
16
+ ignore_unrar_dates = 0
17
+ par_option = ""
18
+ web_color = Gold
19
+ enable_recursive = 1
20
+ pre_check = 0
21
+ replace_spaces = 0
22
+ web_color2 = ""
23
+ dirscan_speed = 5
24
+ enable_filejoin = 1
25
+ create_group_folders = 0
26
+ never_repair = 0
27
+ no_penalties = 0
28
+ osx_speed = 1
29
+ bandwidth_limit = 0
30
+ dirscan_dir = ""
31
+ disable_api_key = 0
32
+ quota_period = m
33
+ email_to = ,
34
+ rss_filenames = 0
35
+ password = "<%= @password %>"
36
+ permissions = ""
37
+ quota_day = ""
38
+ auto_disconnect = 1
39
+ use_pickle = 0
40
+ https_chain = ""
41
+ warn_empty_nzb = 1
42
+ history_limit = 50
43
+ enable_date_sorting = 0
44
+ replace_dots = 0
45
+ movie_sort_extra = -cd%1
46
+ quota_size = ""
47
+ rss_rate = 60
48
+ enable_unzip = 1
49
+ download_free = ""
50
+ enable_movie_sorting = 0
51
+ wait_ext_drive = 5
52
+ pre_script = None
53
+ ipv6_servers = 1
54
+ email_full = 0
55
+ log_dir = logs
56
+ show_sysload = 2
57
+ admin_dir = admin
58
+ nzb_backup_dir = ""
59
+ tv_sort_countries = 1
60
+ date_categories = tv,
61
+ ssl_type = v23
62
+ sfv_check = 1
63
+ date_sort_string = ""
64
+ schedlines = ,
65
+ host = "0.0.0.0"
66
+ ignore_samples = 0
67
+ sanitize_safe = 0
68
+ req_completion_rate = 100.2
69
+ enable_tsjoin = 1
70
+ auto_browser = 0
71
+ fsys_type = 0
72
+ pause_on_post_processing = 0
73
+ allow_incomplete_nzb = 0
74
+ uniconfig = 1
75
+ enable_unrar = 1
76
+ randomize_server_ip = 0
77
+ email_rss = 0
78
+ email_account = ""
79
+ email_server = ""
80
+ allow_streaming = 0
81
+ config_lock = 0
82
+ quota_resume = 0
83
+ api_warnings = 1
84
+ wait_for_dfolder = 0
85
+ tv_sort_string = ""
86
+ fail_hopeless = 0
87
+ movie_extra_folder = 0
88
+ unpack_check = 1
89
+ no_ipv6 = 0
90
+ download_dir = sabnzbd/incomplete
91
+ size_limit = 0
92
+ enable_par_cleanup = 1
93
+ safe_postproc = 1
94
+ cache_dir = cache
95
+ complete_dir = sabnzbd/complete
96
+ replace_illegal = 1
97
+ nomedia_marker = ""
98
+ max_art_opt = 0
99
+ par2_multicore = 1
100
+ warned_old_queue = 0
101
+ language = en
102
+ check_new_rel = 1
103
+ enable_https = 1
104
+ no_dupes = 0
105
+ keep_awake = 1
106
+ top_only = 0
107
+ quick_check = 1
108
+ movie_sort_string = ""
109
+ email_from = ""
110
+ max_art_tries = 3
111
+ osx_menu = 1
112
+ username = <%= @user %>
113
+ email_endjob = 0
114
+ tv_categories = ,
115
+ rss_odd_titles = nzbindex.nl/, nzbindex.com/, nzbclub.com/
116
+ pause_on_pwrar = 1
117
+ login_realm = SABnzbd
118
+ send_group = 0
119
+ refresh_rate = 0
120
+ prio_sort_list = ,
121
+ movie_categories = movies,
122
+ script_dir = ""
123
+ email_pwd = ""
124
+ empty_postproc = 0
125
+ ignore_wrong_unrar = 0
126
+ nice = ""
127
+ email_dir = ""
128
+ https_cert = server.cert
129
+ web_dir2 = ""
130
+ web_dir = Plush
131
+ web_watchdog = 0
132
+ fail_on_crc = 1
133
+ auto_sort = 0
134
+ ampm = 0
135
+ start_paused = 0
136
+ overwrite_files = 0
137
+ queue_complete_pers = 0
138
+ enable_tv_sorting = 0
139
+ folder_max_length = 256
140
+ [growl]
141
+ ntfosd_enable = 1
142
+ growl_enable = 0
143
+ growl_server = ""
144
+ notify_classes = startup, download, pp, complete, other
145
+ ncenter_enable = 0
146
+ growl_password = ""
147
+ [logging]
148
+ log_new = 0
149
+ max_log_size = 5242880
150
+ log_level = 1
151
+ log_backups = 5
152
+ enable_cherrypy_logging = 0
153
+ [nzbmatrix]
154
+ username = ""
155
+ apikey = ""
156
+ del_bookmark = 1
157
+ [newzbin]
158
+ username = ""
159
+ url = www.newzbin2.es
160
+ bookmark_rate = 60
161
+ bookmarks = 0
162
+ password = ""
163
+ unbookmark = 1
164
+ [nzbxxx]
165
+ username = ""
166
+ apikey = ""
167
+ [servers]
168
+ [[news.giganews.com]]
169
+ username = ""
170
+ enable = 0
171
+ name = news.giganews.com
172
+ fillserver = 0
173
+ connections = 8
174
+ ssl = 0
175
+ host = news.giganews.com
176
+ timeout = 120
177
+ password = ""
178
+ optional = 0
179
+ port = 119
180
+ retention = 0
181
+ [categories]
182
+ [[*]]
183
+ priority = 0
184
+ pp = 3
185
+ name = *
186
+ script = None
187
+ newzbin = ""
188
+ dir = ""
@@ -0,0 +1,13 @@
1
+ [Unit]
2
+ Description=SickChill Daemon
3
+ After=network-online.target
4
+
5
+ [Service]
6
+ Type=forking
7
+ GuessMainPID=no
8
+ ExecStart=/usr/bin/python %h/apps/sickchill/SickBeard.py -q --config=%h/.config/sickchill/config.ini --datadir=%h/.config/sickchill
9
+ Restart=on-failure
10
+ TimeoutStopSec=300
11
+
12
+ [Install]
13
+ WantedBy=default.target
@@ -0,0 +1,58 @@
1
+ name: Sickchill
2
+ script_name: sickchill.rb
3
+ version: 0.1
4
+ required_aethernal_agent_version: ">= 0.2.0"
5
+ description: Automatic video library manager for tv shows
6
+ installation_type: local_install
7
+ configuration_type: multi_user
8
+ apache_configuration: sickchill.apache.conf.erb
9
+ icon:
10
+ name: sickchill.png
11
+ sha256sum: dc2d33aad0a0d4e79d1eef365b2993f3c9e3345904f87437692aff64899c17d1
12
+ plain_name: sickchill
13
+ services:
14
+ - sickchill
15
+ actions:
16
+ restart:
17
+ user:
18
+ required: true
19
+ linux_user: true
20
+ uninstall:
21
+ nothing: true
22
+ install_packages:
23
+ user:
24
+ required: true
25
+ linux_user: true
26
+ remove_app_user:
27
+ user:
28
+ required: true
29
+ linux_user: true
30
+ configure_app_user:
31
+ port:
32
+ auto_generate_port: true
33
+ min: 6600
34
+ max: 6699
35
+ user:
36
+ required: true
37
+ linux_user: true
38
+ password:
39
+ required: false
40
+ auto_generate: true
41
+ return_values:
42
+ - password
43
+ - port
44
+ display_values:
45
+ - user
46
+ - password
47
+ estimated_size_mb: 18
48
+ package:
49
+ folder_name: sickchill
50
+ direct_download:
51
+ url: https://github.com/SickChill/SickChill/archive/v2020.06.20-2.tar.gz
52
+ target_name: SickChill-2020.06.20-2.tar.gz
53
+ auto_extract: true
54
+ always_latest: false
55
+ apt:
56
+ "1804":
57
+ packages:
58
+ - python