Single hardware multiple use-cases reddit / selfhosted ---------------------------------------------------------------------- PEGE_13 · 2023-11-06 15:08 TL:DR: What is the best way to run a TrueNAS server alongside a daily driver Desktop on the same hardware? If not viable, why not? And what alternatives I have? ​ I am looking to upgrade my current PC for a while. And my original idea was to repurpose my current hardware and build a home lab out of it. Long story short due to space constraints and hardware compatibility it is currently not practically nor financially viable to have two machines laying around. As I dived deeper into this rabbit hole I started to think if I can use a single machine for my the combined use-case. I currently run Fedora SilverBlue as my daily driver PC: gaming via steam, media consumption, web browsing, etc. I would like to host my own Nextcloud instance to migrate photos, files from cloud services(top priority in relatively short notice). Additionally in the future set-up a few other services, e.g: media server(Jellyfin?), DNS server(AdGuard Home?) and maybe a few others down the line. Original idea was to just set up Docker containers for the services that run on my main OS. I consider myself fairly technical but Docker(docker compose, docker swarm, kubernetes, portainer etc.) has its learning curve, and I run into quite a few issues, trying to figure out the different technologies and how they are tied together. This the point where I stumbled upon TrueNAS(Scale) and figured I might have an easier time just setting it up, with its nice GUI and AppStore like features, that makes the configuration overhead(and learning curve) less of a burden. Now the question is how to go about this? My TrueNAS/Nextcloud should be running \~24/7, while my Desktop is running a few hours a day and needs to be directly accessible from the same machine. Someone suggested Proxmox, that seems like the perfect solution, except most posts advise to access the VMs from another client, and not from the host directly. Running a TrueNAS VM in Fedora with PCI passthrough for the HDDs, should be the easiest to set-up, but I fear this is the least bullet proof. Running the individual services in containers on my Desktop is still an option, but I would avoid for the reasons detailed above. Is there another option I should consider? What do you Reddit people suggest? My head is already spinning from reading wikis, reddit posts, and watching tutorials. So please guide me in the right direction. ---------------------------------------------------------------------- mistersinicide · 2023-11-06 15:35 If you only have 1 machine, there's no point in trying to run TrueNAS in your situation. Sure you could choose to install a Hypervisor like Proxmox and create 2 VMs one for your desktop and one for TrueNAS and pass through a Graphics Card + usb devices, but this seems overtly complicated and unnecessary. Since you're already running Fedora, running something like VirtManager to stand up a TrueNAS VM and pass through some Harddrives could work for sure. But why do you need to run TrueNAS if you're just looking for a way to share the drives out, you could accomplish that in Fedora as well. If you're looking to TrueNAS as a way to run containers, this can also be accomplished in Fedora just running docker. If the goal is just to spin up some containers, just stick with Fedora and learn docker and docker-compose yamls, don't complicate things if you're just starting out and learning. ---------------------------------------------------------------------- PEGE_13 · 2023-11-06 16:05 The end goal is to host my personal "cloud storage" to move away from Google services in general. Store personal photos and files, that can be shared with friends and family, back-up phones, laptops and my PC in a redundant way. And move my media library from a single external hard drive to a media server accessible on the network. Out of these the photo back-up and sharing part is somewhat urgent. As I mentioned in my post my original plan was to just set-up a few containers for this purpose. I managed to setup Nextcloud, but ran into numerous issues while trying to setup a reverse proxy and fail2ban. For now I lack the deep understanding of the interaction between the different cloud technologies, and even though I am interested in learning them I do not currently have the time to dedicate needed to resolve these issues. Already spent more time researching then I planned for the implementation. This is how I ended up considering TrueNAS. I already have an Asustor AS1102T NAS at home. And I had a way easier time setting that up with its software stack and graphical interface. But I do not trust their services to expose it to the internet. And it's hardware is rather weak(Realtek processor, 1GB RAM). My current PC is an ATX full tower, that does not get wife approval to be placed in the living room, even though the hardware would be sufficient for this purpose(Ryzen 5 1600, 16GB RAM). And downsizing it just does not make sense financially as I would need new ITX motherboard, ITX PSU and a new case. ---------------------------------------------------------------------- No_Dragonfruit_5882 · 2023-11-06 16:24 Dont go with truenas as cloud storage. It a nas, local storage backend and i wouldnt expose it to the Internet. My solution would be => Proxmox: -Nextcloud -opnsense (Firewall + reverseproxy) It will complicate things a bit at first, but imho its the only Real way to start something that is not butchered together. + If you are not 100% sure what you are doing use learn how to use vlans instead. Does not matter if a Service gets hacked because you forgott something, but its important that they only take over this one vlan + Service and not over your whole network. Tldr: My Steps would be => 1. Wait for your New pc 2. Install proxmox 3. Install opnsense (*might look into the pfsense sub if you really wanted to use pfsense) 4. Setup Vlans 5. Start with your services ---------------------------------------------------------------------- mistersinicide · 2023-11-06 16:27 Honestly it sounds like it might just be easier to purchase a VPS and set NextCloud there. Depending on how much data is being utilized, that may work. I'm of the personal belief of not exposing the machine you use daily to the internet like this if you're hosting services like NextCloud publicly. So personally I would choose to separate services from my personal computer. But it sounds like you're in a tight situation since you need to pass Wife Approval. If you can spare the money on a pc, look into Small Form Factor computers like Lenovo's thinkcentre Small form factor, they're small enough that you could just stack it on top of your current pc. Then you can run Proxmox or whatever on it. But it also sounds like you might have a large media library, so maybe the SFF pcs are not a viable option nor VPS being an option either. If you already have a NAS at home where all your media is stored, then I think the SFF pc is still a good idea, because you can just mount the NAS storage via CIFS/SMB or whatever and expose that to NextCloud. I understand that you have a lot of different options, but that's kinda the thing about self-hosting. So if this was me and I had this Asustor NAS, then i'd just spend like 150 on a Lenovo SFF pc, park it near my desktop hidden from the wifey and install Proxmox on it, spin a VM, spin up portainer on said vm, mount a SMB share to the NAS, deploy NextCloud mounting said share. Then you can expose NextCloud via CloudFlare Tunnels or something if you want it exposed publicly. This way NextCloud is accessible from your desktop and whoever else needs access. ---------------------------------------------------------------------- PEGE_13 · 2023-11-06 16:53 I plan on building SFF regardless. Might be MFF if it will need to house hard drives. The problem is that my current PC is a full tower so I cannot just put it in place of the Asustor NAS I currently have. I bought the NAS quite cheap to experiment, but the hardware is so limited that it is truly only for storage, anything more demanding takes forever. This is why I started to look into containers and VMs to see if I can isolate the two platforms in a way that makes sense. Without having to spend \~300 euros to downsize my current rig. ---------------------------------------------------------------------- PEGE_13 · 2023-11-06 17:01 I considered TrueNAS for the more intuitive interface and "appstore". Generally if it has a GUI I have a better time understanding what is happening. And I don't like just mindlessly copy pasting commands from tutorials without understanding what effect they actually have. Also I found many mentions of people running Nextcloud on TrueNAS behind a reverse proxy. ---------------------------------------------------------------------- No_Dragonfruit_5882 · 2023-11-06 17:03 Proxmox has a gui. So that point is already gone. Appstore => Proxmox can install pretty much any OS you like ---------------------------------------------------------------------- mistersinicide · 2023-11-06 17:08 I've never used the Asustor NAS, so I don't know how well it performs, but I think all you need it to do is serve files, which according to the specs it has online seems fine, it's even got a 2.5G nic, so mounting a SMB share and serving files should be fairly quick, you can obviously do further testing to see what kind of read/write speeds you get from mounting it. I might not be understanding, but I'm assuming your current situation is that you have a Desktop and a NAS. I'm assuming both of these can stay? if that's the case, again I'd just get a SFF in addition so that I could run Proxmox on it and mount the existing shares from that NAS. And again that SFF computer is so small, it would be well out of sight behind the Full ATX tower. ---------------------------------------------------------------------- PEGE_13 · 2023-11-06 17:14 Yeap, that is why proxmox looks like the "almost perfect" solution. But the general consensus in the proxmox sub is to run the proxmox server headless, and access the VMs from another client. However I would like to log in to the desktop VM from the host machine, like a normal desktop. While TrueNAS(or some other server) is running headless in a separate VM. Any suggestion on that is also appreciated. ---------------------------------------------------------------------- No_Dragonfruit_5882 · 2023-11-06 17:17 Bro, proxmox has a webinterface. Just cause the server has none, why do you need a gui? Last time i accessed my proxmox with ssh was like 1 Year ago. You can access proxmox anywhere in your house, and it gives you a webinterface. I have no idea who told you to use cli?! ---------------------------------------------------------------------- PEGE_13 · 2023-11-06 17:33 The NAS functions well with its own Asustor applications. But I don't trust them enough to expose them to the internet. I currently have Nextcloud installed on it, only accessible on the local network. I love the functionality but the hardware is too weak to run it with decent speed. This is what I want to replicate on my PC hardware in an isolated way. My current PC is in my office, that will be replaced with the new PC. The NAS is in the living room but that cannot be replaced with my current PC due to being a huge and ugly ATX full tower. ---------------------------------------------------------------------- mistersinicide · 2023-11-06 17:35 Maybe I'm not coming across clear. But the NAS should just serve files. You mount the share via SMB/CIFS to another computer (e.g. your desktop or a new computer) and that's where you deploy NextCloud, not on the NAS, but on a machine with better hardware for running the application and the NAS itself just serves the files. Let me know if that's not clear and I can try and elaborate further. ---------------------------------------------------------------------- Scaredy14 · 2023-11-06 19:49 Have you heard of or considered UnRaid? Check out r/unraid. Also, on YouTube, SpaceInvaderOne and Ibracorp have amazing step by step tutorials. Sorry, this post got long... TLDR: I love UnRaid and below are all the things I currently use it for and what I hope to use it for in the future, based off of what I have seen others do (so I know it's possible). Long story short, currently run 2 gaming VMs, several servers (Plex, minecraft, Blender, Home Assistant, and more) all running on not-the-most-impressive single CPU, motherboard, and 2 GPUs, all at the same time (and directly connected to monitors. Remoting in is possible but not required). I wanted basically the same thing you want. I saw Linus Tech Tips' video (linked below) for 2 gaming rigs in 1 tower, and I immediately decided, "I want that!" Important notes about the video: 1. UnRaid is much nicer now than in the video. 2. You don't need an old junky GPU dedicated to UnRaid (at least not anymore. Maybe you did when the video was created). 3. You don't need super powerful and expensive equipment to run UnRaid (I'll get to my parts list later). 4. They mentioned setting up a NAS, alongside the 2 gaming VMs, but I don't remember seeing them actually doing that. But it is absolutely possible and easy! https://youtu.be/LuJYMCbIbPk?feature=shared So, my setup to give you an idea of requirements (though you can run UnRaid on older, less powerful equipment. It all depends on your wants and needs). I have the following equipment: CPU: Ryzen 5 3600X Motherboard: Gigabyte Aorus Ultra X570 GPUs: one RX580 and one RX570 (need to be different models, at least when I set it up. I think you MAY be able to get away with two of the same GPUs now, but not 100% sure about that). RAM: 32GB (8GB to each gaming VM, UnRaid has not come close to using the rest. I think I'm at 37% utilization). Array storage: one 2TB data disk and one 2TB Parity drive for data recovery (super easy to add new disks to the array and of different sizes. Parity disk just has to be equal or larger than the largest data disk). Cache drive: one 1TB NVMe I run 2 daily driver gaming VMs, each directly plugged in to their respective GPU. We don't play the most demanding of games, but everything runs nice and smooth. We play games like League of Legends, Call of Duty: Warzone, and Assassins Creed Odyssey. I also have other VMs without GPUs that I can spin up with a single button click and access through my gaming VM web browser (or phone, or tablet, heck even did so through my smart tv just because I could) without needing to install anything on the device I'm accessing the VM from. All thanks to UnRaid's built-in VNC for VMs. On the same machine, I also have a Plex server, Minecraft server, Home Assistant, photo backup, and more, all running in UnRaid's built-in Docker. And, UnRaid has a plug-in called Community Applications that allows users to create Docker Containers for UnRaid that are mostly 99% ready to go with minimal configuration on the user side. I installed all those servers with a few button clicks, and I've never used Docker before. I'm currently reconfiguring my setup so that I have as little as possible installed on my VMs, and everything I want will just be ran as headless services that I can access from any device on my network. If I need to wipe a VM and spin up a new one, I don't have to reinstall so many programs. Which also allows for a single install of a program that is accessible from almost any device on my network. I currently have Blender as a headless service I access from a browser (great for if I want to sit on the couch or back porch with a tablet rather than at my desk). Eventually, I want to make it securely accessible from the internet as well (which people do. I just don't know much about doing that and want to make sure I don't unnecessarily expose myself to random bots that crawl the internet looking for unsecured devices). There is a Steam Headless Server on Community Applications that I want to install, which allows in browser streaming of games, or you can stream it to a device like a Steam Deck as well. UnRaid is a one-time purchase fee for a lifetime license, which includes updating to the latest version for life. Rumor has it that they will honor really old licenses that they gave away from free many years ago. They also have 30-day free trials, and I've heard you can get up to two 15-day extensions if you ask. It runs from a USB (like when you can do with Linux on a Windows machine), so I believe you can just pop the USB in, boot from it, and see how you like it! Just don't go formatting disks or doing any crazy configurations while you try it out. There is even a way to boot your bare metal OS install as if it were a VM, which allows you to still access what you already have or just reboot back to your normal bare metal OS. Do note that the UnRaid team is small. Like tiny. But with such an amazing community, you can easily get help either from their forums, Reddit, or you even can pay for tech support. ---------------------------------------------------------------------- DarkKnyt · 2023-11-07 03:28 I run proxmox on a a single tower server. I have xfce4 on the proxmox install so I don't run it headless... But I mostly run all sorts of other containers and VMs. I just played battlefront ii on my windows VM while frigate in my docker lxc did ai detection on 3 cameras, immich allowed any backup to sync, my "nas" was online, and a bunch of other stuff at the same time. And while the server is connected to a TV and keyboard, I'm about 5 kms away and playing via moonlight and a wireguard tunnel. I don't run truenas of zfs because I have a raid setup. But proxmox can provide good storage options and then you'd just have to setup a samba or nfs share. ---------------------------------------------------------------------- vipthomps · 2023-11-07 03:36 I do this with unraid. After bootup the GPU passes through to a win 11 VM. Docker is available for anything else. ---------------------------------------------------------------------- PEGE_13 · 2023-11-07 07:48 I was under the impression that Unraid and Proxmox are kind of fulfilling the same purpose. And if I am not mistaken Unraid does not support ZFS, that I would like to use for my data storage pool. Please correct me if I am wrong. ---------------------------------------------------------------------- PEGE_13 · 2023-11-07 07:49 >I was under the impression that Unraid and Proxmox are kind of fulfilling the same purpose. And if I am not mistaken Unraid does not support ZFS, that I would like to use for my data storage pool. > >Please correct me if I am wrong. See my comment above. ---------------------------------------------------------------------- PEGE_13 · 2023-11-07 07:53 Indeed it seems I have misunderstood you. But if all the "computing" is done outside of the NAS, I don't see a point of keeping it. In that case I would rather just directly attach the storage in the PC doing the computing. ---------------------------------------------------------------------- PEGE_13 · 2023-11-07 08:05 Would you mind sharing a bit more details of your setup? This seems quite close to what I am looking for. My biggest roadblock currently(based on what I found so far) is how to spin up/down my daily driver desktop VM on the host PC. If this can be solved, the servers can run headless peacefully in the background 24/7. While the desktop VM can be started when needed and shut down for power saving, when not in use. Also all admin tasks can be done from it on rest of the stack. ---------------------------------------------------------------------- DarkKnyt · 2023-11-07 11:51 Np. For spinning up down, you can use the proxmox app (I have it on Android) or I access the proxmox web GUI on my cell phone. Check out some my of my other posts, I've put a more detailed listing of my setup a few times but here is a quick overview. - Proxmox installed bare metal on an SSD. This starts headless that you can cli into or web GUI. The web GUI has something called noVNC which let's you access your VMs and LXC on a browser so you can do installs and use it. - all my other hard drives are not mounted directly on proxmox since I wanted them to be more of a NAS but I use proxmox gui to manage the virtual disks. Instead I followed apalrd's guide and setup cockpit (another web GUI manager) in a debian lxc with samba sharing. I mount the hard disks in that lxc directly and then use samba network mounting for everything else. Permissions are important here. I have a very different drive setup than most but if you have at least 32 GBs of RAM and 2 drives, any of the zfs raid options should be fine. - windows 11 installed in a VM - GTX 1660 ti passed through to windows VM. This disables the noVNC although there is a way to keep both running. Make sure you enable and test remote desktop first or have access locally - my routers can run wireguard directly and this is my main tunnel; I only expose a blog to the Internet and everything else requires me to split VPN in. I am experimenting with tailscale running on pfsense so I actually have two separate VPN tunnels on m my one tower.. I also have 4 ethernet ports so bonding is on the to do list. - there is a lot more but my other main container is a Debian lxc running docker engine. This is where I host most of my services. I use portainer as the GUI, heimdall as my launch pad, nginx proxy manager for reverse proxy, and adguard as my dns (which doesn't really work- I end up doing dns rewrites at my router directly). I 'pass' a GTX 750 to the docker lxc which I can then share with all my docker containers..and I share that same GTX to all my other lxc (like kasm). I know that was a lot to read but spinning up a hypervisor solution is going to require a lot more effort than a regular desktop. I bought a used t620 Dell tower for $300 and have since added $175 worth of video cards, $75 Blu ray drive, $60 repair parts, $40 scsi hba card, and $575 of hard drives. There is more than enough oomph in this setup to keep me going for years. Lastly I clocked in about 325 watts while playing battlefield ii. ---------------------------------------------------------------------- mistersinicide · 2023-11-07 15:07 Sure you can definitely do that if you want to run those services on your main PC. That is certainly up to you to decide. ---------------------------------------------------------------------- Scaredy14 · 2023-11-07 15:17 Well, I've never used Proxmox before, so I can't speak to its capabilities. But now that UnRaid released version 6.12 about 5 or 6 months ago, ZFS is now supported. I don't use ZFS, I may in the future for the snapshot capability, but here are a couple SpaceInvaderOne videos on setting up ZFS in a couple of different ways. Array to zfs https://youtu.be/T83gqqh0D4E?feature=shared Cache to zfs https://youtu.be/vXF8au5o9Tw?feature=shared Snapshots https://youtu.be/RTMMPHc9OoU?feature=shared If you're curious about any other features, search some keywords on r/unraid, or check out these YouTube channels "SpaceInvaderOne" and "Ibracorp". They are the leaders in UnRaid tutorials. I think SpaceInvaderOne even works for UnRaid now. I'm not entirely sure about that, though.