Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Suggestion: Navidrome #1118

Open
jdkdev opened this issue Jun 18, 2024 · 3 comments
Open

App Suggestion: Navidrome #1118

jdkdev opened this issue Jun 18, 2024 · 3 comments

Comments

@jdkdev
Copy link

jdkdev commented Jun 18, 2024

Please tell us what app you'd like to see on CapRover as a one-click app.
Looking for a good music server to replace Spotify.
https://www.navidrome.org/ seems like a good fit it can work as a one click app.

Do you know if there is any official Docker image for the app?
https://www.navidrome.org/docs/installation/docker/

Thanks!

@jdkdev
Copy link
Author

jdkdev commented Jun 18, 2024

Maybe a start... from AI.

captainVersion: 4
services:
  navidrome:
    dockerfileLines: |
      FROM deluan/navidrome:latest
      USER 1000:1000
      ENV ND_SCANSCHEDULE=1h
      ENV ND_LOGLEVEL=info
      ENV ND_SESSIONTIMEOUT=24h
      ENV ND_BASEURL=
    volumes:
      - $$CAPTAIN_APP_DIR_PATH/data:/data
      - $$CAPTAIN_APP_DIR_PATH/music:/music:ro
    containerHttpPort: 4533
    instanceCount: 1
    deploymentType: 1
    entrypoint: ""
    envVars:
      - id: ND_SCANSCHEDULE
        label: Scan Schedule (ND_SCANSCHEDULE)
        defaultValue: 1h
        description: Interval to scan for new music (e.g., 1h, 30m)
      - id: ND_LOGLEVEL
        label: Log Level (ND_LOGLEVEL)
        defaultValue: info
        description: Log level for Navidrome (trace, debug, info, warn, error, fatal, panic)
      - id: ND_SESSIONTIMEOUT
        label: Session Timeout (ND_SESSIONTIMEOUT)
        defaultValue: 24h
        description: Timeout duration for user sessions (e.g., 24h, 30m)
      - id: ND_BASEURL
        label: Base URL (ND_BASEURL)
        defaultValue: ""
        description: Base URL for Navidrome (e.g., /navidrome)
    volumesExplanation: |
      - /data: Main data directory for Navidrome (e.g., configuration, database)
      - /music: Path to your music folder, mounted read-only
  instructions:
    start: |
      Navidrome is a music server compatible with Subsonic clients. It organizes your music collection and streams it to any client.
    end: |
      Navidrome has been successfully deployed! Access it at http://$$CAPTAIN_APP_NAME.$$CAPTAIN_ROOT_DOMAIN
  displayName: Navidrome
  isOfficial: false
  description: Navidrome is a music server compatible with Subsonic clients, focusing on user experience and ease of use.
  documentation: See https://github.com/deluan/navidrome

@jdkdev
Copy link
Author

jdkdev commented Jun 18, 2024

My failed attempt to make the captain file:

captainVersion: 4
services:
  $$cap_appname:
    image: deluan/navidrome:latest
    ports:
      - '4533:4533'
    environment:
      USER: $$cap_user
      ND_SCANSCHEDULE: $$cap_scanschedule
      ND_LOGLEVEL: $$cap_loglevel
      ND_SESSIONTIMEOUT: $$cap_sessiontimeout
      ND_BASEURL: $$cap_baseurl
    volumes:
      - $$cap_appname-data:/data
      - $$cap_appname-music:/music:ro
caproverOneClickApp:
  variables:
    - id: '$$cap_user'
      label: User
      defaultValue: 1000:1000
      description: User used. (should be owner of volumes)
      validRegex: /[0-9]/
    - id: '$$cap_scanschedule'
      label: Scan Schedule (ND_SCANSCHEDULE)
      defaultValue: 1h
      description: Interval to scan for new music (e.g., 1h, 30m)
    - id: '$$cap_loglevel'
      label: Log Level (ND_LOGLEVEL)
      defaultValue: info
      description: Log level for Navidrome (trace, debug, info, warn, error, fatal, panic)
    - id: '$$cap_sessiontimeout'
      label: Session Timeout (ND_SESSIONTIMEOUT)
      defaultValue: 24h
      description: Timeout duration for user sessions (e.g., 24h, 30m)
    - id: $$cap_baseurl
      label: Base URL
      defaultValue: ""
      description: Base URL for Navidrome (e.g., /navidrome)
instructions:
  start: >
    Navidrome is a music server compatible with Subsonic clients. It
    organizes your music collection and streams it to any client.
  end: >
    Navidrome has been successfully deployed!
displayName: Navidrome
isOfficial: false
description: Navidrome is a music server compatible with Subsonic clients,
  focusing on user experience and ease of use.
documentation: See https://github.com/deluan/navidrome

@jdkdev
Copy link
Author

jdkdev commented Jun 22, 2024

Getting closer:

captainVersion: 4
services:
    $$cap_appname:

        image: deluan/navidrome:$$cap_app_version
        restart: always
        environment:
            ND_BASEURL: https://$$cap_appname.$$cap_root_domain
            ND_SCANSCHEDULE: 1h
            ND_LOGLEVEL: info  
            ND_SESSIONTIMEOUT: 24h
        volumes:
            - $$cap_appname-data:/akaunting-data
            - $$cap_appname-modules:/akaunting-modules
caproverOneClickApp:
    variables:
        - id: $$cap_app_version
          label: Version
          defaultValue: '0.52.5'
          description: https://hub.docker.com/r/deluan/navidrome/tags

    instructions:
        start: >-
            Navidrome is a music server compatible with Subsonic clients. It organizes your music collection and streams it to any client.
        end: >-
            Navidrome has been successfully deployed!
    displayName: 'Navidrome'
    isOfficial: false
    description: Navidrome is a music server compatible with Subsonic clients, focusing on user experience and ease of use.
    documentation: See https://github.com/deluan/navidrome
    ```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant