[Support] Linuxserver.io - Unifi


Recommended Posts

I had the same problem with this Docker as a few other people have had, but that I've not seen a definitive solution for, and I thought I'd document the best solution I've come up with.  I was having an issue where the Docker would start, but the web UI would fail to become accessible.  Looking at the log files, the issue was with MongoDB, which was giving the error:

 

Fri Aug 12 18:22:34.017 [initandlisten] LogFile::synchronousAppend failed with 8192 bytes unwritten out of 8192 bytes;  b=0x35d4000 errno:22 Invalid argument
Fri Aug 12 18:22:34.017 [initandlisten]   Fatal Assertion 13515

 

This also resulted in the following errors appearing in the unRAID system log:

 

Aug 12 18:22:34 fileserver shfs/user: shfs_write: write: (22) Invalid argument

 

As best as I can tell, the issue is that the MongoDB service is trying to write data to the mapped folder, but the operation it's trying to perform is unsupported by the unRAID file system.  (This may be a completely incorrect analysis!)

 

I believe some people have mitigated this by having the docker data stored on an SSD instead of on the main array, but I haven't yet added an SSD to my setup, so I can only store the data on the main array.  However, by changing the config path mapping from /mnt/user/appdata/unifi to /mnt/disk1/appdata/unifi, I was able to successfully start the docker.  I guess that because MongoDB is now directly accessing the ext4 filesystem on the drive, it can perform whatever operation it's trying to do successfully.

 

This might be worth documenting for others who don't have an SSD and map the config path directly to the main array.  I've seen a few reports of this error in this thread and in some of the other Unifi docker support threads (it doesn't appear to be specific to the LinuxServer image, but to any Docker image that runs MongoDB and maps its folders).

 

 

 

I was having this exact issue still however your solution of mapping app data direct to a disk  e.g.  /mnt/disk1/appdata/unifi  instead of /user/ did work for me...

 

I would add however that simply remapping the user share and restarting the docker didnt fix it, I had to fully delete the docker image AND delete all traces of the old /appdata/unifi folders from my /user/ share, then reinstall it mapped to /disk1/ before it would work

Link to comment

I had the same problem with this Docker as a few other people have had, but that I've not seen a definitive solution for, and I thought I'd document the best solution I've come up with.  I was having an issue where the Docker would start, but the web UI would fail to become accessible.  Looking at the log files, the issue was with MongoDB, which was giving the error:

 

Fri Aug 12 18:22:34.017 [initandlisten] LogFile::synchronousAppend failed with 8192 bytes unwritten out of 8192 bytes;  b=0x35d4000 errno:22 Invalid argument
Fri Aug 12 18:22:34.017 [initandlisten]   Fatal Assertion 13515

 

This also resulted in the following errors appearing in the unRAID system log:

 

Aug 12 18:22:34 fileserver shfs/user: shfs_write: write: (22) Invalid argument

 

As best as I can tell, the issue is that the MongoDB service is trying to write data to the mapped folder, but the operation it's trying to perform is unsupported by the unRAID file system.  (This may be a completely incorrect analysis!)

 

I believe some people have mitigated this by having the docker data stored on an SSD instead of on the main array, but I haven't yet added an SSD to my setup, so I can only store the data on the main array.  However, by changing the config path mapping from /mnt/user/appdata/unifi to /mnt/disk1/appdata/unifi, I was able to successfully start the docker.  I guess that because MongoDB is now directly accessing the ext4 filesystem on the drive, it can perform whatever operation it's trying to do successfully.

 

This might be worth documenting for others who don't have an SSD and map the config path directly to the main array.  I've seen a few reports of this error in this thread and in some of the other Unifi docker support threads (it doesn't appear to be specific to the LinuxServer image, but to any Docker image that runs MongoDB and maps its folders).

 

 

 

I was having this exact issue still however your solution of mapping app data direct to a disk  e.g.  /mnt/disk1/appdata/unifi  instead of /user/ did work for me...

 

I would add however that simply remapping the user share and restarting the docker didnt fix it, I had to fully delete the docker image AND delete all traces of the old /appdata/unifi folders from my /user/ share, then reinstall it mapped to /disk1/ before it would work

Just FYI that 6.2 would odds on fix this issue

 

Sent from my SM-T560NU using Tapatalk

 

 

Link to comment

Thats what I thought too updating to 6.2 is what prompted me to give this docker another go

 

however it still didnt work until I tried the above

If deleting the appdata at the same time as switching to /mnt/user/... didn't work then there's still a function that user shares do not support but disk shares do.  If you ever get bored, you can always try again and post the diagnostics, and any logs from unifi / mongoDB so that Tom can get this fixed up.
Link to comment
  • 2 weeks later...

I know you need to wait till their apt repository is updated but version 5.2.9 is out now.

 

I am not sure if it updates your side updates automatically or not when their repository does or if you get notified on updates. If it's an automatic thing, I won't bother letting you know there is an update in the future.

 

Thanks!

Link to comment

I know you need to wait till their apt repository is updated but version 5.2.9 is out now.

 

I am not sure if it updates your side updates automatically or not when their repository does or if you get notified on updates. If it's an automatic thing, I won't bother letting you know there is an update in the future.

 

Thanks!

 

5.29 is in the unifi apt repository, our images are now set by a cron job in jenkins to refresh on fridays on or abouts 11pm uk time.

the update will be picked up then.

Link to comment
  • 2 weeks later...

Any chance of adding a script for let's encrypt to get an SSL cert for the controller?  I saw this on reddit, might be helpful:

 

 

 

I don't want to edit the docker container myself as it'll probably be overwritten whenever it upgrades.  Just thought this would be pretty neat for those allowing access to the inet for multiple-site setups

Link to comment

Any chance of adding a script for let's encrypt to get an SSL cert for the controller?  I saw this on reddit, might be helpful:

 

https://www.reddit.com/r/Ubiquiti/comments/43v23u/using_letsencrypt_with_the_unifi_controller/

 

 

I don't want to edit the docker container myself as it'll probably be overwritten whenever it upgrades.  Just thought this would be pretty neat for those allowing access to the inet for multiple-site setups

You can use reverse proxy with Nginx Let's Encrypt

Link to comment
You can use unifi.domain.com with reverse proxy also

 

using a url redirect?  not exactly sure how to accomplish it.

 

**edit**

Figured it out, took a couple tries to get the websocket errors to go away:

 

server {
listen 443 ssl;
server_name unifi.domain.com;
access_log /var/log/nginx/unifi.log;
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
location / {
	proxy_pass https://10.81.0.13:8443/;
                proxy_http_version 1.1;
                proxy_buffering off;
	proxy_set_header Upgrade $http_upgrade;
	proxy_set_header Connection "Upgrade";
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
}
}

Link to comment
  • 1 month later...

removed all files for unifi

and try to re add the docker

same problem

 

logs from unraid says

Nov 22 10:22:31 Tower shfs/user: err: shfs_write: write: (22) Invalid argument

 

are there more settings i have to fill in

or settings i have not fill in correct?

001.JPG.2420428cb357f70db1405698d552b93e.JPG

Link to comment

removed all files for unifi

and try to re add the docker

same problem

 

logs from unraid says

Nov 22 10:22:31 Tower shfs/user: err: shfs_write: write: (22) Invalid argument

 

are there more settings i have to fill in

or settings i have not fill in correct?

 

What's in the advanced section?  And what version of unraid are you on?

Link to comment
  • trurl locked this topic
Guest
This topic is now closed to further replies.