Jump to content

Squid

Community Developer
  • Posts

    28,769
  • Joined

  • Last visited

  • Days Won

    314

Everything posted by Squid

  1. Squid

    Docker FAQ

    I've told {App-X} to look / move / copy files via SMB to my server. Why doesn't it work? Each docker application runs in its own virtualized network, and generally has no access to any SMB shares, etc that may also be available within your network. To work around this, install the Unassigned Devices plugin (available on the apps tab), and mount a Remote SMB share with it. Then, on the application's template, add an appropriate volume mapping to that Unassigned Devices mount point. Don't forget to set the Access Mode to be either RW:slave or Read Only:slave depending upon what you need.
  2. Squid

    Docker FAQ

    I need help with an application? What information should I supply? To begin with, for the best visibility for your post, always post in the appropriate support thread for the application. To find the proper support thread, go to the Apps tab and then the Installed Apps section (depending upon the problem, you may need to go to the Previous Apps section), find the application application and click on the support link. At the very least, you should post the docker "run" command that will appear when you install / edit the application (you can always make any change and then change it back and hit "Apply" to get the docker run command to appear In many cases, the logs from the application are also very useful (Switch to advanced in the top right) (Note that many applications also have their own specific application logs which can be accessed via the GUI.) Also, keep in mind this particular post from @CHBMB (Even though he is venting, his points are valid). Bear in mind that everyone helping you (or trying to) are volunteers with limited time https://forums.unraid.net/topic/80776-lsio-are-spammers-and-must-be-stopped/?tab=comments#comment-751288 and that the more information you can supply them, the more likely they are to help you.
  3. Squid

    Docker FAQ

    How can I run other docker applications that are not listed within the App tab? Try enabling dockerHub searches within CA (Settings - CA General settings). Search for the container you wish to add. When adding it, CA will attempt to gather all the relevant information about the application and create an XML that unRaid can use. This is not however an exact science, and there are no rules anywhere that state that any particular dockerfile present on dockerHub must export the various paths and ports that it uses. There is no substitute for actually reading the directions on dockerHub on how to actually run the container itself, and then adding the appropriate paths, ports, etc to the template itself. Here's an explanation of how to manually extract the information from the dockerfile to use in the template
  4. Squid

    Docker FAQ

    My docker.img file is filling up due to excessive logging from various apps Some applications will log almost everything that they do. In cases of your docker.img file filling up due to excessive logging, you should look at the application's settings within its GUI and try to limit the logging that it performs. Additionally, you can limit any docker's logging to a set size by adding the following to the Extra Parameters when you edit the application template (Switch to advanced view via the button in the top right corner) --log-opt max-size=50m --log-opt max-file=1 This will limit the log size to a very reasonable 50 Meg EDIT: DO NOT USE THE LOG ROTATION OPTION IN UNRAID LISTED BELOW. IT IS NOT OBVIOUS THE STEPS REQUIRED TO MAKE IT WORK PROPERLY For the log rotation settings to take effect, you MUST remove and reinstall your containers (or delete the docker image). It is advised to instead use the extra parameters section instead * Under unRaid 6.7.0+, the logging options now insert the appropriate entries into the entra parameters, but you still basically have to remove and then re-add the container EDIT: As of unRaid 6.4.0-rc7 you can set this globally for all applications by: Settings - Docker Stop the service Switch to advanced view Enable the logging rotation option accordingly Restart the service
  5. Squid

    Docker FAQ

    Why did my files get moved off the Cache drive? Why do I keep losing my Docker container configurations? Why did my newly configured Docker just stop working? Where did my Docker files go? Docker configuration files and application data are often saved to the Cache drive, but theres a very important thing to remember - if you arent careful, the Mover will move your files off the Cache drive and into a User Share! Most users have User Shares turned on, and if you do then the Mover process is going to try to move files and folders from the Cache drive to a data drive. It assumes that any top level folder on any data drive or the Cache drive is a Share folder. To avoid that, here are the rules for the Mover: * it does not move files at the root of the Cache drive * it does not move root folders IF those folders are configured as Cache-Only shares * it does not move root folders whose name begins with a period. (In Linux by convention, file or folder names beginning with a period are considered hidden.) What we recommend (assuming you are using a Cache drive or pool) - * Configure the Docker image file to be in the root of the Cache drive/pool, where it will be safe. (/mnt/cache/docker.img) * Configure all Docker folders as Cache-Only shares. If you forget, the Mover may move them off the Cache drive! For an example - * The configuration settings for your Docker containers are typically stored in an appdata folder, and the appdata folder is typically stored on the Cache drive. * Create the appdata folder on your Cache drive or pool. * Go to the Shares tab for the appdata folder and change the Use Cache setting to Only. * Now when you configure a Docker container path for the /config folder, set it to /mnt/cache/appdata/APP_NAME (e.g. /mnt/cache/appdata/plex and /mnt/cache/appdata/couchpotato). On first use, those folders will be automatically created for you, and WILL NOT move from the Cache drive. * Note: NEVER use /mnt/user/appdata/APP_NAME as the host path for the /config files. The FUSE md driver does not properly support symlinks which most Docker applications require (many documented instances of this around the threads). Always reference your appdata via /mnt/cache/appdata/APP_NAME If you do not have a cache drive, and are storing your appdata files within the array, then reference the appdata like this: /mnt/disk1/appdata/APP_NAME (or disk2, disk3, etc) If you dont do this, you may run into unexpected results with your applications -> not starting up, strange results, etc.
  6. Squid

    Docker FAQ

    Why cant (insert docker app name here) see my files mounted on another server or outside the array Generally, to have a docker application be able to see files located on another server, or stored outside the array, you would use the plugin called "Unassigned Devices" to mount the appropriate shares. However, on versions of unRaid prior to 6.2beta 20, in order for any docker application to see the files mounted by Unassigned Devices, you must stop the entire docker service (Settings - Docker), and then restart it. If you are running unRaid 6.2beta 20+, then you need to adjust your volume mappings mode (usually either RW or Read Only) to be RW:Slave or Read Only:Slave) by editing the template, and then clicking "Edit" on the volume being passed to the container.
  7. Squid

    Docker FAQ

    Dockers, theres so much to learn! Are there any guides? First, check this whole FAQ topic (the first post has an index). It includes various guides to getting-started and installation issues. Then check the stickied topics on this board, the Docker Engine board. (links to stickies to be added here) Application guides * Guide-How to install SABnzbd and SickBeard on unRAID with auto process scripts * Plex: Guide to Moving Transcoding to RAM * Get Started with Docker Engine for Linux * Get Started with Docker for Windows If you know of other helpful guides (whole topics or single posts), please notify us, post about it in the Docker FAQ feedback topic. Moderators: please feel free to edit this post and its list of guides. Im sure theres a better way to format it.
  8. Squid

    Docker FAQ

    Why does my docker.img file keep filling up while using Plex? April 2016: recent versions of Plex (0.9.16.3, maybe earlier) transcode to the config directory by default, so there is no need to make the changes described below. If you have already configured your plex with a custom transcode directory that is fine, it will not hurt anything. Regardless of which Plex Docker you choose, youll want to configure it to transcode outside of your main docker image. This will help prevent your docker image from filling up. Step 1: On the unRAID Docker settings page for Plex, add a new Volume Mapping (Read/Write). The "Container volume" should be set to "/transcode", for the "Host path"... Option 1: A good default host path would be in the appdata folder on your cache drive, i.e. if your /config directory is set to: /mnt/cache/appdata/Plex/ then the /transcode directory could be: /mnt/cache/appdata/Plex/transcode/ Option 2: If you have a lot of RAM you can save wear and tear on your cache drive by transcoding in RAM. In that case, set the /transcode host path to: /tmp Note: Since about Plex version 0.9.14, transcoding to RAM does not work. Recommend avoiding this option. Step 2: Save your changes to restart Plex, then from within Plex go to Settings -> Server -> Transcoder. Hit the "Show Advanced" button, and in the "Transcoder temporary directory" field put "/transcode" and then "Save Changes". Thats it! For further reading... If you are curious about the other transcoder settings, see this help page on the Plex website See this thread for further discussion on transcoding in RAM. If you continue to have problems with your docker image filling up, discuss it here. Here is a discussion on finding docker containers with large log files.
  9. Squid

    Docker FAQ

    Why does my docker.img file keep filling up? Assuming that you have set a reasonable initial size for the image file of say 15-20 Gig for the average use case, then there are a few possibilities. For applications that download (SabNZBD, NZBGet, etc), you must make sure that the destination AND intermediate (temporary download folders) are stored outside the image file (ie: you must make sure that the appropriate folders are mapped correctly). Any folder which is referenced within the application but NOT explicitly mapped to a user share will wind up being stored within the docker.img file See these posts for some real-world examples of common mistakes: SabNZBD: https://forums.unraid.net/topic/40783-issues-with-either-unraid-or-docker/?do=findComment&comment=399900 NZBGet: https://forums.unraid.net/topic/40815-community-applications-plugin-broke/?do=findComment&comment=400989
  10. Squid

    Docker FAQ

    How do I move or recreate docker.img? The easy way to move or recreate docker.img - 1 Go to Settings -> Docker -> Enable Docker, and set to No, then click the Apply button (this disables Docker support) 2 If recreating your docker.img file, then switch to Advanced View, then check off the box and press Delete, then skip to step 5 3 Using mc or any file manager or the command line, move docker.img to the desired location (/mnt/cache/docker.img is recommended) 4 In Settings -> Docker, change the path for Docker image to the exact location you just copied to 5 Now set Enable Docker back to Yes, and click the Apply button again (re-enabling Docker support) NOTE: If you have created any custom docker networks (eg through docker network create) you will need to recreate them after recreating your image and before reinstalling your applications The standard way to move or recreate docker.img is to stop Docker support, delete the current image, re-enable Docker support The easiest way to reinstall your applications would be to go to the Apps Tab, Previous Apps Section. Then check off all of your previous applications and hit "Install"
  11. Squid

    Docker FAQ

    Why doesnt the "Check for Updates" button bring my Docker to the newest version of the application? The "Check for Updates" button on the DockerMan page checks if the author of the Docker Container made changes to the container itself, not if the Application itself has an update. The changes include how it installs your program or other things on the backend. If the author has built-in a way to update the application (Restarting the docker, in the Web-UI of the Application) it wont show with the "Check for Updates" button. How do I update to the newest version of the application? This isnt consistent across every container, but there are a few common ways to do this. The specific way of updating should be spelled out by the author. Some applications update by stopping the container and restarting it - Example: needos Plex Docker Some applications update through the built in updater in the WebGUI of the application - Example: smdions Headphone Docker Some applications every Friday have updates pushed to the containers which will install the latest version: eg: Most of linux server applications Some applications are hard coded to a specific version, but allow for a Bleeding Edge install. This goes out and downloads the newest version. NOTE: Not always guaranteed to work - Example: smdions Beets Docker This is done by enabling "Advanced View" in the specific docker page (slider in the upper right hand corner) and setting a new Environmental Variable to EDGE=1
  12. Squid

    Docker FAQ

    What are the host volume paths and the container paths Just in case this is too hard to read, if youre reading this part of the FAQ, youre probably going to be best off setting up your docker paths as /mnt mapped to /mnt. Similar to this: Note: Youll notice throughout this that I talk about "best practice" a lot. Truth be told the risks associated with violating the best practices are pretty low. Ive always had a real tough time trying to explain this because it is a confusing issue to try and explain, but trust me that once you understand it will make 100% perfect sense. First thing: Docker Containers are (for all intents and purposes) completely separate from the rest of the unRaid system. A container has no idea that its running on unRaid (or any other system), and has no concept of any other containers that may also be running. What this section really needs is a video with lots of arrows, hand waving, etc. But, this is my best shot at it purely using text. A container usually needs to access information (either read only or read/write) on the host (unRaid) system. Because a container is completely separate from the unRaid system we have to tell it what folders (paths) that it has access to. This is done in the mapping section of the Add Container screen. There are two parts to every line. The container volume path and the host path. The host path is (generally) your shares that you want to give the container access to. Best practice for containers dictates that if the container only needs access to a Downloads share, that you only create a mapping for the Downloads share. On the host path this would be something like /mnt/user/Downloads. On the container path side of things, you tell the container how it should "refer" to the host path. IE: If the container path is /Downloads, then when ever you tell the container to save something into /Downloads, docker will then "map" it and actually store it on your unRaid system at /mnt/user/Downloads. In most cases, it really doesnt matter that much what your host path and container paths are as long as you can get to the data that you want. Where it begins to matter is if you have multiple containers that need to communicate with each other. EG: SabNZBD and Sonaar. In this case, Sab tells Sonaar "I just downloaded a file and stored it in /Downloads" (remember that /Downloads is mapped to /mnt/user/Downloads) Now, if Sonaar has different mappings (eg:/MyDownloads mapped to /mnt/user/Downloads), then its not going to be able to find the downloaded file because it will be looking in /Downloads for the file (like sab told it to), but that folder (/Downloads) does not exist in the Sonarr container. "Best Practice" in this case dictates that both Sab and Sonaar have to have identical matching mappings for the downloads folder. Heres a thread showing one users issues with this: http://lime-technology.com/forum/index.php?topic=43337.0 Maybe an easy way to think about this is to compare it to mapping a network drive in windows. When you map a network drive in windows to something like //tower/MyMovies, windows creates a new drive letter (Z:) and when ever it sees a reference to Z:MyParticularMovie, what it actually does is translate that internally to be //tower/MyMovies/MyParticularMovie. Docker does the same. If you map /Downloads to be /mnt/user/Downloads, the container refers to everything as /Downloads, but internally docker substitutes /Downloads/MyParticularMovie to be /mnt/user/Downloads/MyParticularMovie. In my sample picture above, you will notice that I have a separate /config line. This is where the docker actually stores its data (not its downloads, or whatever). This is almost always mapped to /mnt/cache/appdata/dockername. The template authors have now pretty much settled on using appdata/dockername. The one big caveat is that the appdata share that you create must be a "cache only" share. If you do not set it to be cache only, when the mover script comes along every day at 3am, it will move the files from your cache drive to your array. In the process, permissions on the files will get changed with the net result that your docker application probably will not work correctly the next time you use it. Confused yet? An easy work around to this (but not "best practice") is for on the container and host paths to pass through either /mnt/user or /mnt on both sides on all of your containers. This has the advantage that when youre browsing (within a container) to select a folder, you are going to see the exact folder structure that youre already used to from browsing your shares on your server. In my sample picture above, I would tell Ubooquity (in its UI) that my ebook collection is stored in /mnt/user/ebooks. This happens to be the EXACT same path that you would refer to it within unRaid. Hence why this trick is so easy. The downside is that your container then has access to all of your shares (when theres no real need for it to). And, you pretty much also have to make sure that /mnt/user is always passed with read/write privileges. (One huge advantage of docker is that the container does not have to have write privileges to shares which it doesnt need to. Confused yet? And now for a final kicker. Adding a line called /mnt mapped to /mnt may not work on all containers. Some containers will outright insist on having a /workdirectory or a /downloads folder which you then have to suitable map to a particular share. But, for the majority of them (probably at least the ones with a UI), you should be safe using the /mnt mapped to /mnt trick. P.S. If anyone else can try and come up with something that makes more sense that the above, please be my guest.
  13. Squid

    Docker FAQ

    Why doesnt the "Check for Updates" button bring my Docker to the newest version of the application? The "Check for Updates" button on the DockerMan page checks if the author of the Docker Container made changes to the container itself, not if the Application itself has an update. The changes include how it installs your program or other things on the backend. If the author has built-in a way to update the application (Restarting the docker, in the Web-UI of the Application) it wont show with the "Check for Updates" button. How do I update to the newest version of the application? This isnt consistent across every container, but there are a few common ways to do this. The specific way of updating should be spelled out by the author. Some applications update by stopping the container and restarting it - Example: needos Plex Docker Some applications update through the built in updater in the WebGUI of the application - Example: smdions Headphone Docker Some applications are hard coded to a specific version, but allow for a Bleeding Edge install. This goes out and downloads the newest version. NOTE: Not always guaranteed to work - Example: smdions Beets Docker This is done by enabling "Advanced View" in the specific docker page (slider in the upper right hand corner) and setting a new Environmental Variable to EDGE=1
  14. Squid

    Docker FAQ

    How do I get started using Docker containers? First things to read - * unRAID V6 Manual - has a good conceptual introduction to Dockers and VMs * LimeTechs Official Docker Guide * Using Docker - unRAID Manual for v6, guide to creating Dockers * Later, when you have time, check the other stickied threads here, at the top of the Docker board. First suggestions - * Turn on Docker support in the Settings page (theres more information in the Upgrading to UnRAID v6 guide). * Then install the Community Applications plugin, to obtain the entire list of containers, already categorized for you. You can select the containers you want, and add them from this plugin. * Next, read this entire FAQ! This post includes examples of how to set up the appdata folder for the configuration settings of your Docker containers.
  15. You were hitting "save" (and have docker authoring mode turned on in docker settings)
  16. Nope what it looks like is that template you were using referenced /mnt/user/appdata and not /mnt/user/alppdata/folder delete the offending template from the flash drive /config/plugins/dockerMan/templates-user
  17. Plex Inc. doesn't even recommend to install their unRaid specific plugin. Hence why they have there own "official" docker template available here.
  18. Odds on no drivers for it included in unRaid. Best solution would be to pick up a cheap Intel PCIe adapter and use that..
  19. What version did you upgrade from? There was a onetime thing for EFI when upgrading to something like 6.2
  20. Once after an OS upgrade, I had an issue (can't remember exactly what the error was), but I solved it by switching the vdisk location on the template from /mnt/user/shareName/vdisk1.img to be /mnt/cache/shareName/vdisk1.img. I couldn't however replicate the problem after fixing the template, so I never posted anything about it...
  21. Does that file exist within the VM-FILES share?
  22. error : virStorageFileGetMetadataRecurse:3213 : Cannot access storage file '/mnt/user/VM-FILES/Pritunl_VPN/vdisk1.img' (as uid:0, gid:100): No such file or directory May 24 10:23:34 LittleBett shfs/user: share cache full Is the cache drive full? is the share VM-FILES on the cache drive? (didn't check them all, but it appears that none of the shares are set to use the cache drive at all)
  23. You should post your diagnostics. And another pic as your link doesn't show anything
  24. The plugin leverages the built-in functionality of turbo mode aka reconstruct write available under disk settings to enable / disable turbo write mode depending upon the number of hard disks currently spinning. Main difference is that enabling turbo write via disk settings means you're always using turbo mode while the plugin bounces back and forth. Plugin is basically used to take advantage of when all drives are already spinning, but when some drives are spun down to drop down to the slower mode so that you save money on your hydro bill. Trurl may not have been aware of its existence.
×
×
  • Create New...