@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.
|
|
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",
|
package/src/apps/registry.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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}
|
|
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:
|
|
603
|
+
url: "http://easiarr-status:8080/.easiarr/config.json",
|
|
603
604
|
mappings: JSON.stringify([{ field: "version", label: "Installed" }]),
|
|
604
605
|
},
|
|
605
606
|
},
|
package/src/compose/generator.ts
CHANGED
|
@@ -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
|
|
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`
|
package/src/config/schema.ts
CHANGED