@muhammedaksam/easiarr 0.7.1 → 0.7.3

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.7.1",
3
+ "version": "0.7.3",
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",
@@ -444,14 +444,15 @@ export const APPS: Record<AppId, AppDefinition> = {
444
444
  name: "Homepage",
445
445
  description: "Highly customizable application dashboard",
446
446
  category: "dashboard",
447
- defaultPort: 3000,
447
+ defaultPort: 3009,
448
+ internalPort: 3000,
448
449
  image: "ghcr.io/gethomepage/homepage:latest",
449
450
  puid: 0,
450
451
  pgid: 0,
451
452
  volumes: (root) => [`${root}/config/homepage:/app/config`, "/var/run/docker.sock:/var/run/docker.sock"],
452
453
  environment: {
453
454
  HOMEPAGE_ALLOWED_HOSTS:
454
- "homepage,homepage.${CLOUDFLARE_DNS_ZONE},${CLOUDFLARE_DNS_ZONE},localhost,${LOCAL_DOCKER_IP}",
455
+ "homepage,homepage.${CLOUDFLARE_DNS_ZONE},${CLOUDFLARE_DNS_ZONE},localhost,${LOCAL_DOCKER_IP},${LOCAL_DOCKER_IP}:3009",
455
456
  },
456
457
  },
457
458
 
@@ -585,21 +586,21 @@ export const APPS: Record<AppId, AppDefinition> = {
585
586
  name: "Easiarr Status",
586
587
  description: "Exposes Easiarr version for Homepage dashboard",
587
588
  category: "utility",
588
- defaultPort: 3009,
589
+ defaultPort: 3010,
590
+ internalPort: 8080,
589
591
  image: "halverneus/static-file-server:latest",
590
592
  puid: 0,
591
593
  pgid: 0,
592
- volumes: (root) => [`${root}/.easiarr:/web:ro`],
594
+ volumes: (root) => [`${root}:/web:ro`],
593
595
  environment: {
594
596
  FOLDER: "/web",
595
- PORT: "3009",
596
597
  CORS: "true",
597
598
  },
598
599
  homepage: {
599
600
  icon: "mdi-docker",
600
601
  widget: "customapi",
601
602
  widgetFields: {
602
- url: "http://easiarr-status:3009/config.json",
603
+ url: "http://easiarr-status:8080/.easiarr/config.json",
603
604
  mappings: JSON.stringify([{ field: "version", label: "Installed" }]),
604
605
  },
605
606
  },
@@ -131,7 +131,7 @@ function buildService(appDef: ReturnType<typeof getApp>, appConfig: AppConfig, c
131
131
  container_name: appDef.id,
132
132
  environment,
133
133
  volumes,
134
- ports: appDef.id === "plex" ? [] : [`"${port}:${appDef.defaultPort}"`],
134
+ ports: appDef.id === "plex" ? [] : [`"${port}:${appDef.internalPort ?? appDef.defaultPort}"`],
135
135
  restart: "unless-stopped",
136
136
  }
137
137
 
@@ -152,9 +152,8 @@ function buildService(appDef: ReturnType<typeof getApp>, appConfig: AppConfig, c
152
152
  }
153
153
  }
154
154
 
155
- // Add Traefik labels if enabled (skip for traefik itself and plex with host networking)
156
155
  if (config.traefik?.enabled && appDef.id !== "traefik" && appDef.id !== "plex") {
157
- service.labels = generateTraefikLabels(appDef.id, appDef.defaultPort, config.traefik)
156
+ service.labels = generateTraefikLabels(appDef.id, appDef.internalPort ?? appDef.defaultPort, config.traefik)
158
157
  }
159
158
 
160
159
  return service
@@ -104,7 +104,6 @@ export async function generateServicesYaml(config: EasiarrConfig): Promise<strin
104
104
  let yaml = "---\n# Auto-generated by Easiarr\n# https://github.com/muhammedaksam/easiarr\n\n"
105
105
 
106
106
  // Add Easiarr info section with two widgets - one for installed, one for latest
107
- const localIpForEasiarr = localIp
108
107
  yaml += `Easiarr:\n`
109
108
  // Installed version from local easiarr-status container
110
109
  yaml += ` - Installed:\n`
@@ -113,7 +112,7 @@ export async function generateServicesYaml(config: EasiarrConfig): Promise<strin
113
112
  yaml += ` description: Your current version\n`
114
113
  yaml += ` widget:\n`
115
114
  yaml += ` type: customapi\n`
116
- yaml += ` url: http://${localIpForEasiarr}:3009/config.json\n`
115
+ yaml += ` url: http://easiarr-status:8080/.easiarr/config.json\n`
117
116
  yaml += ` refreshInterval: 3600000\n` // 1 hour
118
117
  yaml += ` mappings:\n`
119
118
  yaml += ` - field: version\n`
@@ -174,6 +174,8 @@ export interface AppDefinition {
174
174
  description: string
175
175
  category: AppCategory
176
176
  defaultPort: number
177
+ /** Internal container port if different from defaultPort */
178
+ internalPort?: number
177
179
  image: string
178
180
  puid: number
179
181
  pgid: number