Skylord123

Members
  • Posts

    38
  • Joined

  • Last visited

Converted

  • URL
    https://skylar.tech

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Skylord123's Achievements

Noob

Noob (1/14)

6

Reputation

  1. Change to the docker tag that has that nodejs version.
  2. Yeah unclean shutdown breaks this setting. I set this setting yesterday and everything was working until server crashed in the middle of the night and it stopped. Just like others I had to disable docker and re-enable it. This is definitely a bug. Should not break from unclean shutdowns.
  3. I just upgraded to Unraid 6.11.1 from 6.9.0 and started having permission issues with Node-RED & MQTT. I ended up fixing it by running these commands: cd /mnt/user/appdata/nodered chmod -R ug+rw,ug+X,o-rwx ./ chown -R nobody:users ./ I then modified the Node-RED docker container from the Unraid GUI and added --user 99:100 And now Node-RED works again Now to fix MQTT I ran those exact same commands above (on the MQTT directory) and instead of changing the user it runs as (as that failed to make it start) I instead just added the users group to the container by putting this in the extra parameters: --group-add 100 And now both Node-RED and MQTT are working for me again. Give that a shot @Titan84 and @TDA and hopefully that fixes it for you.
  4. Try deleting your MQTT database file and starting again. My db file got corrupted by improper shutdown (my UPS failed) and this was only way to fix it. May be your issue as well.
  5. *shrug* It is definitely a permission issue based on the error you are getting. There is a possibility that the MQTT container is changing the permissions in it's startup script. It's also a possibility that code-server is having an issue. I've never used code-server and just modify my files over SFTP/NFS as the root user. That prevents me from dealing with any permission issues. Set all the files to be owned by user nobody and group users. I had this issue with my Node-RED container as well and that fixed it for me. None of those files should be owned by root (which is why you got that error telling you that). Most containers for Unraid use nobody:users. chown -R nobody:users /mnt/user/appdata/node-red
  6. Check the permissions, user, and group owner of the files and compare it to other files that you can access. This will tell you that information: ls -all /path/to/file
  7. When you create or edit docker containers you can mount folders and files on the host to locations inside the container. Example: I mount my /mnt/user/share/media directory to /media_share in the container for storing timelapse photos.
  8. I was actually wrong in my previous post. The Docker Hub URL is actually used in Unraid to check for updates. So keeping this up-to-date is handy if you like to see new versions that are released and update via the Unraid GUI. So yes, do update the Docker Hub URL to point to the new non-deprecated URL.
  9. Looks like your repository actually is updated. The old one had -docker on the end of it (so it was nodered/node-red-docker). The docker hub URL doesn't get updated when you change the repo and has to be updated manually (and is really just there so you have a link to where the docker container came from.. It auto fills from the CA but if you ever change the repository you need to manually update the Docker Hub URL if you want it to be correct). I recommend using a version tag from Node-RED as breaking changes can occur between major versions (i.e. 12.0.0 to 13.0.0) that can require changes to be made before updating (or some of your modules aren't updated to run on the new version which may be why you had to remove those modules.. you may now be able to reinstall them via node-red and it will pull the updated version for the latest NR release). It is generally bad practice to use no tag as it will always pull the latest tag which can sometimes be development (or whatever was built last on dockerhub for this repo). This is why I am using nodered/node-red:latest-12 instead of nodered/node-red (which is the same as nodered/node-red:latest) so I always have the latest version of Node-RED 12. I actually recommend going through all your containers and making this update as it can prevent issues with updating down the road (each container has their own tags though so you will need to look those up yourself on their respective hub pages). You're welcome! I ran into the same issue quite a while back so glad I was able to help you out.
  10. Did you guys update to the new repository? The repo changed a while back and I noticed when I tried to upgrade the image off the old repo it failed with a similar error (it was actually launching and running node-red for me but all NPM commands failed so I was in a broken state so none of my flows were running). I'm running with this currently: nodered/node-red:latest-12 Also if you started over by re-installing did you nuke the previous folder or choose a new location in appdata to install to? If you are using the same folder as before that's most likely why things are broke. Whenever you start over it's a good idea to either nuke your appdata folder or choose a new one to install to. Run this command to see what log files are using space on your system (If you install the User Scripts plugin this is one of their scripts): du -ah /var/lib/docker/containers/ | grep -v "/$" | sort -rh | head -60 | grep .log Now run this command to truncate the log files that are too big: echo "" > <log file path from previous command> Example: echo "" > /var/lib/docker/containers/d6f6b5093722d4f93589e3f4e9211b9720b28568f924b4fe4edd9634cfb728df/d6f6b5093722d4f93589e3f4e9211b9720b28568f924b4fe4edd9634cfb728df-json.log Now run the du command again to list out log file sizes and it should be empty. There aren't really "Best Practices" as it all depends on what you need logged and your use case. I'm using MQTT for my home automation so I really only care about logging what devices connect and error messages. This is what I have my log options in mosquitto.conf set to: log_dest stderr log_type error connection_messages true log_timestamp true If you really want to add log rotating it is an option you can pass to the container. Here is a post that describes it very well: https://medium.com/@Quigley_Ja/rotating-docker-logs-keeping-your-overlay-folder-small-40cfa2155412
  11. Ah sorry I thought I had a section about proxying with NGINX. So Lets Encrypt is just used to give the NGINX instance an SSL certificate. What is actually doing the fun proxy stuff is NGINX. A quick google search of "Proxy MQTT websocket with NGINX" reveals this helpful link: https://community.openhab.org/t/reverse-proxy-mqtt-through-nginx/36026/2 I actually didn't like the idea of exposing my MQTT instance over the internet so I instead setup a VPN on my network that I set devices outside my network to connect to. This gives them secure access to my network from outside without the worry of securing my MQTT instance for the public internet.
  12. I made a post about how to accomplish this here: https://skylar.tech/installing-mqtt-under-docker/ I also have various other posts that utilize MQTT that you may find worth checking out.
  13. So I was trying to start an ark server last night and was having issues getting it to run on ports other than the default ones. Come to find out it's because the SERVER_NAME env variable gets inserted into the startup params for the server and if the SERVER_NAME contains a space it will break all server params passed after the SERVER_NAME declaration in the params (so in my case I was passing the Port and QueryPort in the Game Parameters which gets appended to the end of the params string which then gets ignored). I don't think you can actually specify a server name with spaces on the server params. The correct way to set SessionName so it can have spaces is to do it within GameUserSettings.ini for the server. Can we get an update that instead places the SessionName into this file instead of using the launch options? That or make it so SessionName only gets applied to the server params if it is actually set and place a note in the Unraid template explaining that server name defined via ENV variables cannot contain spaces (I prefer the first option but honestly either one will get it so I can have spaces in my SessionName/Server Name). And lastly.. Can we get a version of the ark server with arkmanager? I really like how easy arkmanager makes managing servers (such as handling mod installing/updates automatically for you). Thanks for the great containers btw
  14. What did you set nodered's appdata path to? Is it the same path you ran that ls command on? If you changed what the default install directory is you will need to LS that directory instead of the one I mentioned. /mnt/user/appdata/nodered is the default only if you didn't change it. If you didn't change the default path and it is missing now that is pretty alarming and points to either corruption or something deleted it. I actually use CrashPlan for backing up my entire appdata folder because I have had drives fail & accidents happen.
  15. Sounds like there is some sort of permission issue with your mounted /data volume. The /usr/src/node-red/node_modules/node-red/settings.js path is inside the container and wont exist on the host (which is why you probably didn't find it). This doesn't matter though because this is just copying the default config file if one doesn't exist. The real problem lies within your mounted appdata volume for node-red (default path on unraid host is /mnt/user/appdata/nodered (unless you specified some other path). I would run this command to see what the permissions are for this directory: ls -all /mnt/user/appdata/nodered My guess is it is a permission issue but it could be something else. This command should give you all the information you need to fix the problem. If you can't figure it out feel free to post the output here and I can help you out some more.