Hello, all! I've spent the last few days testing and researching to figure out a setup that will work well for me. My head is spinning a bit and I have some ideas, but I'm hoping that more experience people here can help to point me in a direction that is least likely to waste my time.
I'll start with the requirements that I am trying to meet:
1. A safe and somewhat fault-tolerant NAS that I can use to store the majority of my data.
This part is fairly straight-forward. I'm planning to get two 4TB drives and mirror them. I also plan to set up an off-site backup at some point, but that's outside of the scope of the current project.
2. Secure access to my data from anywhere in the world
I have researched a lot about Nextcloud and it looks like the solution for me. However it seems that creating remote access is not so straight-forward. There are a lot of ways to do it and some look more secure than others. The most attractive option that I found is using a Cloudflared tunnel, but I've had trouble getting that set up. I'm also considering having a VPN set up so that I can still access SMB shares on my laptop from outside the network.
3. An instance of Home Assistant running on the TrueNAS server
I want to use Home Assistant, so if it can run on this box, that simplifies things a lot for me.
4. Secure remote access to the Home Assistant instance
I've seen people accomplish this with Cloudflare as well, so I'm hoping I can kill two birds with one stone there.
Second, here is the hardware that I am working with:
The system is built on a Dell Optiplex 7010 SFF with a 2-core 4-thread i3 cpu. It currently only has 4 GB of RAM, but I have a set of 16 GB in the mail to replace that. It's currently booting off of a 16 GB SD card, but I've got two 64 GB SSDs in the mail to set up a mirrored boot pool.
Here's what I've tried so far:
I installed TrueNAS CORE and got things working pretty smoothly. I installed the Nextcloud app and that spun up and worked on the local network great. However, I then discovered that the Home Assistant app for CORE is no longer being supported, and I also couldn't find a great way to set up secure access with Cloudflare. I believe that I could create a VM in CORE to accomplish those things, but I'm concerned about trying to run a VM on the admittedly limited hardware I have. That brings me to:
Question 1) With an i3 cpu and 16 GB of RAM, would I be able to run a VM and have usable performance? The NAS will only have max 2-3 users hitting it at once, so I'm not asking for much, but that CPU is a pretty small pie, so the less I can slice it up the better.
After doing some more research I discovered that TrueNAS SCALE might be a better option because I can run the services I want (Nextcloud, Cloudflared, Homeassistant) as docker containers that don't have to have a dedicated amount of memory and will just use what they need when they needed. I installed SCALE and have been a bit disappointed with it so far. It is much less responsive than CORE was, and the things that I've tried to do on it that just worked on CORE just haven't worked on SCALE. Nextcloud hangs up when deploying and doesn't run half of the time and I have to try running it again. The settings are all very obtuse and hard to figure out if you don't already know what they do.
Question 2) I know I'm currently running SCALE with less than the minimum requirements for memory, but is that what's causing the issues? I will find out when the extra memory arrives, but if you have any insight in the meantime, please let me know.
I know that SCALE is much younger than CORE and half of my problems with it are that I can't find good documentation and tutorials on how to set it up to do what I want. I'm not confident in Linux (or FreeBSD) so getting into the CLI and poking around myself is a bit useless at the moment. I want to learn so that I can solve these problems on my own, but I also don't want to waste a bunch of time if it just isn't going to work. So to help me not bark up the wrong tree,
Question 3) Given all of the above, would you choose SCALE or CORE for my system? Are my requirements achievable with CORE on my hardware? Any recommendations for the exact apps/containers/services that can help get the job done?
I appreciate any advice you have for me. Either way I will keep chipping away at the problems, but anyone that can lend a light in the darkness would be amazing. Thanks!
I'll start with the requirements that I am trying to meet:
1. A safe and somewhat fault-tolerant NAS that I can use to store the majority of my data.
This part is fairly straight-forward. I'm planning to get two 4TB drives and mirror them. I also plan to set up an off-site backup at some point, but that's outside of the scope of the current project.
2. Secure access to my data from anywhere in the world
I have researched a lot about Nextcloud and it looks like the solution for me. However it seems that creating remote access is not so straight-forward. There are a lot of ways to do it and some look more secure than others. The most attractive option that I found is using a Cloudflared tunnel, but I've had trouble getting that set up. I'm also considering having a VPN set up so that I can still access SMB shares on my laptop from outside the network.
3. An instance of Home Assistant running on the TrueNAS server
I want to use Home Assistant, so if it can run on this box, that simplifies things a lot for me.
4. Secure remote access to the Home Assistant instance
I've seen people accomplish this with Cloudflare as well, so I'm hoping I can kill two birds with one stone there.
Second, here is the hardware that I am working with:
The system is built on a Dell Optiplex 7010 SFF with a 2-core 4-thread i3 cpu. It currently only has 4 GB of RAM, but I have a set of 16 GB in the mail to replace that. It's currently booting off of a 16 GB SD card, but I've got two 64 GB SSDs in the mail to set up a mirrored boot pool.
Here's what I've tried so far:
I installed TrueNAS CORE and got things working pretty smoothly. I installed the Nextcloud app and that spun up and worked on the local network great. However, I then discovered that the Home Assistant app for CORE is no longer being supported, and I also couldn't find a great way to set up secure access with Cloudflare. I believe that I could create a VM in CORE to accomplish those things, but I'm concerned about trying to run a VM on the admittedly limited hardware I have. That brings me to:
Question 1) With an i3 cpu and 16 GB of RAM, would I be able to run a VM and have usable performance? The NAS will only have max 2-3 users hitting it at once, so I'm not asking for much, but that CPU is a pretty small pie, so the less I can slice it up the better.
After doing some more research I discovered that TrueNAS SCALE might be a better option because I can run the services I want (Nextcloud, Cloudflared, Homeassistant) as docker containers that don't have to have a dedicated amount of memory and will just use what they need when they needed. I installed SCALE and have been a bit disappointed with it so far. It is much less responsive than CORE was, and the things that I've tried to do on it that just worked on CORE just haven't worked on SCALE. Nextcloud hangs up when deploying and doesn't run half of the time and I have to try running it again. The settings are all very obtuse and hard to figure out if you don't already know what they do.
Question 2) I know I'm currently running SCALE with less than the minimum requirements for memory, but is that what's causing the issues? I will find out when the extra memory arrives, but if you have any insight in the meantime, please let me know.
I know that SCALE is much younger than CORE and half of my problems with it are that I can't find good documentation and tutorials on how to set it up to do what I want. I'm not confident in Linux (or FreeBSD) so getting into the CLI and poking around myself is a bit useless at the moment. I want to learn so that I can solve these problems on my own, but I also don't want to waste a bunch of time if it just isn't going to work. So to help me not bark up the wrong tree,
Question 3) Given all of the above, would you choose SCALE or CORE for my system? Are my requirements achievable with CORE on my hardware? Any recommendations for the exact apps/containers/services that can help get the job done?
I appreciate any advice you have for me. Either way I will keep chipping away at the problems, but anyone that can lend a light in the darkness would be amazing. Thanks!