mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-04-03 23:36:17 +02:00
feat: add Navidrome music server as installable service
- Add NAVIDROME to SERVICE_NAMES constant - Add service seeder entry with Docker config: - Image: deluan/navidrome:0.55.2 - Port: 4533 - Volumes: data + music (read-only) - Telemetry disabled (ND_ENABLEINSIGHTSCOLLECTOR=false) - Auto-scan every hour - Add Navidrome to Easy Setup wizard (Additional Tools) - No dependencies, no new migrations needed - Subsonic API compatible for mobile app streaming
This commit is contained in:
parent
86575bfc73
commit
e75dde6ed2
|
|
@ -5,4 +5,5 @@ export const SERVICE_NAMES = {
|
||||||
CYBERCHEF: 'nomad_cyberchef',
|
CYBERCHEF: 'nomad_cyberchef',
|
||||||
FLATNOTES: 'nomad_flatnotes',
|
FLATNOTES: 'nomad_flatnotes',
|
||||||
KOLIBRI: 'nomad_kolibri',
|
KOLIBRI: 'nomad_kolibri',
|
||||||
|
NAVIDROME: 'nomad_navidrome',
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -159,6 +159,38 @@ export default class ServiceSeeder extends BaseSeeder {
|
||||||
is_dependency_service: false,
|
is_dependency_service: false,
|
||||||
depends_on: null,
|
depends_on: null,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
service_name: SERVICE_NAMES.NAVIDROME,
|
||||||
|
friendly_name: 'Music Server',
|
||||||
|
powered_by: 'Navidrome',
|
||||||
|
display_order: 4,
|
||||||
|
description:
|
||||||
|
'Stream your personal music library offline — supports Subsonic-compatible apps',
|
||||||
|
icon: 'IconMusic',
|
||||||
|
container_image: 'deluan/navidrome:0.60.3',
|
||||||
|
source_repo: 'https://github.com/navidrome/navidrome',
|
||||||
|
container_command: null,
|
||||||
|
container_config: JSON.stringify({
|
||||||
|
HostConfig: {
|
||||||
|
RestartPolicy: { Name: 'unless-stopped' },
|
||||||
|
PortBindings: { '4533/tcp': [{ HostPort: '4533' }] },
|
||||||
|
Binds: [
|
||||||
|
`${ServiceSeeder.NOMAD_STORAGE_ABS_PATH}/navidrome/data:/data`,
|
||||||
|
`${ServiceSeeder.NOMAD_STORAGE_ABS_PATH}/navidrome/music:/music:ro`,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
ExposedPorts: { '4533/tcp': {} },
|
||||||
|
Env: [
|
||||||
|
'ND_ENABLEINSIGHTSCOLLECTOR=false',
|
||||||
|
'ND_SCANNER_SCHEDULE=@every 1h',
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
ui_location: '4533',
|
||||||
|
installed: false,
|
||||||
|
installation_status: 'idle',
|
||||||
|
is_dependency_service: false,
|
||||||
|
depends_on: null,
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
async run() {
|
async run() {
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,19 @@ const ADDITIONAL_TOOLS: Capability[] = [
|
||||||
services: [SERVICE_NAMES.CYBERCHEF],
|
services: [SERVICE_NAMES.CYBERCHEF],
|
||||||
icon: 'IconChefHat',
|
icon: 'IconChefHat',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 'music',
|
||||||
|
name: 'Music Server',
|
||||||
|
technicalName: 'Navidrome',
|
||||||
|
description: 'Stream your personal music library offline — supports Subsonic-compatible apps',
|
||||||
|
features: [
|
||||||
|
'Web-based music player',
|
||||||
|
'Subsonic API for mobile apps',
|
||||||
|
'No internet required after setup',
|
||||||
|
],
|
||||||
|
services: [SERVICE_NAMES.NAVIDROME],
|
||||||
|
icon: 'IconMusic',
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
type WizardStep = 1 | 2 | 3 | 4
|
type WizardStep = 1 | 2 | 3 | 4
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user