@muhammedaksam/easiarr 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muhammedaksam/easiarr",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "TUI tool for generating docker-compose files for the *arr media ecosystem with 41 apps, TRaSH Guides best practices, VPN routing, and Traefik reverse proxy support",
5
5
  "module": "src/index.ts",
6
6
  "type": "module",
@@ -240,6 +240,28 @@ export class AppConfigurator extends BoxRenderable {
240
240
  this.updateDisplay()
241
241
  }
242
242
 
243
+ // Setup auth for *arr apps without root folders (e.g., Prowlarr)
244
+ if (this.globalPassword) {
245
+ const arrAppsNeedingAuth = ["prowlarr"]
246
+ for (const appId of arrAppsNeedingAuth) {
247
+ const appConfig = this.config.apps.find((a) => a.id === appId && a.enabled)
248
+ if (!appConfig) continue
249
+
250
+ const apiKey = this.extractApiKey(appId as AppId)
251
+ if (!apiKey) continue
252
+
253
+ const appDef = getApp(appId as AppId)
254
+ const port = appConfig.port || appDef?.defaultPort || 9696
255
+ const client = new ArrApiClient("localhost", port, apiKey)
256
+
257
+ try {
258
+ await client.updateHostConfig(this.globalUsername, this.globalPassword, this.overrideExisting)
259
+ } catch {
260
+ // Auth setup for these apps is best-effort
261
+ }
262
+ }
263
+ }
264
+
243
265
  // After root folders, prompt for download clients if needed
244
266
  if (this.hasQBittorrent || this.hasSABnzbd) {
245
267
  if (this.hasQBittorrent) {
@@ -178,7 +178,8 @@ export class ProwlarrSetup extends BoxRenderable {
178
178
  const appDef = getApp(app.id)
179
179
  const port = app.port || appDef?.defaultPort || 7878
180
180
 
181
- await this.prowlarrClient.addArrApp(appType, "localhost", port, apiKey, "localhost", prowlarrPort)
181
+ // In Docker, use container names for inter-container communication
182
+ await this.prowlarrClient.addArrApp(appType, app.id, port, apiKey, "prowlarr", prowlarrPort)
182
183
 
183
184
  const result = this.results.find((r) => r.name === app.id)
184
185
  if (result) {
@@ -225,6 +226,7 @@ export class ProwlarrSetup extends BoxRenderable {
225
226
  this.results[0].message = "FlareSolverr not enabled in config"
226
227
  } else {
227
228
  const fsPort = fsConfig.port || 8191
229
+ // In Docker, use container name for FlareSolverr
228
230
  await this.prowlarrClient.configureFlareSolverr(`http://flaresolverr:${fsPort}`)
229
231
  this.results[0].status = "success"
230
232
  this.results[0].message = "Proxy added with 'flaresolverr' tag"