aethernal-agent 0.1.10 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) 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/manifest.yml +2 -2
  44. data/lib/aethernal_agent/plugins/deluge/templates/deluge-web.service.erb +1 -1
  45. data/lib/aethernal_agent/plugins/deluge/templates/deluge.apache.conf.erb +0 -1
  46. data/lib/aethernal_agent/plugins/deluge/templates/deluged.service.erb +1 -1
  47. data/lib/aethernal_agent/plugins/filebrowser/manifest.yml +1 -1
  48. data/lib/aethernal_agent/plugins/gitea/manifest.yml +1 -1
  49. data/lib/aethernal_agent/plugins/jackett/files/jackett.service +15 -0
  50. data/lib/aethernal_agent/plugins/jackett/jackett.rb +49 -0
  51. data/lib/aethernal_agent/plugins/jackett/manifest.yml +54 -0
  52. data/lib/aethernal_agent/plugins/jackett/meta/jackett.png +0 -0
  53. data/lib/aethernal_agent/plugins/jackett/templates/ServerConfig.json.erb +8 -0
  54. data/lib/aethernal_agent/plugins/jackett/templates/jackett.apache.conf.erb +5 -0
  55. data/lib/aethernal_agent/plugins/jdownloader/files/jdownloader.service +13 -0
  56. data/lib/aethernal_agent/plugins/jdownloader/jdownloader.rb +38 -0
  57. data/lib/aethernal_agent/plugins/jdownloader/manifest.yml +53 -0
  58. data/lib/aethernal_agent/plugins/jdownloader/meta/jdownloader.png +0 -0
  59. data/lib/aethernal_agent/plugins/jdownloader/templates/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json.erb +5 -0
  60. data/lib/aethernal_agent/plugins/medusa/files/medusa.service +13 -0
  61. data/lib/aethernal_agent/plugins/medusa/manifest.yml +54 -0
  62. data/lib/aethernal_agent/plugins/medusa/medusa.rb +47 -0
  63. data/lib/aethernal_agent/plugins/medusa/meta/medusa.png +0 -0
  64. data/lib/aethernal_agent/plugins/medusa/templates/config.ini.erb +1308 -0
  65. data/lib/aethernal_agent/plugins/medusa/templates/medusa.apache.conf.erb +12 -0
  66. data/lib/aethernal_agent/plugins/nextcloud/manifest.yml +54 -0
  67. data/lib/aethernal_agent/plugins/nextcloud/meta/nextcloud.png +0 -0
  68. data/lib/aethernal_agent/plugins/nextcloud/nextcloud.rb +44 -0
  69. data/lib/aethernal_agent/plugins/nextcloud/templates/nextcloud.apache.conf.erb +4 -0
  70. data/lib/aethernal_agent/plugins/nzbget/files/nzbget.service +13 -0
  71. data/lib/aethernal_agent/plugins/nzbget/manifest.yml +54 -0
  72. data/lib/aethernal_agent/plugins/nzbget/meta/nzbget.png +0 -0
  73. data/lib/aethernal_agent/plugins/nzbget/nzbget.rb +44 -0
  74. data/lib/aethernal_agent/plugins/nzbget/templates/nzbget.apache.conf.erb +5 -0
  75. data/lib/aethernal_agent/plugins/nzbget/templates/nzbget.conf.erb +1508 -0
  76. data/lib/aethernal_agent/plugins/olaris/manifest.yml +1 -1
  77. data/lib/aethernal_agent/plugins/ombi/manifest.yml +5 -2
  78. data/lib/aethernal_agent/plugins/ombi/ombi.rb +59 -22
  79. data/lib/aethernal_agent/plugins/ombi/templates/ombi.apache.conf.erb +3 -4
  80. data/lib/aethernal_agent/plugins/ombi/templates/ombi.service.erb +2 -2
  81. data/lib/aethernal_agent/plugins/plex-docker/manifest.yml +74 -0
  82. data/lib/aethernal_agent/plugins/plex-docker/meta/plex.png +0 -0
  83. data/lib/aethernal_agent/plugins/plex-docker/plex_docker.rb +39 -0
  84. data/lib/aethernal_agent/plugins/plex-docker/templates/Preferences.xml.erb +2 -0
  85. data/lib/aethernal_agent/plugins/plex-docker/templates/plex_docker.apache.conf.erb +21 -0
  86. data/lib/aethernal_agent/plugins/plex-docker/templates/plex_docker.service.erb +10 -0
  87. data/lib/aethernal_agent/plugins/plex/files/plex.service +1 -1
  88. data/lib/aethernal_agent/plugins/plex/manifest.yml +6 -5
  89. data/lib/aethernal_agent/plugins/plex/plex.rb +2 -4
  90. data/lib/aethernal_agent/plugins/plex/templates/Preferences.xml.erb +1 -1
  91. data/lib/aethernal_agent/plugins/plex/templates/plex.apache.conf.erb +21 -0
  92. data/lib/aethernal_agent/plugins/portainer/manifest.yml +50 -0
  93. data/lib/aethernal_agent/plugins/portainer/meta/portainer.png +0 -0
  94. data/lib/aethernal_agent/plugins/portainer/portainer.rb +38 -0
  95. data/lib/aethernal_agent/plugins/portainer/templates/portainer.apache.conf.erb +7 -0
  96. data/lib/aethernal_agent/plugins/portainer/templates/portainer.service.erb +10 -0
  97. data/lib/aethernal_agent/plugins/radarr/files/radarr.service +2 -2
  98. data/lib/aethernal_agent/plugins/radarr/manifest.yml +7 -13
  99. data/lib/aethernal_agent/plugins/radarr/radarr.rb +24 -18
  100. data/lib/aethernal_agent/plugins/radarr/templates/radarr.apache.conf.erb +3 -4
  101. data/lib/aethernal_agent/plugins/resilio_docker/manifest.yml +59 -0
  102. data/lib/aethernal_agent/plugins/resilio_docker/meta/resilio.png +0 -0
  103. data/lib/aethernal_agent/plugins/resilio_docker/resilio_docker.rb +29 -0
  104. data/lib/aethernal_agent/plugins/resilio_docker/templates/resilio_docker.apache.conf.erb +11 -0
  105. data/lib/aethernal_agent/plugins/resilio_docker/templates/resilio_docker.conf.erb +38 -0
  106. data/lib/aethernal_agent/plugins/resilio_docker/templates/resilio_docker.service.erb +10 -0
  107. data/lib/aethernal_agent/plugins/rutorrent/manifest.yml +84 -0
  108. data/lib/aethernal_agent/plugins/rutorrent/meta/rtorrent.png +0 -0
  109. data/lib/aethernal_agent/plugins/rutorrent/rutorrent.rb +41 -0
  110. data/lib/aethernal_agent/plugins/rutorrent/templates/rtorrent.rc.erb +69 -0
  111. data/lib/aethernal_agent/plugins/rutorrent/templates/rutorrent.apache.conf.erb +13 -0
  112. data/lib/aethernal_agent/plugins/rutorrent/templates/rutorrent.service.erb +10 -0
  113. data/lib/aethernal_agent/plugins/sabnzbd/files/sabnzbd.service +13 -0
  114. data/lib/aethernal_agent/plugins/sabnzbd/manifest.yml +43 -0
  115. data/lib/aethernal_agent/plugins/sabnzbd/meta/sabnzbd.png +0 -0
  116. data/lib/aethernal_agent/plugins/sabnzbd/sabnzbd.rb +47 -0
  117. data/lib/aethernal_agent/plugins/sabnzbd/templates/sabnzbd.apache.conf.erb +4 -0
  118. data/lib/aethernal_agent/plugins/sabnzbd/templates/sabnzbd.ini.erb +188 -0
  119. data/lib/aethernal_agent/plugins/sickchill/files/sickchill.service +13 -0
  120. data/lib/aethernal_agent/plugins/sickchill/manifest.yml +58 -0
  121. data/lib/aethernal_agent/plugins/sickchill/meta/sickchill.png +0 -0
  122. data/lib/aethernal_agent/plugins/sickchill/sickchill.rb +49 -0
  123. data/lib/aethernal_agent/plugins/sickchill/templates/config.ini.erb +1078 -0
  124. data/lib/aethernal_agent/plugins/sickchill/templates/sickchill.apache.conf.erb +4 -0
  125. data/lib/aethernal_agent/plugins/sonarr/files/sonarr.service +1 -1
  126. data/lib/aethernal_agent/plugins/sonarr/manifest.yml +3 -2
  127. data/lib/aethernal_agent/plugins/sonarr/templates/sonarr.apache.conf.erb +3 -4
  128. data/lib/aethernal_agent/plugins/syncthing/files/syncthing.service +18 -0
  129. data/lib/aethernal_agent/plugins/syncthing/manifest.yml +38 -0
  130. data/lib/aethernal_agent/plugins/syncthing/meta/syncthing.png +0 -0
  131. data/lib/aethernal_agent/plugins/syncthing/syncthing.rb +33 -0
  132. data/lib/aethernal_agent/plugins/syncthing/templates/config.xml.erb +56 -0
  133. data/lib/aethernal_agent/plugins/syncthing/templates/syncthing.apache.conf.erb +7 -0
  134. data/lib/aethernal_agent/plugins/tautulli/files/tautulli.service +13 -0
  135. data/lib/aethernal_agent/plugins/tautulli/manifest.yml +40 -0
  136. data/lib/aethernal_agent/plugins/tautulli/meta/tautulli.png +0 -0
  137. data/lib/aethernal_agent/plugins/tautulli/tautulli.rb +45 -0
  138. data/lib/aethernal_agent/plugins/tautulli/templates/config.ini.erb +222 -0
  139. data/lib/aethernal_agent/plugins/tautulli/templates/tautulli.apache.conf.erb +5 -0
  140. data/lib/aethernal_agent/plugins/vnc/manifest.yml +3 -2
  141. data/lib/aethernal_agent/systemd.rb +19 -13
  142. data/lib/aethernal_agent/utils.rb +85 -6
  143. data/lib/aethernal_agent/version.rb +1 -1
  144. data/lib/aethernal_agent/webserver/api.rb +1 -1
  145. data/lib/aethernal_agent/webserver/core.rb +1 -1
  146. metadata +152 -6
@@ -0,0 +1,5 @@
1
+ <Location /tautulli>
2
+ ProxyPass http://127.0.0.1:<%= @port %>/tautulli/
3
+ RequestHeader set X-Forwarded-Proto "https" env=HTTPS
4
+ ProxyPassReverse http://127.0.0.1:<%= @port %>/tautulli/
5
+ </Location>
@@ -1,10 +1,11 @@
1
1
  name: Remote Desktop (VNC)
2
2
  script_name: vnc.rb
3
3
  version: 0.1
4
- required_aethernal_agent_version: "~> 0.1.0"
4
+ required_aethernal_agent_version: ">= 0.2.0"
5
5
  description: Manage your server with a remote desktop instance running xfce.
6
6
  installation_type: global_install
7
7
  configuration_type: multi_user
8
+ no_webui: true
8
9
  plain_name: vnc
9
10
  built_in_updater: false
10
11
  icon:
@@ -34,7 +35,7 @@ actions:
34
35
  estimated_size_mb: 600
35
36
  package:
36
37
  apt:
37
- "18.04":
38
+ "1804":
38
39
  packages:
39
40
  - xfce4
40
41
  - tightvncserver
@@ -13,13 +13,17 @@ module AethernalAgent
13
13
  add_errors("Could not '#{action}' service '#{options[:service_name]}'")
14
14
  end
15
15
  results[options[:service_name]] = result
16
- else
16
+ elsif self.manifest.services.present?
17
17
  self.manifest.services.each do |service|
18
- result = run_command("sudo -iu #{self.user} systemctl --user #{action} #{service}")
19
- if result == false
20
- add_errors("Could not '#{action}' service '#{service}'")
18
+ if File.exist?(service_file_path("#{service}.service"))
19
+ result = run_command("sudo -iu #{self.user} systemctl --user #{action} #{service}")
20
+ if result == false
21
+ add_errors("Could not '#{action}' service '#{service}'")
22
+ end
23
+ results[service] = result
24
+ else
25
+ AethernalAgent.logger.debug("Service file service_file_path(#{service}.service did not exist, not trying to do action.")
21
26
  end
22
- results[service] = result
23
27
  end
24
28
  end
25
29
 
@@ -44,7 +48,7 @@ module AethernalAgent
44
48
  write_template(
45
49
  template_path(options[:template]), #source
46
50
  service_file_path(options[:service_name]),
47
- options[:vars],
51
+ options[:vars].reverse_merge(container_name: self.docker_container_name),
48
52
  {
49
53
  owner: options[:user]
50
54
  }
@@ -101,14 +105,16 @@ module AethernalAgent
101
105
  home_folder_path(File.join(".config/systemd/user/", service_name))
102
106
  end
103
107
 
104
- SYSTEMD_ACTIONS.each do |action|
105
- define_method(action) do |options = {}|
106
- AethernalAgent.logger.info("#{action} on #{self.manifest.name} (#{self.manifest.services.join(' ')})")
107
- opts, errors = ensure_action_options(__method__,options)
108
- send("systemd_user_#{action}", opts)
109
- return create_return_args(opts)
108
+ SYSTEMD_ACTIONS.each do |action|
109
+ define_method(action) do |options = {}|
110
+ if self.manifest.services.present?
111
+ AethernalAgent.logger.info("#{action} on #{self.manifest.name} (#{self.manifest.services.join(' ')})")
112
+ opts, errors = ensure_action_options(__method__,options)
113
+ send("systemd_user_#{action}", opts)
114
+ return create_return_args(opts)
115
+ end
116
+ end
110
117
  end
111
- end
112
118
 
113
119
  # Dynamically create systemd_user_stop / start etc. actions
114
120
  def method_missing(method_name, *args)
@@ -30,11 +30,66 @@ module AethernalAgent
30
30
  return string
31
31
  end
32
32
 
33
- def check_port(port)
34
- return false unless port
35
- return false if port == nil
33
+ def apt_running?
34
+ system("lsof /var/lib/dpkg/lock > /dev/null")
35
+ end
36
+
37
+ def wait_on_apt(tries = 120)
38
+ AethernalAgent.logger.info("Waiting on APT to become ready")
39
+
40
+ while apt_running? do
41
+ AethernalAgent.logger.info("APT is still running, sleeping.") if tries % 10 == 0
42
+ tries -= 1
43
+ if tries <= 0
44
+ AethernalAgent.logger.info("Ran out of tries, exiting.")
45
+ return false
46
+ end
47
+ sleep 1
48
+ end
49
+
50
+ return true
51
+ end
52
+
53
+
54
+ def wait_on_file(path, tries = 20)
55
+ AethernalAgent.logger.info("Waiting on file #{path} to exist")
56
+
57
+ while !File.exist?(path) do
58
+ AethernalAgent.logger.info("File does not exist yet, sleeping.") if tries % 10 == 0
59
+ tries -= 1
60
+ if tries <= 0
61
+ AethernalAgent.logger.info("Ran out of tries, exiting.")
62
+ return false
63
+ end
64
+ sleep 1
65
+ end
66
+
67
+ return true
68
+ end
69
+
70
+ def wait_on_port(port, tries = 120)
71
+ AethernalAgent.logger.info("Waiting on port #{port} to be in use.")
72
+
73
+ while port_is_free(port) do
74
+ AethernalAgent.logger.info("Port not in use yet, sleeping.") if tries % 10 == 0
75
+ tries -= 1
76
+ if tries <= 0
77
+ AethernalAgent.logger.info("Ran out of tries, exiting.")
78
+ return false
79
+ end
80
+ sleep 1
81
+ end
82
+
83
+ # Wait a bit extra to ensure processes are fully loaded
84
+ sleep 2
85
+ return true
86
+ end
87
+
88
+
89
+ def port_is_free(port)
90
+ return false unless port.present?
36
91
  begin
37
- server = TCPServer.new("127.0.0.1", port)
92
+ server = TCPServer.new("127.0.0.1", port.to_i)
38
93
  server.close
39
94
  rescue Errno::EADDRINUSE, Errno::EACCES, TypeError, Errno::ECONNREFUSED, Errno::EHOSTUNREACH
40
95
  return false
@@ -44,7 +99,7 @@ module AethernalAgent
44
99
 
45
100
  def random_port(range = (20000..50000))
46
101
  port = range.to_a.sample
47
- if port && check_port(port)
102
+ if port && port_is_free(port)
48
103
  return port.to_i
49
104
  else
50
105
  random_port(range)
@@ -91,7 +146,7 @@ module AethernalAgent
91
146
  end
92
147
 
93
148
  def ubuntu_release
94
- return "18.04"
149
+ return "1804"
95
150
  end
96
151
 
97
152
  def prepare_test_config
@@ -103,5 +158,29 @@ module AethernalAgent
103
158
  def global_config_path
104
159
  "/etc/aethernal_agent.config"
105
160
  end
161
+
162
+ def docker_container_name
163
+ "#{self.user}.#{self.manifest.plain_name}"
164
+ end
165
+
166
+ def container_domain
167
+ "#{get_global_config(:container_name)}.#{get_global_config(:hostname)}"
168
+ end
169
+
170
+ def current_xdg_runtime_dir
171
+ "export XDG_RUNTIME_DIR=/run/user/#{get_current_uid}"
172
+ end
173
+
174
+ def get_current_uid
175
+ `id`.split("(")[0].split("=")[1]
176
+ end
177
+
178
+ def systemd_text_for_service(service_name)
179
+ run_systemd_plain("status", service_name)
180
+ end
181
+
182
+ def run_systemd_plain(action, service_name)
183
+ `#{current_xdg_runtime_dir} && systemctl --user #{action} #{service_name}`
184
+ end
106
185
  end
107
186
  end
@@ -1,3 +1,3 @@
1
1
  module AethernalAgent
2
- VERSION = "0.1.10"
2
+ VERSION = "0.4.2"
3
3
  end
@@ -60,7 +60,7 @@ module AethernalAgent
60
60
  o.to_json
61
61
  else
62
62
  @@pool.add_operation(o)
63
- o.uuid.to_json
63
+ o.uuid
64
64
  end
65
65
  end
66
66
  end
@@ -19,7 +19,7 @@ module AethernalAgent
19
19
  set_global_config("web_password", password)
20
20
  end
21
21
 
22
- AethernalAgent.logger.info("Starting BOSS - v#{AethernalAgent::VERSION}")
22
+ AethernalAgent.logger.info("Starting AethernalAgent - v#{AethernalAgent::VERSION}")
23
23
 
24
24
  pool = AethernalAgent::OperationPool.new(3)
25
25
  threads = []
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aethernal-agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maran
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-13 00:00:00.000000000 Z
11
+ date: 2020-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -123,7 +123,49 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: httparty
126
+ name: bcrypt
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: docker-api
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 1.34.2
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 1.34.2
153
+ - !ruby/object:Gem::Dependency
154
+ name: thor
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: terminal-table
127
169
  requirement: !ruby/object:Gem::Requirement
128
170
  requirements:
129
171
  - - ">="
@@ -140,6 +182,7 @@ description: Install and configure apps on the go.
140
182
  email:
141
183
  - maran@bytesized-hosting.com
142
184
  executables:
185
+ - aa-cli
143
186
  - aa-web
144
187
  extensions: []
145
188
  extra_rdoc_files: []
@@ -149,6 +192,7 @@ files:
149
192
  - ".rspec"
150
193
  - ".ruby-gemset"
151
194
  - ".ruby-version"
195
+ - COPYING
152
196
  - Gemfile
153
197
  - Gemfile.lock
154
198
  - README.md
@@ -156,20 +200,47 @@ files:
156
200
  - Vagrantfile
157
201
  - aethernal-agent.gemspec
158
202
  - bin/console
203
+ - bin/install-aa
159
204
  - bin/run-aa-for-test
160
205
  - bin/setup
206
+ - exe/aa-cli
161
207
  - exe/aa-web
162
208
  - lib/aethernal_agent.rb
163
209
  - lib/aethernal_agent/apache/apache.rb
210
+ - lib/aethernal_agent/apache/templates/aa-default.conf
164
211
  - lib/aethernal_agent/apache/templates/aa-user.conf.erb
165
212
  - lib/aethernal_agent/app.rb
166
213
  - lib/aethernal_agent/apt.rb
214
+ - lib/aethernal_agent/cli/core.rb
215
+ - lib/aethernal_agent/cli/services.rb
216
+ - lib/aethernal_agent/docker/container_settings.rb
217
+ - lib/aethernal_agent/docker/env.rb
218
+ - lib/aethernal_agent/docker/port_binding.rb
219
+ - lib/aethernal_agent/docker/volume.rb
167
220
  - lib/aethernal_agent/errors.rb
168
221
  - lib/aethernal_agent/filesystem.rb
169
222
  - lib/aethernal_agent/loader.rb
170
223
  - lib/aethernal_agent/manifest.rb
171
224
  - lib/aethernal_agent/operation.rb
172
225
  - lib/aethernal_agent/operation_pool.rb
226
+ - lib/aethernal_agent/plugins/bazarr/bazarr.rb
227
+ - lib/aethernal_agent/plugins/bazarr/files/bazarr.service
228
+ - lib/aethernal_agent/plugins/bazarr/manifest.yml
229
+ - lib/aethernal_agent/plugins/bazarr/meta/bazarr.png
230
+ - lib/aethernal_agent/plugins/bazarr/templates/bazarr.apache.conf.erb
231
+ - lib/aethernal_agent/plugins/bazarr/templates/config.ini.erb
232
+ - lib/aethernal_agent/plugins/cardigann/cardigann.rb
233
+ - lib/aethernal_agent/plugins/cardigann/files/cardigann.service
234
+ - lib/aethernal_agent/plugins/cardigann/manifest.yml
235
+ - lib/aethernal_agent/plugins/cardigann/meta/cardigann.png
236
+ - lib/aethernal_agent/plugins/cardigann/templates/cardigann.apache.conf.erb
237
+ - lib/aethernal_agent/plugins/cardigann/templates/config.json.erb
238
+ - lib/aethernal_agent/plugins/couchpotato/couchpotato.rb
239
+ - lib/aethernal_agent/plugins/couchpotato/files/couchpotato.service
240
+ - lib/aethernal_agent/plugins/couchpotato/manifest.yml
241
+ - lib/aethernal_agent/plugins/couchpotato/meta/couchpotato.png
242
+ - lib/aethernal_agent/plugins/couchpotato/templates/couchpotato.apache.conf.erb
243
+ - lib/aethernal_agent/plugins/couchpotato/templates/settings.conf.erb
173
244
  - lib/aethernal_agent/plugins/deluge/deluge.rb
174
245
  - lib/aethernal_agent/plugins/deluge/manifest.yml
175
246
  - lib/aethernal_agent/plugins/deluge/meta/deluge.png
@@ -191,6 +262,33 @@ files:
191
262
  - lib/aethernal_agent/plugins/gitea/meta/gitea.png
192
263
  - lib/aethernal_agent/plugins/gitea/templates/app.ini.erb
193
264
  - lib/aethernal_agent/plugins/gitea/templates/gitea.apache.conf.erb
265
+ - lib/aethernal_agent/plugins/jackett/files/jackett.service
266
+ - lib/aethernal_agent/plugins/jackett/jackett.rb
267
+ - lib/aethernal_agent/plugins/jackett/manifest.yml
268
+ - lib/aethernal_agent/plugins/jackett/meta/jackett.png
269
+ - lib/aethernal_agent/plugins/jackett/templates/ServerConfig.json.erb
270
+ - lib/aethernal_agent/plugins/jackett/templates/jackett.apache.conf.erb
271
+ - lib/aethernal_agent/plugins/jdownloader/files/jdownloader.service
272
+ - lib/aethernal_agent/plugins/jdownloader/jdownloader.rb
273
+ - lib/aethernal_agent/plugins/jdownloader/manifest.yml
274
+ - lib/aethernal_agent/plugins/jdownloader/meta/jdownloader.png
275
+ - lib/aethernal_agent/plugins/jdownloader/templates/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json.erb
276
+ - lib/aethernal_agent/plugins/medusa/files/medusa.service
277
+ - lib/aethernal_agent/plugins/medusa/manifest.yml
278
+ - lib/aethernal_agent/plugins/medusa/medusa.rb
279
+ - lib/aethernal_agent/plugins/medusa/meta/medusa.png
280
+ - lib/aethernal_agent/plugins/medusa/templates/config.ini.erb
281
+ - lib/aethernal_agent/plugins/medusa/templates/medusa.apache.conf.erb
282
+ - lib/aethernal_agent/plugins/nextcloud/manifest.yml
283
+ - lib/aethernal_agent/plugins/nextcloud/meta/nextcloud.png
284
+ - lib/aethernal_agent/plugins/nextcloud/nextcloud.rb
285
+ - lib/aethernal_agent/plugins/nextcloud/templates/nextcloud.apache.conf.erb
286
+ - lib/aethernal_agent/plugins/nzbget/files/nzbget.service
287
+ - lib/aethernal_agent/plugins/nzbget/manifest.yml
288
+ - lib/aethernal_agent/plugins/nzbget/meta/nzbget.png
289
+ - lib/aethernal_agent/plugins/nzbget/nzbget.rb
290
+ - lib/aethernal_agent/plugins/nzbget/templates/nzbget.apache.conf.erb
291
+ - lib/aethernal_agent/plugins/nzbget/templates/nzbget.conf.erb
194
292
  - lib/aethernal_agent/plugins/olaris/manifest.yml
195
293
  - lib/aethernal_agent/plugins/olaris/meta/olaris.png
196
294
  - lib/aethernal_agent/plugins/olaris/olaris.rb
@@ -201,23 +299,71 @@ files:
201
299
  - lib/aethernal_agent/plugins/ombi/ombi.rb
202
300
  - lib/aethernal_agent/plugins/ombi/templates/ombi.apache.conf.erb
203
301
  - lib/aethernal_agent/plugins/ombi/templates/ombi.service.erb
302
+ - lib/aethernal_agent/plugins/plex-docker/manifest.yml
303
+ - lib/aethernal_agent/plugins/plex-docker/meta/plex.png
304
+ - lib/aethernal_agent/plugins/plex-docker/plex_docker.rb
305
+ - lib/aethernal_agent/plugins/plex-docker/templates/Preferences.xml.erb
306
+ - lib/aethernal_agent/plugins/plex-docker/templates/plex_docker.apache.conf.erb
307
+ - lib/aethernal_agent/plugins/plex-docker/templates/plex_docker.service.erb
204
308
  - lib/aethernal_agent/plugins/plex/files/plex.service
205
309
  - lib/aethernal_agent/plugins/plex/manifest.yml
206
310
  - lib/aethernal_agent/plugins/plex/meta/plex.png
207
311
  - lib/aethernal_agent/plugins/plex/plex.rb
208
312
  - lib/aethernal_agent/plugins/plex/templates/Preferences.xml.erb
313
+ - lib/aethernal_agent/plugins/plex/templates/plex.apache.conf.erb
314
+ - lib/aethernal_agent/plugins/portainer/manifest.yml
315
+ - lib/aethernal_agent/plugins/portainer/meta/portainer.png
316
+ - lib/aethernal_agent/plugins/portainer/portainer.rb
317
+ - lib/aethernal_agent/plugins/portainer/templates/portainer.apache.conf.erb
318
+ - lib/aethernal_agent/plugins/portainer/templates/portainer.service.erb
209
319
  - lib/aethernal_agent/plugins/radarr/files/radarr.service
210
320
  - lib/aethernal_agent/plugins/radarr/manifest.yml
211
321
  - lib/aethernal_agent/plugins/radarr/meta/radarr.png
212
322
  - lib/aethernal_agent/plugins/radarr/radarr.rb
213
323
  - lib/aethernal_agent/plugins/radarr/templates/config.xml.erb
214
324
  - lib/aethernal_agent/plugins/radarr/templates/radarr.apache.conf.erb
325
+ - lib/aethernal_agent/plugins/resilio_docker/manifest.yml
326
+ - lib/aethernal_agent/plugins/resilio_docker/meta/resilio.png
327
+ - lib/aethernal_agent/plugins/resilio_docker/resilio_docker.rb
328
+ - lib/aethernal_agent/plugins/resilio_docker/templates/resilio_docker.apache.conf.erb
329
+ - lib/aethernal_agent/plugins/resilio_docker/templates/resilio_docker.conf.erb
330
+ - lib/aethernal_agent/plugins/resilio_docker/templates/resilio_docker.service.erb
331
+ - lib/aethernal_agent/plugins/rutorrent/manifest.yml
332
+ - lib/aethernal_agent/plugins/rutorrent/meta/rtorrent.png
333
+ - lib/aethernal_agent/plugins/rutorrent/rutorrent.rb
334
+ - lib/aethernal_agent/plugins/rutorrent/templates/rtorrent.rc.erb
335
+ - lib/aethernal_agent/plugins/rutorrent/templates/rutorrent.apache.conf.erb
336
+ - lib/aethernal_agent/plugins/rutorrent/templates/rutorrent.service.erb
337
+ - lib/aethernal_agent/plugins/sabnzbd/files/sabnzbd.service
338
+ - lib/aethernal_agent/plugins/sabnzbd/manifest.yml
339
+ - lib/aethernal_agent/plugins/sabnzbd/meta/sabnzbd.png
340
+ - lib/aethernal_agent/plugins/sabnzbd/sabnzbd.rb
341
+ - lib/aethernal_agent/plugins/sabnzbd/templates/sabnzbd.apache.conf.erb
342
+ - lib/aethernal_agent/plugins/sabnzbd/templates/sabnzbd.ini.erb
343
+ - lib/aethernal_agent/plugins/sickchill/files/sickchill.service
344
+ - lib/aethernal_agent/plugins/sickchill/manifest.yml
345
+ - lib/aethernal_agent/plugins/sickchill/meta/sickchill.png
346
+ - lib/aethernal_agent/plugins/sickchill/sickchill.rb
347
+ - lib/aethernal_agent/plugins/sickchill/templates/config.ini.erb
348
+ - lib/aethernal_agent/plugins/sickchill/templates/sickchill.apache.conf.erb
215
349
  - lib/aethernal_agent/plugins/sonarr/files/sonarr.service
216
350
  - lib/aethernal_agent/plugins/sonarr/manifest.yml
217
351
  - lib/aethernal_agent/plugins/sonarr/meta/sonarr.jpeg
218
352
  - lib/aethernal_agent/plugins/sonarr/sonarr.rb
219
353
  - lib/aethernal_agent/plugins/sonarr/templates/config.xml.erb
220
354
  - lib/aethernal_agent/plugins/sonarr/templates/sonarr.apache.conf.erb
355
+ - lib/aethernal_agent/plugins/syncthing/files/syncthing.service
356
+ - lib/aethernal_agent/plugins/syncthing/manifest.yml
357
+ - lib/aethernal_agent/plugins/syncthing/meta/syncthing.png
358
+ - lib/aethernal_agent/plugins/syncthing/syncthing.rb
359
+ - lib/aethernal_agent/plugins/syncthing/templates/config.xml.erb
360
+ - lib/aethernal_agent/plugins/syncthing/templates/syncthing.apache.conf.erb
361
+ - lib/aethernal_agent/plugins/tautulli/files/tautulli.service
362
+ - lib/aethernal_agent/plugins/tautulli/manifest.yml
363
+ - lib/aethernal_agent/plugins/tautulli/meta/tautulli.png
364
+ - lib/aethernal_agent/plugins/tautulli/tautulli.rb
365
+ - lib/aethernal_agent/plugins/tautulli/templates/config.ini.erb
366
+ - lib/aethernal_agent/plugins/tautulli/templates/tautulli.apache.conf.erb
221
367
  - lib/aethernal_agent/plugins/vnc/files/xstartup
222
368
  - lib/aethernal_agent/plugins/vnc/manifest.yml
223
369
  - lib/aethernal_agent/plugins/vnc/meta/vnc.png
@@ -235,7 +381,7 @@ metadata:
235
381
  homepage_uri: https://aethernal.host
236
382
  source_code_uri: http://gitlab.com/olaris/aethernal_agent
237
383
  changelog_uri: http://gitlab.com/olaris/aethernal_agent
238
- post_install_message:
384
+ post_install_message:
239
385
  rdoc_options: []
240
386
  require_paths:
241
387
  - lib
@@ -251,7 +397,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
251
397
  version: '0'
252
398
  requirements: []
253
399
  rubygems_version: 3.0.3
254
- signing_key:
400
+ signing_key:
255
401
  specification_version: 4
256
402
  summary: Aethernal Agent for Aethernal.host.
257
403
  test_files: []