@muhammedaksam/easiarr 1.1.5 → 1.1.6

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": "1.1.5",
3
+ "version": "1.1.6",
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",
@@ -320,8 +320,9 @@ export const APPS: Record<AppId, AppDefinition> = {
320
320
  category: "downloader",
321
321
  defaultPort: 5030,
322
322
  image: "slskd/slskd",
323
- puid: 13016,
324
- pgid: 13000,
323
+ puid: 0, // Uses Docker user: directive instead
324
+ pgid: 0,
325
+ useDockerUser: true, // Use Docker's user: directive for file permissions
325
326
  volumes: (root) => [`${root}/config/slskd:/app`, `${root}/data:/data`],
326
327
  secondaryPorts: ["5031:5031", "50300:50300"],
327
328
  environment: {
@@ -25,6 +25,8 @@ export interface ComposeService {
25
25
  devices?: string[]
26
26
  cap_add?: string[]
27
27
  command?: string
28
+ /** Docker user directive (e.g., "1000:1000") for apps that don't support PUID/PGID */
29
+ user?: string
28
30
  }
29
31
 
30
32
  export interface ComposeFile {
@@ -157,6 +159,15 @@ function buildService(appDef: ReturnType<typeof getApp>, appConfig: AppConfig, c
157
159
  // Add command (e.g., cloudflared)
158
160
  if (appDef.command) service.command = appDef.command
159
161
 
162
+ // Use Docker user directive for apps that don't support PUID/PGID (e.g., slskd)
163
+ if (appDef.useDockerUser) {
164
+ service.user = "${PUID}:${PGID}"
165
+ // Remove PUID/PGID env vars since they're not used
166
+ delete service.environment.PUID
167
+ delete service.environment.PGID
168
+ delete service.environment.UMASK
169
+ }
170
+
160
171
  // Plex uses network_mode: host
161
172
  if (appDef.id === "plex") {
162
173
  service.network_mode = "host"
@@ -60,6 +60,11 @@ export function generateServiceYaml(name: string, service: ComposeService): stri
60
60
  }
61
61
  }
62
62
 
63
+ // User directive (for apps like slskd that don't support PUID/PGID)
64
+ if (service.user) {
65
+ yaml += ` user: ${service.user}\n`
66
+ }
67
+
63
68
  yaml += ` restart: ${service.restart}\n\n`
64
69
 
65
70
  return yaml
@@ -210,6 +210,8 @@ export interface AppDefinition {
210
210
  homepage?: HomepageMeta
211
211
  /** Auto-setup capability metadata */
212
212
  autoSetup?: AutoSetupCapability
213
+ /** Use Docker's user: directive instead of PUID/PGID env vars (e.g., slskd) */
214
+ useDockerUser?: boolean
213
215
  }
214
216
 
215
217
  /** Auto-setup capability for an app */