• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support General Questions Where is the config.json file on Windows?

    Pages (3): « Previous 1 2 3 Next »

     
    • 0 Vote(s) - 0 Average

    Where is the config.json file on Windows?

    4r5hw45twh
    Offline

    Member

    Posts: 132
    Threads: 31
    Joined: 2024 Mar
    Reputation: 0
    #11
    2025-01-21, 02:44 AM
    (2025-01-21, 12:38 AM)TheDreadPirate Wrote: Check that the user running the container can read the file.  Try clearing your browser cache.  Also try rebuilding the container.

    How would I do that first part? The user for everything is the one I originally made when setting up Ubuntu. I do, however, need to use "sudo" before commands and whatnot, though, so how do I make the permissions proper if they weren't by default?

    I did a copy command earlier to copy config.json from the Docker container to my host and it did have a lock on it and when I double-clicked it, it opened it in my browser and said I didn't have access or something. But I could open it with sudo nano.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #12
    2025-01-21, 03:32 PM
    Did you provide a user ID in the docker compose config? If not, then root is running the container and shouldn't have any restrictions. If you did provide a user ID, that user needs access to web-config.json and all the folders leading to it.

    If you had to use sudo to open it, Docker probably can't read it. Meaning only root could open it.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    4r5hw45twh
    Offline

    Member

    Posts: 132
    Threads: 31
    Joined: 2024 Mar
    Reputation: 0
    #13
    2025-01-21, 04:49 PM (This post was last modified: 2025-01-21, 04:51 PM by 4r5hw45twh. Edited 1 time in total.)
    (2025-01-21, 03:32 PM)TheDreadPirate Wrote: Did you provide a user ID in the docker compose config?  If not, then root is running the container and shouldn't have any restrictions.  If you did provide a user ID, that user needs access to web-config.json and all the folders leading to it.

    If you had to use sudo to open it, Docker probably can't read it.  Meaning only root could open it.

    The docker compose config for Jellyfin? It is set to "1000:1000". Should I just remove that line and re-run the compose.yml file? The user stuff is all default how it came out of Ubuntu. I assumed when it asked me to name the account being made, I'd have full access to everything at anytime 9which is what I want). Typing "sudo" for most stuff is annoying. So, how would I make myself (the current and only user that'll ever be on the PC) sudo/root/whatever? On the host, I can access the folder directory fine because I created the folders myself. Just not the config.json file it copied from Docker.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #14
    2025-01-21, 04:56 PM (This post was last modified: 2025-01-21, 04:58 PM by TheDreadPirate. Edited 1 time in total.)
    1000:1000 is fine. It is better to run containers as a less priviliged user instead of root.

    BTW, 1000 is the ID for your user. So if you had to sudo to open the file in nano, then your container can't access it. So you will need to chown and/or chmod the file and folders config.json so that your user doesn't need to use sudo to open it.

    The user you create during setup is not a "super user". Root is the only super user on the system and you cannot make your user a permanent super user. This is by design.

    You can temporarily run as root by typing "sudo su". This will elevate you to root's shell, but it is best practice to only do this when you have to.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    4r5hw45twh
    Offline

    Member

    Posts: 132
    Threads: 31
    Joined: 2024 Mar
    Reputation: 0
    #15
    2025-01-21, 05:03 PM (This post was last modified: 2025-01-21, 05:07 PM by 4r5hw45twh. Edited 2 times in total.)
    Ok, so this is where I get lost.
    You said, "So if you had to sudo to open the file in nano, then your container can't access it" but isn't it the other way around or no? I just let Docker do whatever it does. But when I copied the config.json from wherever it was in Docker and it had a lock on it, doesn't that mean I can't access it from my host and not the other way around?

    (2025-01-21, 04:56 PM)TheDreadPirate Wrote: So you will need to chown and/or chmod the file and folders config.json so that your user doesn't need to use sudo to open it.

    This is where I'm lost. How do I go about doing this? My web-config.json file is located at:
    /home/username/Dockers/Jellyfin/Config

    And since I made those directories and web-config.json myself, it doesn't lock those out or anything. Only locked file was when I copied regular config.json from Docker to my Documents area.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #16
    2025-01-21, 06:29 PM
    Just to verify how this works, I added a custom config.json to my test setup.

    My docker compose.

    Code:
    services:
      jellyfin-testing:
        image: jellyfin/jellyfin:10.10.3
        container_name: jellyfin-testing
        hostname: jellyfin-testing
        user: 1002:1002
        group_add:
          - '993' # Intel render group
        networks:
          blackmoon:
            ipv4_address: 172.16.100.2
        expose:
          - 8096
        volumes:
          - ./jellyfin-stable-data/config:/config
          - ./jellyfin-stable-data/cache:/cache
          - ./jellyfin-stable-data/web/config.json:/jellyfin/jellyfin-web/config.json
          - /media/library:/media/library:ro
          - /media/storage2:/media/storage2
          - /media/ramdisk:/media/ramdisk
        devices:
          - /dev/dri/renderD128:/dev/dri/renderD128
        environment:
          - TZ=America/New_York
        restart: unless-stopped

    Ownership of the folders and file.  User ID 1002 from my docker compose corresponds to the "jellyfin" user.

    Code:
    chris@rat-trap:/docker/containers$ ll -d jellyfin-stable-data/ jellyfin-stable-data/web/
    drwxr-x--- 5 jellyfin chris 4096 Jan 21 13:15 jellyfin-stable-data//
    drwxr-x--- 2 jellyfin chris 4096 Jan 21 13:18 jellyfin-stable-data/web//
    chris@rat-trap:/docker/containers$ ls -l jellyfin-stable-data/web/config.json
    -rw-r----- 1 jellyfin chris 1170 Jan 21 13:18 jellyfin-stable-data/web/config.json

    The contents of config.json

    Code:
    chris@rat-trap:/docker/containers$ cat jellyfin-stable-data/web/config.json
    {
      "includeCorsCredentials": false,
      "multiserver": false,
      "themes": [
        {
          "name": "Apple TV",
          "id": "appletv",
          "color": "#bcbcbc"
        }, {
          "name": "Blue Radiance",
          "id": "blueradiance",
          "color": "#011432"
        }, {
          "name": "Dark",
          "id": "dark",
          "color": "#202020",
          "default": true
        }, {
          "name": "Light",
          "id": "light",
          "color": "#303030"
        }, {
          "name": "Purple Haze",
          "id": "purplehaze",
          "color": "#000420"
        }, {
          "name": "WMC",
          "id": "wmc",
          "color": "#0c2450"
        }
      ],
      "menuLinks": [
          {
              "name": "Main Jellyfin",
              "url": "https://jellyfin.domain.tld"
          }
      ],
      "servers": [],
      "plugins": [
        "playAccessValidation/plugin",
        "experimentalWarnings/plugin",
        "htmlAudioPlayer/plugin",
        "htmlVideoPlayer/plugin",
        "photoPlayer/plugin",
        "comicsPlayer/plugin",
        "bookPlayer/plugin",
        "youtubePlayer/plugin",
        "backdropScreensaver/plugin",
        "pdfPlayer/plugin",
        "logoScreensaver/plugin",
        "sessionPlayer/plugin",
        "chromecastPlayer/plugin",
        "syncPlay/plugin"
      ]
    }

    And it appeared as expected.

       

    So let's check the ownership of your config.json, since everything else you shared appears to be in order.

    Code:
    ls -ld /home/username /home/username/Dockers /home/username/Dockers/Jellyfin /home/username/Dockers/Jellyfin/Config
    ls -l /home/username/Dockers/Jellyfin/Config/*
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    4r5hw45twh
    Offline

    Member

    Posts: 132
    Threads: 31
    Joined: 2024 Mar
    Reputation: 0
    #17
    2025-01-21, 07:26 PM (This post was last modified: 2025-01-21, 07:38 PM by 4r5hw45twh. Edited 8 times in total.)
    (2025-01-21, 06:29 PM)TheDreadPirate Wrote: So let's check the ownership of your config.json, since everything else you shared appears to be in order.

    Code:
    ls -ld /home/username /home/username/Dockers /home/username/Dockers/Jellyfin /home/username/Dockers/Jellyfin/Config
    ls -l /home/username/Dockers/Jellyfin/Config/*

    The first command gives me:
    [Image: WYleTfE.png]

    And wait a minute, I don't see you using a path for "web-config.json", just "config.json". Is that intentional, or is the guide page wrong, or? Because in the guide it says to do (which I followed) :

    "/mypath/to/config/web-config.json:/jellyfin/jellyfin-web/config.json"
    https://jellyfin.org/docs/general/client...ig/#docker

    Oh, and for the second command, I get this:
    [Image: 5U2PjNc.png]
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #18
    2025-01-21, 08:15 PM (This post was last modified: 2025-01-21, 08:15 PM by TheDreadPirate.)
    I don't think it matters what you call the file on the host side. I kept the files names the same for simplicity.

    I see the problem. You put web-config.json within a folder you've already added to the container. You are trying to, essentially, map the file twice.

    It needs to be in a separate folder. Not nested within an existing folder.

    /home/username/Docker/Jellyfin/web/ or something like that.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    4r5hw45twh
    Offline

    Member

    Posts: 132
    Threads: 31
    Joined: 2024 Mar
    Reputation: 0
    #19
    2025-01-21, 08:25 PM
    (2025-01-21, 08:15 PM)TheDreadPirate Wrote: I don't think it matters what you call the file on the host side.  I kept the files names the same for simplicity.

    I see the problem.  You put web-config.json within a folder you've already added to the container.  You are trying to, essentially, map the file twice.

    It needs to be in a separate folder.  Not nested within an existing folder.

    /home/username/Docker/Jellyfin/web/ or something like that.

    Oh, I thought the left side of the path line was host and right was Docker?

    And oh, ok, I will try that real quick. I tried to keep it in Config so that if I ever need to migrate/backup JF, everything is either in /cache or /config folders.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #20
    2025-01-21, 08:51 PM
    (2025-01-21, 08:25 PM)4r5hw45twh Wrote: Oh, I thought the left side of the path line was host and right was Docker?


    That's right, but you put web-config.json in a folder on the host that is already mapped to /config in the container.  Meaning you can't then map a specific file in that to another place in the container.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    Pages (3): « Previous 1 2 3 Next »

    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode