TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: How can a total beginner start with self-hosting?

185 点作者 kickaha超过 2 年前
tl;dr Please point me to a true beginner’s reference&#x2F;tutorial on networking.<p>Gradually, patiently, persistently, over the past ten years and more, I moved from Windows and Mac to all FOSS apps and then full Linux. Doing the same with my phone. Total success. Independence and self-reliance.<p>In short it’s all about control, privacy, and security, in that order. And: it’s a long term process that requires a commitment.<p>I understand desktop Linux (Ubuntu&#x2F;Pop!_OS) well enough to get myself out of trouble when I mess up or an update breaks. <i>But I have no clue about networking</i>, and I don’t know where to start.<p>Syncthing keeps a handful of my important directories of user-files synced quite reliably.<p>I deleted my Google account years ago. But I’m still in iCloud and iOS for all the photos. Highly recommend Fastmail incidentally.<p>I have a small cheap Linode VPS (doing nothing right now), a Mullvad client on all my devices, Tailscale on all my devices (doing nothing because I don’t understand what it can do), and a Synology NAS in the closet with the modem&#x2F;router (none of which I understand).<p>I want to:<p>- host my own photos and get out of Apple.<p>- host my own bare git repos and not rely on GitHub.<p>- host my own BitWarden server.<p>- host my own Tail-&#x2F;Headscale (whatever the noun is).<p>- follow up on ideas that pop up after I comprehend networking.<p>I can HERPaDERP install packages on client and server, and copypasta configs I don’t understand. Where do I go to <i>understand?</i>

77 条评论

fallenhitokiri超过 2 年前
I do not know of an opinionated beginners guide, but would recommend browsing r&#x2F;selfhosted and r&#x2F;homelab a bit. Lots of these and similar questions are answered on a regular basis.<p>Some starting points<p>- photos: NextCloud<p>- git: Gitea<p>- BitWarden: Vaultwarden (even if you deploy this locally you want a SSL certificate as clients will refuse to connect otherwise)<p>I&#x27;d suggest using official docker images to get started as there’s plenty documentation available for all projects and experimenting is a bit easier when you can simply dispose a container without having to worry what’ll happen to your host OS.<p>As long as you run services locally on your Synology (assuming it supports docker) and don’t expose them to the Internet I’d encourage you to „just give it a try“.<p>Just don’t immediately start to rely on the services and run a dual strategy (NextCloud and iCloud photos for example) till you updated your container once or twice and feel comfortable troubleshooting issues with your stack. Nothing is more discouraging than having a service you need „right now“ being down and no idea how to get it back up.<p>It’ll be a long, fun journey. Good luck!
评论 #33096655 未加载
评论 #33097033 未加载
评论 #33097883 未加载
评论 #33098544 未加载
评论 #33097056 未加载
apitman超过 2 年前
The reality is that we&#x27;ve let you down. Self-hosting shouldn&#x27;t be any more complicated or less secure than installing an app on your phone. You shouldn&#x27;t need to understand DNS, TLS, NAT, HTTP, TCP, UDP, etc, etc. Domain names shouldn&#x27;t be any more difficult to buy or use than phone numbers. Apps should be sandboxed in KVM&#x2F;WHPX&#x2F;HVP-accelerated virtual machines that run on Windows, Mac, and Linux and are secure-by-default. Tunneling out to the public internet should be a quick OAuth flow that lets you connect a given app to a specific subdomain, with TLS certs automatically obtained from Let&#x27;s Encrypt and stored locally for end-to-end encryption.<p>The technology exists to do all of these things, but no one has taken the time to glue it all together in a truly good UX (I&#x27;m working on it). Pretty much every solution in this space is targeted at the developer market, not self-hosters.<p>So for now I&#x27;d recommend using a VPS. Your main challenge is going to be learning a lot about security. There&#x27;s currently no way around that. A VPS limits the scope of damage that can be done if you get hacked. Once you&#x27;ve learned enough you can move to your own hardware. At that point I&#x27;d recommend setting up tunneling[0] and using either Docker or QEMU&#x2F;KVM.<p>EDIT: I see you&#x27;re already using Tailscale. That can operate as a tunnel. Basically you&#x27;d want to run a reverse proxy like Caddy (recommended) or nginx on the VPS, and point it at services running on your other devices using the IP addresses from your Tailscale network.<p>[0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;anderspitman&#x2F;awesome-tunneling" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;anderspitman&#x2F;awesome-tunneling</a>
评论 #33098982 未加载
评论 #33098933 未加载
jrockway超过 2 年前
My thought on networking is to make sure you only expose SSH and HTTPS; firewall everything else off. SSH seems like a constant source of problems for people new to running servers; within seconds of your server coming online, people will be trying to guess usernames and passwords. Configure it so you can&#x27;t log in as root, and you can only authenticate with a key. These folks will never guess your key in a billion years (though obviously, don&#x27;t leak it or something). I wouldn&#x27;t bother with the complexity of fail2ban. If you have some out-of-band virtual console, you might not even need SSH, but it will be nice to have for git clones if you&#x27;re self-hosting repositories. Totally reasonable to have SSH exposed to the Internet, in my opinion.<p>For HTTPS, run everything through a proxy, and maintain detailed access logs. Put your other services behind that proxy, and have them listen on 127.0.0.1 and not 0.0.0.0 (not that it really matters because you firewalled off all connectivity like that). Your HTTPS proxy should handle certificate provisioning for you. There are many options out there; I use Envoy, the self-hosting types should use Caddy or similar.<p>Anything that you expose to the Internet on a well-known port with an easy-to-guess password will be hacked instantly; SSH, MySQL, Wordpress, you name it, they&#x27;ll own it. Seriously, your mind will be blown and your head will spin. Reduce the number of network ingress points to the bare minimum (though firewall rules), make sure absolutely everything not hardened is behind auth, and log aggressively so you can see what happened when something goes wrong.<p>I don&#x27;t know what the state of the art these days is for auth. I wrote my own thing that uses WebAuthn; most people are probably using something like Keycloak. The Tailscale idea is also good; if you don&#x27;t need this stuff on the Internet, then only put it on the Tailnet and let them handle auth.
评论 #33097195 未加载
评论 #33104561 未加载
评论 #33105039 未加载
Xeoncross超过 2 年前
It depends on what direction you want take. You could purchase a $5&#x2F;mo digital ocean server or a $5 raspberry pi and start by installing <a href="https:&#x2F;&#x2F;pi-hole.net" rel="nofollow">https:&#x2F;&#x2F;pi-hole.net</a>, <a href="https:&#x2F;&#x2F;nextcloud.com" rel="nofollow">https:&#x2F;&#x2F;nextcloud.com</a>, <a href="https:&#x2F;&#x2F;syncthing.net" rel="nofollow">https:&#x2F;&#x2F;syncthing.net</a>, <a href="https:&#x2F;&#x2F;www.plex.tv" rel="nofollow">https:&#x2F;&#x2F;www.plex.tv</a>, or some other software to get the first (largest) thing you want resolved. Then move on from there and install the next package you need.<p>Ad blocking for your phone? VPN for work? Self hosted email? Retro gaming? Figure out what you want most and jump into that instead of trying to get everything all at once as it can be overwhelming to consider every system instead of taking one step at a time.
评论 #33096588 未加载
whartung超过 2 年前
I think you not start at home. That &quot;last mile&quot; of connectivity is fraught with challenges of dealing with your internet provider and all sorts of other things. It can be a headache, and it&#x27;s very particular to your situation, and your provider.<p>If you start &quot;self hosting&quot; on a cloud based instance, all that you learn in doing so will carry over to when you finally are able to move everything to a machine in house. It will give you results faster, you will make all the same mistakes and have similar problems, without having to fight hardware. You&#x27;ll also have the network expertise of your hosting provider to fall back on. As much as you don&#x27;t want someone waltzing in and walking all over your system, they don&#x27;t particularly want that to happen to you either.<p>The hosting plans are cheap enough that you can run for several years for the price of hardware in your home. And in the end, if you find you&#x27;re unhappy with it, it&#x27;s a mouseclick to get it of your life instead of now having a some extra hardware (even if it&#x27;s a just a Pi and an SSD) lingering and collecting dust in your house.<p>I think the virtual hosting is a smoother on ramp to this journey, you&#x27;ll find faster success with it (which can keep you motivated rather than frustrated), and it&#x27;ll give you a baseline to compare against if and when you decide to take the final step and bring it in to the broom closet. You can readily transition incrementally as you go forward depending on how you architect it.
评论 #33106917 未加载
评论 #33098021 未加载
评论 #33108083 未加载
leejoramo超过 2 年前
&gt; In short it’s all about control, privacy, and security, in that order.<p>I am going to strongly urge you to consider changing that order and move *security* to the first priority. I have long run my own servers, it is much easier to setup a server with strong security foundation, than to clean up afterwards.<p>As a beginner, you should stick to a well known and documented Linux server distribution such as Ubuntu Server LTS or Fedora. Only install the programs you need. Do not install a windowing system on it. Do everything for the server from the command line.<p>Here are a few blog posts I have bookmarked over the years that I think are geared to beginners:<p>&quot;My First 5 Minutes On A Server; Or, Essential Security for Linux Servers&quot;: An quick walk through of how to do basic server security manually [1]. There was a good Hacker News discussion about this article, most of the response suggests using tools to automate these types of security tasks [2], however the short tutorial will teach you a great deal, and automation mostly only makes sense when you are deploying a number of similar servers. I definitely take a more manual hands-on approach to managing my personal servers compared to the ones I professionally deploy.<p>&quot;How To Secure A Linux Server&quot;: An evolving how-to guide for securing a Linux server that, hopefully, also teaches you a little about security and why it matters. [3]<p>Both Linode[4] and Digital Ocean[5] have created good sets of Tutorials and documentation that are generally trustworthy and kept up-to-date<p>Good luck and have fun<p>[1]: <a href="https:&#x2F;&#x2F;sollove.com&#x2F;2013&#x2F;03&#x2F;03&#x2F;my-first-5-minutes-on-a-server-or-essential-security-for-linux-servers&#x2F;" rel="nofollow">https:&#x2F;&#x2F;sollove.com&#x2F;2013&#x2F;03&#x2F;03&#x2F;my-first-5-minutes-on-a-serve...</a><p>[2]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=5316093" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=5316093</a><p>[3]: <a href="https:&#x2F;&#x2F;github.com&#x2F;imthenachoman&#x2F;How-To-Secure-A-Linux-Server" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;imthenachoman&#x2F;How-To-Secure-A-Linux-Serve...</a><p>[4]: <a href="https:&#x2F;&#x2F;www.linode.com&#x2F;docs&#x2F;guides&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.linode.com&#x2F;docs&#x2F;guides&#x2F;</a><p>[5]: <a href="https:&#x2F;&#x2F;www.digitalocean.com&#x2F;community&#x2F;tutorials" rel="nofollow">https:&#x2F;&#x2F;www.digitalocean.com&#x2F;community&#x2F;tutorials</a>
评论 #33097270 未加载
jlundberg超过 2 年前
This is a very good question.<p>My best answer is: find a mentor.<p>Someone you can repeatedly ask for detailed pointers from as you get stuck. This could be a colleague, an IRC&#x2F;Discord friend or even someone on Twitter that you have bonded with.<p>I have been mentoring people close to me on computers and Linux since I was about 13 years old and am now 39. And it has been a real blessing, since you learn a lot by being forced to explain what you already know.<p>As a teenager I didn’t think of this as mentoring of course. But I wad very lucky to have had my 3 years older brother as computing mentor, which gave me a great head start compared to my peers.<p>Not knowing exactly where you or others reading this comment are currently getting stuck, here are a few random pointers:<p>netstat -a -n -l -p<p>ls -la &#x2F;proc<p>man mdadm<p>iptables -L -n<p>rsync -a -e ssh myfolder user@host:<p>And reading Beij’s (?) tutorial on TCP socket programming if you are an aspiring C programmer.
评论 #33096568 未加载
alexktz超过 2 年前
Self-Hosting has been my most passionate hobby for the last decade+ and all of the resources below are aimed <i>at people like you</i>. Good luck sailor!<p>If I may be so bold as to self promote:<p><pre><code> * Podcast - https:&#x2F;&#x2F;selfhosted.show * Website(s) * My blog - https:&#x2F;&#x2F;blog.ktz.me * Perfect Media Server - https:&#x2F;&#x2F;perfectmediaserver.com * Github - https:&#x2F;&#x2F;github.com&#x2F;ironicbadger&#x2F;infra * Linuxserver - https:&#x2F;&#x2F;linuxserver.io </code></pre> Finally, if you&#x27;d like real-time collab with other self-hosters, the podcast has a Discord - <a href="https:&#x2F;&#x2F;selfhosted.show&#x2F;discord" rel="nofollow">https:&#x2F;&#x2F;selfhosted.show&#x2F;discord</a>.
评论 #33097074 未加载
评论 #33096895 未加载
TheKitchenSinc超过 2 年前
I can’t promise any specific advice, but as someone who runs a number of self-hosted services for mostly ideological purposes (see <a href="https:&#x2F;&#x2F;compose.seedno.de&#x2F;" rel="nofollow">https:&#x2F;&#x2F;compose.seedno.de&#x2F;</a> for a subset) and works professionally in networking, I’m always happy to chat about my own experiences and suggestions!<p>Feel free to email me at lab (at) seedno.de to chat!
e63f67dd-065b超过 2 年前
&gt; I can HERPaDERP install packages on client and server, and copypasta configs I don’t understand. Where do I go to understand?<p>Other commenters have a good bunch of resources on <i>what</i> to do, but if you&#x27;re really interested in <i>understanding</i> the fundamentals imo there&#x27;s no better way than to RTFM. Sometimes the manual will have things you don&#x27;t understand, and then you&#x27;ll have to google that thing.<p>For networking I highly recommend the RHEL docs (<a href="https:&#x2F;&#x2F;access.redhat.com&#x2F;documentation&#x2F;en-us&#x2F;red_hat_enterprise_linux&#x2F;7&#x2F;html&#x2F;networking_guide&#x2F;index" rel="nofollow">https:&#x2F;&#x2F;access.redhat.com&#x2F;documentation&#x2F;en-us&#x2F;red_hat_enterp...</a>). There&#x27;s a big chunk that&#x27;s useless to you (infiniband, etc), but the basics of the TCP&#x2F;IP stack is really good to know. It looks like ubuntu has some introductory material too at (<a href="https:&#x2F;&#x2F;ubuntu.com&#x2F;server&#x2F;docs&#x2F;network-introduction" rel="nofollow">https:&#x2F;&#x2F;ubuntu.com&#x2F;server&#x2F;docs&#x2F;network-introduction</a>) with links to more in-depth resources.<p>For the rest of linux, again I highly recommend the redhat docs here <a href="https:&#x2F;&#x2F;access.redhat.com&#x2F;documentation&#x2F;en-us&#x2F;red_hat_enterprise_linux&#x2F;9" rel="nofollow">https:&#x2F;&#x2F;access.redhat.com&#x2F;documentation&#x2F;en-us&#x2F;red_hat_enterp...</a>. They&#x27;re very will written and comprehensive, so feel free to skip all the stuff that you don&#x27;t care about (printers, SElinux, etc).
评论 #33101309 未加载
sliken超过 2 年前
You sound like you are on a good trajectory. I&#x27;d start reading up on and implementing a firewall. Start with host based, then on a router&#x2F;vlan firewall. Try out wireshark and view things like a simple wget, file download, and similar. If something weird is going on record with tcpdump (see wireshark docs for flags) and you can analyze afterwards with wireshark.<p>I&#x27;d recommend an IPv6 firewall if you can get IPv6, that exposes much complexity (I have 2^68 IPs on a normal consumer&#x2F;home ISP connection). This will allow much of the complexity of a larger IPv4 LAN.<p>You sound pretty ambitious, just keep in mind that everything you mention is going to create state that you are responsible for. So implement backups from day 1. Last thing anyone wants is to lose all their photos, git repos, password database, etc.<p>Make sure your backups are in at least two places that can&#x27;t be taken out by a single theft, flood, house burning down, company going out of business, etc.<p>Backups aren&#x27;t backups until you verify them, do so regularly, maybe the 1st of the month or something. Verify files are exactly as backed up with sha256 or similar.<p>Specific recommendations: ZFS for any filesystem with 2 or more disks. Digikam for photo org and tagging, in a standards compliant way. Piwigo for self hosted photos ... that can use standard tags for organization.
评论 #33098928 未加载
Teichopsia超过 2 年前
You could take a look at this course<p><a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linuxupskillchallenge?utm_medium=android_app&amp;utm_source=share" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linuxupskillchallenge?utm_medium=an...</a><p>It&#x27;s a beginner course on Linux administration - not networking. It will give you enough knowledge to understand and manage a server. It&#x27;s free, and starts on the first Monday of each month (you can also do it self paced if you like).
评论 #33096584 未加载
Phrenzy超过 2 年前
Look at serverbuilds.net to learn how to find the right hardware to buy to host your selfhosted apps.<p>Look into some VM hosting Hypervisor. I am using VMware because that is what all my jobs have been using. You can use ESXi for free. You could also look into something like proxmox.<p>If you buy and build right, you could have enough CPU bandwidth and memory to all that you would want. Put all your VMs on SSDs, multiple VMs sharing a single HDD could be considered a war crime.<p>Learn docker and docker-compose. Use <a href="https:&#x2F;&#x2F;www.composerize.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.composerize.com&#x2F;</a> to help in the transition from docker to docker-compose. Have a look at linuxserver.io for already built docker images for most of what you want to do.<p>Keep an eye on Humble Bundle for a DevOps or networking&#x2F;sysadmin book collection.<p>If you want to roll your own firewall and router, look into pfSense.<p>It takes a while to learn and understand, but it is worth it.
rspoerri超过 2 年前
I&#x27;d recommend you to check out the specialized self hosting distros and systems such as FreedomBox , Sandstorm.io, yunohost or Cloudron . I have not used it myself, so i cant recommend which system to use. However i have gone trough the pain of setting up loads of self-hosted apps. Especially if you really want to use your system, not maintain it all the time you will search for the most easy solution. There is nothing more annoying then to fix your system every month before you can continue working. I would also love to hear from people using these systems on a daily basis. Another possibility for lots of self-hosted apps is a NAS (Synology or QNAP). However not everything runs on these systems, sometimes because they are not available, sometimes because the hardware cannot be upgraded.
评论 #33101249 未加载
评论 #33105318 未加载
huimang超过 2 年前
For hardware: in the past, I would say start with a raspberry pi. But those are impossible to find at list price now. So instead, if you look on ebay for SFF (small form-factor) workstations, you can find something like an HP Prodesk G1 with cpu&#x2F;storage&#x2F;memory for ~$50-60. Which is significantly cheaper than a raspberry pi 4B @ $100+ by resellers.<p>Slap on a distro, and you&#x27;re off to the races. Checkout &#x2F;r&#x2F;homelab and &#x2F;r&#x2F;selfhosted on reddit. You&#x27;ll probably want to read about DNS and local networking (DNS &amp; Bind is a good book).<p>You&#x27;ll understand by doing things. Don&#x27;t blindly copy-paste configs. Spend some time to figure out what they&#x27;re doing and type every line in manually.
评论 #33097816 未加载
1autodev超过 2 年前
I recommend setting up a web server on the smallest server offering of DigitalOcean -- $6 USD&#x2F;month<p>Here are a couple links to get that started: - Ubuntu + nginx for https traffic: <a href="https:&#x2F;&#x2F;www.digitalocean.com&#x2F;community&#x2F;tutorials&#x2F;how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04" rel="nofollow">https:&#x2F;&#x2F;www.digitalocean.com&#x2F;community&#x2F;tutorials&#x2F;how-to-secu...</a><p>- Getting a small nodejs project up and running: <a href="https:&#x2F;&#x2F;www.digitalocean.com&#x2F;community&#x2F;tutorials&#x2F;how-to-set-up-a-node-js-application-for-production-on-ubuntu-20-04" rel="nofollow">https:&#x2F;&#x2F;www.digitalocean.com&#x2F;community&#x2F;tutorials&#x2F;how-to-set-...</a>
robcohen超过 2 年前
My suggestion, which many people will probably disagree with here, is to go take the following certifications:<p>- CompTIA Network+<p>- Linux Foundation Certified IT Associate<p>For extra credit, pass the Linux Foundation Kubernetes certs, get a AWS cert, pass the Offensive Security PEN-200 cert, or take any of the GIAC certs. These won&#x27;t make you competent, but they&#x27;ll provide a baseline that you can quickly attain which will get you started.<p>After those, maybe consider project-based learning.<p>- Install Arch Linux<p>- Install Linux from Scratch<p>- Learn to use QubesOS and make your own OS templates&#x2F;ISO.<p>I&#x27;m certain others here will say certs are a waste. I do not agree. They are a way for people who don&#x27;t have enough context to quickly build that context.<p>Good luck!
评论 #33096619 未加载
bombcar超过 2 年前
Get a piece of hardware (old from Ebay is fine, consider power requirements, a small device with an SSD may be better) and throw the free VMWare ESXi on it, and start spinning up virtual machines at home.<p>Play and experiment. That&#x27;s how I started, and as long as you have lots of off-line backups, you can get pretty far.<p>Tailscale makes two or more computers look like they&#x27;re on the same network (simplification).<p>Later you can decide to keep things on your little virtual host on your home IP (depends on your connection and requirements) or migrate to a VPS at Linode, etc. I like having it at home with me, but that&#x27;s just me.
评论 #33096391 未加载
dotBen超过 2 年前
Learning to manage a self hosting environment is a great skill to learn but I would point out there are plenty of people on HN who have these skills but prefer to rely on managed providers.<p>Even including people who manage infrastructure professionally I would guess that the vast majority of them don&#x27;t fully self host their own file storage, email, calendar etc.<p>Obviously you may have your own unique reasons to want to do this but just know that those who know the full extent of what is required to do this safely and resiliently don&#x27;t feel it&#x27;s worth the hassle or effort.
评论 #33097022 未加载
roberthahn超过 2 年前
I expect you&#x27;re going to get a lot of good advice. My small contribution is this: whatever you do, document it. Write down the date, what you did, what settings you tweaked. (or use Github to manage your changes - that still counts as documentation!)<p>Someday something&#x27;s going to click for you and you&#x27;ll realize you should have done something differently, but you won&#x27;t remember what you did (or how to undo&#x2F;change it). Keeping good documentation - especially as you&#x27;re learning, is going to save you from wiping and re-installing your machine.
评论 #33096848 未加载
cube00超过 2 年前
This is a long but satisfying road if you&#x27;re a tinkerer. Start by prioritising. In my case, I was worried about Google locking me out so I started there, other things such as VPN could wait because I wasn&#x27;t locked in on my VPN service.<p>In your case that might be migrating your photos off iCloud. I found the awesome-selfhosted[1] list to be excellent for trying out different products that match the size of the VPS you&#x27;ve got or maybe you just want to put that onto your local Synology NAS if you don&#x27;t need your whole photo roll on the go.<p>Self hosted BitWarden is also another good starting point with the very lightweight vaultwarden[2] just make sure you always know where your vault is stored on your server and make backups.<p>While it&#x27;s a long road it doesn&#x27;t need to consume your life daily but it still requires you to keep up with all the things any sysadmin needs to handle like monthly patching, monitoring the logs for sustained abuse and break in attempts.<p>Subreddits &#x2F;r&#x2F;selfhosted and &#x2F;r&#x2F;homelab are also great places to have a browse.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;awesome-selfhosted&#x2F;awesome-selfhosted#photo-and-video-galleries" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;awesome-selfhosted&#x2F;awesome-selfhosted#pho...</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;dani-garcia&#x2F;vaultwarden" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dani-garcia&#x2F;vaultwarden</a>
评论 #33097504 未加载
mceachen超过 2 年前
Howdy! I&#x27;m the author of PhotoStructure, which is mentioned on this post a couple times already.<p>I&#x27;ve been self-hosting email and photos and playing with reverse proxies and VPNs for several decades.<p><i>There&#x27;s always a ton to learn about.</i> This is a journey, not a destination.<p>The biggest thing to avoid is being overwhelmed. It&#x27;s super easy to just throw in the towel and give up because there are gobsmacking numbers of alternatives to everything, and everyone has _opinions_.<p>I&#x27;ve got a couple bits of general advice that should be fairly universal truths, and should help guide your journey:<p>1. Storage is important for all your bullet items. Know that lots of copies keeps stuff safe. Have an offline and, if possible, offsite backup of the stuff you&#x27;d be sad if you lost. Encrypt the private stuff (before it goes off to the cloud, ideally). Read more here: <a href="https:&#x2F;&#x2F;photostructure.com&#x2F;faq&#x2F;how-do-i-safely-store-files" rel="nofollow">https:&#x2F;&#x2F;photostructure.com&#x2F;faq&#x2F;how-do-i-safely-store-files</a><p>Once you know you&#x27;re stuff isn&#x27;t going to disappear (because you have backups), it makes updates and trying out new stuff much less stressful!<p>2. Reduce your externally-available footprint. Ideally, the only access to any of your servers should be through a VPN between your phone&#x2F;laptop and your server. The less that is externally available, the better. (hint: turn off your Synology&#x27;s cloud access stuff if possible, asap).<p>3. Harden your servers. I wrote up a basic guide, and there are ton of others--but only run commands you understand. <a href="https:&#x2F;&#x2F;forum.photostructure.com&#x2F;t&#x2F;server-hardening-for-beginners&#x2F;1027" rel="nofollow">https:&#x2F;&#x2F;forum.photostructure.com&#x2F;t&#x2F;server-hardening-for-begi...</a><p>4. The more the exotic your setup, the less likely things will work out of the box, and the harder it will be for someone else to reproduce your issue.<p>5. Look for friendly communities that will, ideally, let you bounce ideas off of them and guide you to making fewer mistakes. There are several subreddits (like &#x2F;r&#x2F;selfhosted)--just remember to ignore the trolls. PhotoStructure has a discord, but it has several orders of magnitude fewer members than the popular subreddits.<p>6. Take any tutorial with a grain of salt. A frustrating majority are outdated. Many were written by interns or by people trying to figure it out for themselves, but in any event, aren&#x27;t experts.<p>Good luck!
评论 #33100773 未加载
egberts1超过 2 年前
Been down this self-hosted route many times … from the ground up … as a local neighborhood IT dude. Don’t you hate being that guy? Not me, I get tons of free stuff from my neighbors.<p>For a simple default-deny-firewall IPv6 NAT gateway (zero HTTP3 support), I used Gentoo, no initramfs, all static (no kernel modules, eBPF JIT disabled, no strace&#x2F;perfmon2) on 2013 Dell Optiplex 790 SFF. This is the extreme tinkerer mode a la Slackware&#x2F;Linux 1.98 ramp up expert learning mode. Has Libvirt running Docker&#x2F;LXD&#x2F;QEMU. Virtual DNS&#x2F;NTP&#x2F;nextCloud&#x2F;WireGuard&#x2F;no-SSH. Stable, consistent, rock solid. Initial cost: $65.00 USD. Electric cost: $8.33&#x2F;month.<p>Also a beast called Dell Precision T710 24U rack with a RAID5 having 12 hard drives at 2 TB each running Proxmox&#x2F;Debian, half of RAID is encryptedFS, and NFSv4 (planned on CephFS upgrade next) for all my photo and important docs. Also an NVS (for storing video streams from doorbell and patio cameras). Also a Git repo (Gitea). And Backups too. Initial cost $100 + hard drives. Electric cost: $12.81&#x2F;month.<p>Raspberry Pi 2B is UPS-backed Devuan (systemd-free Debian) (systemd has an open network socket for PID 1, my big no-no as a security analyst) for DNS PiHole serving, Home Assistance serving and cron jobs. Self-hosted home alarm system with Zig devices . Has a cellular GPIO adapter in which to call my phone of any home event. Maximum availability, maximum reliability, maximum uptime. Electric cost: unmeasured. Cellular cost: pay-as-you-go cell time. Filled it with $100. It has been a year, down to ~$45.<p>Workstation is Debian because maximum packages available for maximum experimentation. Has virt-manager for QEMU&#x2F;containers hosting macOS, various Windows desktop&#x2F;server, and Linux distros. ~$4.00&#x2F;month.<p>I always start with the workstation, the Raspberry Pi, the gateway, then the file server.<p>Once gateway is up, is when I do full cut-over from ISP-supplied gateway to mine directly by configuring ISP gateway to bridge mode.<p>Also I run a $4&#x2F;month 256MB-RAM 1-CPU Hosted VPS running customed module-less Debian&#x2F;Linux kernel for my WireGuard and DNS proxy needs for maximum privacy.<p>Of course my firewall blocks all DNS and any DNS proxy attempt via my custom iCAP server adding to my transparent Squid (also on the gateway).
评论 #33097641 未加载
nickstinemates超过 2 年前
The term you&#x27;re looking for is Homelab. There are so many YouTube videos. And a subreddit.
评论 #33096535 未加载
rramadass超过 2 年前
You are asking too much :-) Essentially you are looking to setup a &quot;Private Cloud&quot; with the required services on your own hardware in your own &quot;Homelab&quot; location.<p>So you have to approach it top-down i.e. a) What services do you want? b) What are the SW and HW involved? c) How are they put together? d) What solutions&#x2F;frameworks are already available for the above?<p>You start by reading up on &quot;Cloud Technology&#x2F;Architecture&quot; and understand terms like IaaS&#x2F;PaaS&#x2F;SaaS and how the three fundamental cloud resources i.e. Compute, Storage and Networking are virtualized in the above layers. Any cloud tutorial&#x2F;book will give you a good overview. I can recommend <i>Cloud Computing for Science and Engineering by Ian Foster et.al.</i> (<a href="https:&#x2F;&#x2F;mitpress.mit.edu&#x2F;9780262037242&#x2F;cloud-computing-for-science-and-engineering&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mitpress.mit.edu&#x2F;9780262037242&#x2F;cloud-computing-for-s...</a>).<p>Now you should be able to understand products&#x2F;Jargons like GitHub&#x2F;BitWarden&#x2F;Tailscale&#x2F;FreeNAS&#x2F;VPS etc. and where they fit into the overall picture. The final step is to buy the hardware and go to town installing&#x2F;configuring services.
BrandoElFollito超过 2 年前
Start by reading about docker and docker compose. You will have almost everything in docker containers.<p>Pay attention to the basic networking part. Especially where it says that you can refer to a container by name in your configurations<p>Then have a look at Caddy, a web server, to use it as a reverse proxy. You will end up with very simple configurations Read about reverse proxy in caddy&#x27;s excellent doc.<p>Test on a machine in your lan first, by installing docker on it and administrating it via ssh,b this will be how you will interact with your VPS.<p>Install the containers you are interested in and configure them.<p>When you decide to move them to your VPS, make sure to use long passwords (and MFA if available) sans expert only 80 and 443 ( both will be marked by caddy to he right way ootb). The containers for week known apps are usually secure by default, and they highlight in their docs what you ansolutely need to change.<p>...<p>After some time, when you finally understand everything, you will reorganize everything. No worries, containers are made for that, your data is independent.<p>...<p>Then you will realize that you actually need an OS that is almost empty except for docker and a backup program (easier to use it at the OS level than as a container). You should consider borg.<p>...<p>Than you will move to home automation with Home Assistant
评论 #33098853 未加载
评论 #33098326 未加载
breakds超过 2 年前
I have been there. The progress was rather slow until I started to use NixOS. The learning curve is a bit steep but is very rewarding. It is not specific to self-hosting stuff, but as a side effect it makes self hosting super easy (declarative, readable, etc).<p>For most of the services that you would like, you just write a simple configuration and deploy it. For example, to run the service shiori (<a href="https:&#x2F;&#x2F;github.com&#x2F;breakds&#x2F;nixos-machines&#x2F;blob&#x2F;main&#x2F;machines&#x2F;richelieu&#x2F;web-services.nix#L11" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;breakds&#x2F;nixos-machines&#x2F;blob&#x2F;main&#x2F;machines...</a>), or to host a game (terraria) server (<a href="https:&#x2F;&#x2F;github.com&#x2F;breakds&#x2F;nixos-machines&#x2F;blob&#x2F;main&#x2F;machines&#x2F;richelieu&#x2F;terraria.nix#L4" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;breakds&#x2F;nixos-machines&#x2F;blob&#x2F;main&#x2F;machines...</a>), or tailscale (<a href="https:&#x2F;&#x2F;github.com&#x2F;breakds&#x2F;nixos-machines&#x2F;blob&#x2F;main&#x2F;base&#x2F;tailscale.nix" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;breakds&#x2F;nixos-machines&#x2F;blob&#x2F;main&#x2F;base&#x2F;tai...</a>). Since Nix is also a very good package manager, you also do not have to deal with installing packages and managing their dependencies.<p>With my NixOS server I am running all the services you mentioned.<p>&gt; But I have no clue about networking,<p>My router is just a bunch of services running on a NixOS box (with this you have absolute control over the firewall&#x2F;gateway, and it is also good experience to learn the networking stuff with NixOS). Note that before this I know nothing about the networking stuff as I skipped the class in college ...
评论 #33097704 未加载
评论 #33097404 未加载
massysett超过 2 年前
Keep at it. Keep reading and applying your knowledge.<p>My path was to use Linux distributions that are well-documented that you can assemble piece-wise. Examples include Slackware, Debian, and Arch. By understanding the pieces you’ll come to understand networking better, and you’ll better understand how to help yourself.<p>That’s just one path though, certainly there are others. Just look at how far you’ve come, and realize that with time you’ll pick up more.
dcdc123超过 2 年前
<a href="https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;selfhosted&#x2F;" rel="nofollow">https:&#x2F;&#x2F;old.reddit.com&#x2F;r&#x2F;selfhosted&#x2F;</a> is a great community with lots of resources as well. Check the sidebar and wiki there.<p>Also, if you are into Docker, I love the images hosted by these guys. <a href="https:&#x2F;&#x2F;www.linuxserver.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.linuxserver.io&#x2F;</a>
评论 #33097220 未加载
dml2135超过 2 年前
I build my own server for the first time last year running Unraid OS. It&#x27;s been great. Super easy to set up, all apps are installed as docker containers. SpaceInvaderOne and Ibracorp are great youtube resources, and their forum community is super active and helpful.<p>Definitely still an amateur in my networking knowledge but I&#x27;ve learned a ton over the past year.
评论 #33097346 未加载
senectus1超过 2 年前
To simplify my setup I bought a Synology NAS, crammed disks into it, then setup a bunch of Docker instances on it.<p>I have game servers for the kids on it, plex, pihole, home assistant and a few others plus I keep adding to it. I setup a static IP the otehr day and a cloudflare account to proxy things through it. Later I plan on setting up a VPN service (probably Tailscale) and maybe look at the cloudflare zero trust setup.<p>I&#x27;m contemplating putting a mail server up as well. all of this in docker instances on my NAS. its cheap effective, simple and damned effective for home use. There is a good community about it and lots of online guides.<p>This way I dont have to worry&#x2F;spend too much time on hardware and OS level stuff and can just setup docker apps for the new needs i have. it lets me play around while not burning too much home time while adding services and capability to my family. Seriously.. look into it.
Jhsto超过 2 年前
I&#x27;d recommend to take a look at OPNSense and pfSense. One of the challenges of learning networking properly is that many consumer devices go into great lengths to try abstract the details away from the user. OPNSense and pfSense bring some level of openness into the situation, by letting you to SSH into the networking equipment and generally providing a web user interface with more knobs than any sane person needs. This way, you can learn by try and mistake what does what, and you&#x27;ll be exposed to all kinds of abbreviations of protocols you&#x27;ve likely never heard of. My point is that this gives more control into how you&#x27;re connected to the Internet, which serves as a great way to also start thinking about networking more holistically from the viewpoint of individual computers in your home. And you cannot really do that unless you first control the router properly.
评论 #33097718 未加载
aborsy超过 2 年前
If you don’t mind the security, off-the-shelf NAS boxes, such as synology, offer all kinds of self hosting applications that you might need. Photos, videos, plex, backups, torrent, MS office replacement, chat, git, etc.<p>But, boy, they have huge attack surface, with so much PHP code, web servers, databases, etc running on the box.
star-glider超过 2 年前
Setting up WireGuard is definitely the way to go. I learned a ton about networking doing that. It&#x27;s a beautifully elegant implementation and actually very easy, but it exposes a lot of networking concepts that are important to understand. Don&#x27;t use PiVPN and the like, just install it and write the configuration files manually.<p>I used WG to get two homes talking to each other. A Pi at each end running WG, with static routes set up in the actual routers, and both networks function like one. It was fun to configure, and I learned a fair amount about networking doing it.<p>Also, using WG to access your network addresses a lot of security concerns. You open up 22, and you&#x27;re going to get hammered day and night. Assuming you set it up correctly, it shouldn&#x27;t matter, but there&#x27;s still always some risk. WG just silently fails if it doesn&#x27;t receive the proper key. There&#x27;s literally zero difference (from the client&#x27;s perspective) between using an incorrect WG key and a machine&#x27;s simply not existing at that IP address.<p>And then, once you get WG set up, you can expand stuff like pihole to cover all of your devices wherever you are; just run a split tunnel on the client and route all DNS lookups back to your home.<p>You likely won&#x27;t have a static IP residentially, but you have a few options there. In some cases, a business-class connection isn&#x27;t much more and is better anyway (this especially is true in cities and other areas that actually have competitive markets for ISP). There are plenty of free and paid dynamic DNS services, and setting up one of those on a router or Pi or something is pretty straightforward. Finally, if your IP is _mostly_ unchanging, you can just do the lazy&#x2F;cheap move (which is what I ended up doing), having a simple script run every hour that checks the IP address and sends me an email and a slack message if it changes. Happens less than once a year, and updating all of the devices that need updating everything takes maybe a half-hour. If it were a weekly or even monthly thing, I&#x27;d probably go the DDNS route.
评论 #33098546 未加载
tenebrisalietum超过 2 年前
Y&#x27;know I&#x27;ll probably make one.<p>&gt; But I have no clue about networking, and I don’t know where to start.<p>Start here, because it&#x27;s literally the foundation, but you don&#x27;t need to be an expert. You probably understand more than you think if you have a VPS and can access it, though. As a start, you need to have working knowledge of the following:<p>- The OSI model so you understand the layered model of networking, even though nothing strictly folows it.<p>- what a subnet is,<p>- what NAT&#x2F;port forwarding is,<p>- what TCP is,<p>- basics of routing (packet not on my subnet? send to default gateway which is a router, rinse, repeat)<p>- that IP addresses are associated to interfaces, not computers or people, and<p>- why HTTP is called an application-layer protocol,<p>- what SSL certificates are and how they work.<p>- you also need to study up on Docker and containers as a lot of web apps are released as containers now.
评论 #33096797 未加载
a-t-0超过 2 年前
A bit of self-promotion regarding your:&quot;host my own bare git repos and not rely on GitHub.&quot; objective: Here is a work-in-progress code for 1-command deployment of a self-hosted GitLab server over tor, with free, limitless self-hosted CI (that can still report build status results to GitHub if you want): <a href="https:&#x2F;&#x2F;github.com&#x2F;TruCol&#x2F;Self-host-GitLab-CI-for-GitHub" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;TruCol&#x2F;Self-host-GitLab-CI-for-GitHub</a><p>Tor because that way your self-hosting works from wherever you are, even if you&#x27;re in a flat behind a gateway&#x2F;router you do not have access to. 1-click because I like the user experience to be as simple as possible.
评论 #33097474 未加载
tete超过 2 年前
Without meaning that in a rude way: Learn to find and read documentation.<p>Oh and very much avoid random tutorials on the internet. As in, go for official source and use these tutorial only to connect the dots. The reason is that there is huge amounts of really bad advice on the internet and a lot of the tutorials only work in very specific situations (versions, OSs, etc.). Official documentation tends to be a lot better, and it&#x27;s a good idea to choose software that provides good documentation.<p>Also make sure you do it one step at a time. You want to give things time to know what failure cases it might have. This prevents you from situations where everything &quot;crashes and burns&quot;, because there is an update.
评论 #33096774 未加载
sumosudo超过 2 年前
I have a rather powerful dev box, on which I run yggdrasil[1]. With my mobile unit laptop, that self-hosted dream is a reality. PowerDNS[2] with admin[3] and smallstep[4] are the cherry on top.<p>[1] <a href="https:&#x2F;&#x2F;yggdrasil-network.github.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;yggdrasil-network.github.io&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;www.powerdns.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.powerdns.com&#x2F;</a><p>[3] <a href="https:&#x2F;&#x2F;github.com&#x2F;PowerDNS-Admin&#x2F;PowerDNS-Admin" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;PowerDNS-Admin&#x2F;PowerDNS-Admin</a><p>[4] <a href="https:&#x2F;&#x2F;smallstep.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;smallstep.com&#x2F;</a>
blmayer超过 2 年前
I am on the same path as you so my 2 cents are:<p>- I am using my raspberry Pi for hosting my services<p>- I had to configure my router and talk to my ISP to remove NAT restrictions (this was the hardest part! really hard.)<p>- The other router part was setting up port forwarding and firewall which were pretty easy to do<p>- For git I am doing it from scratch, as I just want to create a web interface, basically I run git-http-backend and a go server [1]<p>- If you do not want to do git from scratch I recommend using cgit.<p>--- [1](<a href="https:&#x2F;&#x2F;saucecode.bar&#x2F;posts&#x2F;09-hosting-your-git-server.html" rel="nofollow">https:&#x2F;&#x2F;saucecode.bar&#x2F;posts&#x2F;09-hosting-your-git-server.html</a>)
评论 #33110178 未加载
f0e4c2f7超过 2 年前
It sounds like you have a good working base of knowledge to start from and might benefit from some high level concepts. Once you understand the basics you can likely cover what you&#x27;re looking for with a small open source home router or some other similar hardware.<p>If you prefer books check out<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Computer-Networking-Top-Down-Approach-7th&#x2F;dp&#x2F;0133594149&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Computer-Networking-Top-Down-Approach...</a><p>Or for video lectures:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLoCMsyE1cvdWKsLVyf6cPwCLDIZnOj0NS" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLoCMsyE1cvdWKsLVyf6cP...</a>
评论 #33098050 未加载
alexswensen超过 2 年前
Plex is a great product if you want to host your own photos, music, and media such as movies and tv shows. If you aren&#x27;t a fan of Plex you can try jellyfin.<p>As others have mentioned, proxmox, Unraid, and&#x2F;or TrueNAS are great if you have unused&#x2F;extra hardware sitting around. Personally I have a box for Proxmox VM&#x27;s, and an Unraid server for storage and several docker containers i use regularly. I&#x27;m still very cloud dependant for the convenience factor, but this should help give you some direction.<p>There are also communities on reddit like &#x2F;r&#x2F;selfhosted and &#x2F;r&#x2F;DataHoarder&#x2F; that you might want to check out.
blakesterz超过 2 年前
I&#x27;ll just recommend starting SMALL. Pick one, and start there. I&#x27;m not even sure which one on your list to recommend starting with, just pick one and go with it. All of those things are widely used and just asking your favorite non-Google search engine for docs&#x2F;guides&#x2F;how-tos will give you more good results than you need. Get to know that thing, how to set it up, configure it, keep it running, keep it secure, and how to recover from disasters. Make sure you know how to back it up and start over in the event of failure. So much of what you learn from setting up ONE will carry over to the others.
musikele超过 2 年前
I have a Synology DS720+ and I use it to store all my photos. Two things have happened incidentally: - I became an expert in networking. Opening ports, configuring VPNs, DNSs... all of this has required some time but ultimately I am happy. - I became aware of security. Synology defaults are good enough even though you really fear the idea of being attacked, so I had to dig up how to secure my synology even more.<p>In the end, DS720+ together with Snyology Photos (Gphotos replacement), Drive (Dropbox replacement) and two drives of 6TB in RAID, costed me around 700€.
jzymbaluk超过 2 年前
One thing that has kept me from starting to self-host is that I&#x27;m terrified of the thought of opening ports on my network to the open internet. For people who have self-hosted, how do you secure or set up your network?
评论 #33096651 未加载
评论 #33096731 未加载
评论 #33096662 未加载
ahmaman超过 2 年前
Cloudron.io might be helpful. Makes self-hosting a lot easier for beginners.
yrgulation超过 2 年前
I would get a rapsberry pi and at first put it behind your provider’s firewall to make sure only specific ports are open to the internet (ideally none at first). Then i’d link all my home devices to that rpi and configure it to manage routing, at first with dhcp and then manual static ip addresses. Maybe add a bit of bandwidth throttling per device just for fun, and bandwidth monitoring and reporting. For hosting git and such i’d install gitlab and maybe for photos i’d add an external us device for file storage and perhaps a shared mount.
anilgulecha超过 2 年前
I can recommend openmediavault. It comes as something you can setup on any logic machine or on a raspberry pi. It comes with many storage servers built-in, and can also run any container service as well.
评论 #33096418 未加载
preya2k超过 2 年前
I guess most of your &quot;wanted&quot; list is easily achievable, except the first one: There is just no self-hostable product for photo management that comes close to Apple&#x2F;Google in terms of reliability, feature set and ease of use.<p>Take all recommendations with a grain of salt. They&#x27;re not even close to the capabilities of Google&#x2F;Apple (unfortunately) – no matter what people are trying to tell you. This is my experience from trying out most of these systems at some point in time (Nextcloud, Photoprism, Synology Photos, and more).
评论 #33096704 未加载
bhub超过 2 年前
I started self hosting recently. I bought a cheap desktop server and installed Ubuntu server on it. Every service I run is docker-compose because it’s easier than wrangling deps and such for multiple services. I use Caddy to proxy traffic and generate ssl certs.<p>I expose https and ssh through my router but use a non standard ssh port (keeps scripts and bots from knocking) and no root access over ssh and no password auth.<p>Everything runs very nicely and is simple to maintain and setup.<p>Data is backed up via Borg and rclone to B2.<p>So far so good as they say.
harryvederci超过 2 年前
<a href="https:&#x2F;&#x2F;landchad.net" rel="nofollow">https:&#x2F;&#x2F;landchad.net</a> may be what you&#x27;re looking for.<p>I believe it&#x27;s made by Luke Smith, with content uploaded by other people.
wolfhey超过 2 年前
If your first requirement is to build a solid foundation in networking I&#x27;d suggest finding study materials for the N+ Certification from CompTIA (<a href="https:&#x2F;&#x2F;www.comptia.org&#x2F;certifications&#x2F;network" rel="nofollow">https:&#x2F;&#x2F;www.comptia.org&#x2F;certifications&#x2F;network</a>). It is vendor neutral and is intended as an entry point into a career in IT Infrastructure&#x2F;networking.
poisonborz超过 2 年前
What you shouldn&#x27;t do, is go bare metal (as in: install linux on some machine and start hosting). Begin with some virtualised solution like Proxmox or some Docker-based platform. This way you can quickly bring up new machines with any OS, and quickly recover mistakes and failures. Yes, steeper learning curve, but anything else will make you miserable as problems would cause long recovery phases.
lambdaba超过 2 年前
Well, with Tailscale you have your own private network, so anything you run anywhere you can access on any device. You could DIY it a bit more using something like WireGuard directly (Tailscale uses WireGuard under the hood), but Tailscale makes it much easier, particularly with managing adding new devices, using DNS, etc.<p>I don&#x27;t see much downside to sticking with Tailscale indefinitely, what are your reasons?
评论 #33097158 未加载
t312227超过 2 年前
hello,<p>imho. self-hosting != networking<p>but basic networking-knowhow is necessary for self-hosting and knowing networking helps in a lot of situation :)<p>idk what the &quot;best&quot; way to learn these things in the 21st century would be today, several decades ago &quot;the linux documentation projects&quot; (networking) howto was a really good start.<p>ad hardware: use any (cheap) machine you can get or already have ... idk, an old pc, a raspberry pi or some small virtual machine at a cheap provider.<p>it doesn&#x27;t matter and if your hardware is &quot;to small&quot; at a certain point in time, you will learn a lot by moving your setup from one system to another -&gt; sooner or later you will get into configuration-management a la ansible :)<p>at first you need (open)SSH to be able to remotely connect to your machine.<p>then get a domain and start with &quot;the&quot; fundamental service for all internet-connected services: DNS<p>the most common software for this is the ISC bind.<p>then add something &quot;easy&quot; like a webserver with static pages, add TLS ... and later PHP support etc. - necessary for a lot of webapplications.<p>idk, use apache2 or nginx, at this stage it doesn&#x27;t really matter.<p>the very last service to setup will be e-mail - SMTP&#x2F;IMAP&#x2F;POP3 &amp; contentscanners -, which is far more complex than it seems at first sight.<p>as the operating system i would recommend debian, it may not be the &quot;slickest&quot; linux-distribution, but it contains a lot ready-to-use of packages in its repositories and has good documentation and - last but not least - a social contract.<p>additionally debian is the basis of a lot of well-known linux-distros, which are often heavily tailored to a certain use-case - like ubuntu&#x2F;linuxmint etc.<p>cheersv
moritonal超过 2 年前
* Buy a domain as Domain<p>* Buy a Asustor AS5304T as NAS<p>* Setup CloudFlare on Domain<p>* Setup services as docker containers on NAS<p>* Setup CloudFlare tunnel into NAS docker services with auth in CloudFlare<p>* Enjoy services.<p>Note, if any of that sounds hard I must kindly point out that you&#x27;re playing a risky game trying to do all this yourself securely and should evaluate whether it&#x27;s easier to just pay a service for all this.
评论 #33096761 未加载
评论 #33096929 未加载
z3t4超过 2 年前
I suggest installing Debian or Ubuntu on the NAS so that you will be familiar. Then install all the services on that NAS box. Next step is to learn iptables and make your own router. Could make the NAS into a router if it has two or more network ports. A router is just some iptables commands.
评论 #33133800 未加载
评论 #33097304 未加载
mradek超过 2 年前
Interested to know what others share.<p>I have an old computer that I connected to my router, and I’m able to ssh into it and do stuff.<p>It’s an old intel quad core with 16gb ram, and has a 1TB SSD. More than capable enough to handle a bit of workload. It runs Ubuntu and I’m using it to run backends for apps as I develop them.
nop_slide超过 2 年前
For photos, Synology has a “moments” app which you can download on your iPhone and will back up photos to your NAS.<p>The only catch is that you have to manually open it to back up the photos, but I have found it to be the easiest way to get photos from my phone to the synology.
评论 #33098090 未加载
bo1024超过 2 年前
Looking forward to following answers to this!<p>I can vouch for git repositories being easy to host on a VPS. I use a private git repo as my daily backup tool for my documents. A public one should be easy too. Access management for particular users, I&#x27;m not so sure about.
erebe__超过 2 年前
Maybe not as beginner friendly as you would want but you can read my tutorial about my personnal server<p><a href="https:&#x2F;&#x2F;github.com&#x2F;erebe&#x2F;personal-server" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;erebe&#x2F;personal-server</a>
johnea超过 2 年前
&quot;Linode VPS&quot;: this isn&#x27;t self hosting 8-( You&#x27;re still on someone else&#x27;s computer.<p>However, self hosting is easy!!! Follow these 3 steps:<p>1. Get a computer 2. Install freebsd or linux 3. Install apache or nginx<p>Enjoy self hosting!!<p>Maybe that&#x27;s 4 steps?
评论 #33097576 未加载
bluebrad超过 2 年前
I have all of this in my Synology and use a VPN access with a Raspberry-pi to lock it all down. plus getting off google docs and using the Synology Doc system with LibreOffice
chasd00超过 2 年前
install ubuntu server either locally or on a cheap VM<p>read the ubuntu server docs about setting up a firewall and get started setting up a firewall that only allows inbound ssh and https ( be careful and don&#x27;t firewall yourself out of your system! :) )<p><a href="https:&#x2F;&#x2F;ubuntu.com&#x2F;server&#x2F;docs&#x2F;security-firewall" rel="nofollow">https:&#x2F;&#x2F;ubuntu.com&#x2F;server&#x2F;docs&#x2F;security-firewall</a><p>from there, read the docs on setting up a webserver and create an index.html with just the text &quot;hello world&quot; <a href="https:&#x2F;&#x2F;ubuntu.com&#x2F;server&#x2F;docs&#x2F;web-servers-apache" rel="nofollow">https:&#x2F;&#x2F;ubuntu.com&#x2F;server&#x2F;docs&#x2F;web-servers-apache</a><p>from there, read and learn how to setup letsencrypt as manual as possible <a href="https:&#x2F;&#x2F;letsencrypt.org&#x2F;how-it-works&#x2F;" rel="nofollow">https:&#x2F;&#x2F;letsencrypt.org&#x2F;how-it-works&#x2F;</a><p>buy a domain and learn how to setup A records to point your domain to your external IP. Your domain registrar will allow you to make your own dns records<p><a href="https:&#x2F;&#x2F;www.cloudflare.com&#x2F;learning&#x2F;dns&#x2F;dns-records&#x2F;dns-a-record&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.cloudflare.com&#x2F;learning&#x2F;dns&#x2F;dns-records&#x2F;dns-a-re...</a><p>if you can get <a href="https:&#x2F;&#x2F;mycustomdomain.com&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;mycustomdomain.com&#x2F;index.html</a> to output hello world in your browser with no certificate warnings then you&#x27;ve learned enough to start tackling self-hosting some packaged service out there. You&#x27;ll at least know enough to know what to search for when looking for answers.<p>if you&#x27;re installing all this on a computer in your home network then you&#x27;ll need to login to your home router and port forward 443 to your ubuntu server. This would be a good learning experience too <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Port_forwarding" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Port_forwarding</a><p>edit: if you&#x27;re looking for hardware to buy i&#x27;ve heard mac minis work really well for home servers. you wouldn&#x27;t be installing ubuntu server in that case, you&#x27;d be following mac docs for firewalling and webserver setup.
评论 #33097566 未加载
评论 #33097615 未加载
counttheforks超过 2 年前
The trick is to just do it. You will make mistakes and you will learn from them. I&#x27;d start with learning how to be confident you have good, usable, backups.
评论 #33097413 未加载
t0bia_s超过 2 年前
First requirement is to have good upload speed at network where your self-hosted device is. Which is quite a challenge if you have only DSL connection.
fred967超过 2 年前
Take a look here : <a href="https:&#x2F;&#x2F;yunohost.org&#x2F;#&#x2F;" rel="nofollow">https:&#x2F;&#x2F;yunohost.org&#x2F;#&#x2F;</a>
galleywest200超过 2 年前
I would recommend Proxmox as a hypervisor for whatever VMs you need. Its free, they only charge if you want a support subscription.
jeroenhd超过 2 年前
To understand networking: read a book. Much of my early networking knowledge came from <a href="https:&#x2F;&#x2F;dl.acm.org&#x2F;doi&#x2F;book&#x2F;10.5555&#x2F;1593414" rel="nofollow">https:&#x2F;&#x2F;dl.acm.org&#x2F;doi&#x2F;book&#x2F;10.5555&#x2F;1593414</a> but you can probably find more modern variants of such a book. Getting a good grasp of networking requires reading and experimentation; luckily, you&#x27;ve got the tools for experimentation already.<p>Most of application deployment is little more than reading the docs and tuning the configuration to your needs. From what I read, I think you&#x27;ve got enough knowledge to get that stuff running on your servers. You can probably get a lot more out of learning about the underlying concepts.<p>For your own photos and cloud: I use Seafile, have used Nextcloud, and alternatives exist. Quite easy to set up, but with the ability to go deep into Modern (TM) Cloud (C) backends if you want.<p>For your Bitwarden setup: Vaultwarden is a lot easier on resources and has pretty much all the features you need. Also quite easy to set up.<p>For your tailscale setup: there&#x27;s a guide for the server (<a href="https:&#x2F;&#x2F;github.com&#x2F;juanfont&#x2F;headscale&#x2F;blob&#x2F;main&#x2F;docs&#x2F;running-headscale-linux.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;juanfont&#x2F;headscale&#x2F;blob&#x2F;main&#x2F;docs&#x2F;running...</a>) and you can find more guides for the clients.<p>For your Git setup: Git works over simple SSH. If you can SSH into your server, you can host a git repository. If you want more (a nice web GUI) then Gitea or Gitlab can also be run on your server.<p>Things I recommend reading into if your knowledge about them is spotty (find guides or book recommendations):<p>- Networking (ARP, IPv4, IPv6, TCP, UDP, DNS, mDNS, maybe PPPoE, and other such abbreviations). This is a lot of reading. You can also try to get started with this stuff without reading into it (it&#x27;s how I learned!) and have a terribly frustrated time by overlooking obvious mistakes and easy solutions, but I don&#x27;t recommend that.<p>- SystemD services. People use Docker to solve a lot of daemon problems but good ol&#x27; systemd can do a huge part of that! I run most of my services in systemd rather than some kind of container setup because I don&#x27;t want to have to deal with Docker and its many friends and dependencies whenever I&#x27;m trying to resolve a problem and so far it works great.<p>- Reverse proxies, if you&#x27;re running multiple services on a single server with subdomains or subpaths; learn about nginx&#x2F;caddy&#x2F;apache2&#x2F;whatever server you prefer and how to set up proxying. Along the way you will break stuff and learn new things with every error message or unexpected routing error you encounter!<p>- Firewalls; firewalld and ufw are nice ways to get started, nftables&#x2F;iptables for the underlying stuff. It&#x27;s not hard, per se, but it can get complicated fast. Maybe mess with the Windows firewall as well just for fun.<p>- Set up IPv6 if you don&#x27;t have it already. This would allow you to do some more networking stuff and prepare you better for the future, because corporate networking people seem to be grumpy and annoyed at the thought of one day needing to enable a protocol from the 90s. If your ISP only does IPv4, <a href="https:&#x2F;&#x2F;ipv6.he.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ipv6.he.net&#x2F;</a> will get you an IPv6 subnet for free and if you do all of their quizzes they&#x27;ll even send you a free shirt!<p>- Along the way, you will (or should, at least) learn to use Wireshark and friends. Incredibly overwhelming at first but with some knowledge about networks you&#x27;ll get the hang of it by setting up the right filters.
评论 #33096699 未加载
gofreddygo超过 2 年前
Let&#x27;s start with hardware. What hardware and internet connection should one have to reasonably self host things ?
vorpalhex超过 2 年前
Just keep at it. Read some source. Play with vms or docker containers. You will get it with practice and exposure.
Havoc超过 2 年前
Youtube technotim is a good starting point. The selfhosted reddit sub also has lots of resources.
the_common_man超过 2 年前
Give cloudron.io a try. Simple to get started, technical yet secure and has an active community.
rtcoms超过 2 年前
Check Caloudron and CapRover
pbronez超过 2 年前
There are several projects designed to help you self-host your own services.<p>Proxmox[0] is mentioned by a few folks here. It&#x27;s mostly a hypervisor. It&#x27;s good if you have a &quot;big&quot; server and want to split it up into VMs for various needs. It doesn&#x27;t have any concept of an AppStore or service catalog. I think this is too low level for what you&#x27;re asking.<p>Unraid [1] is probably the easiest way to turn an arbitrary computer into a useful server. You install the OS on a thumb drive and it runs from there. It provides network storage services out of the box, can host VMs, and has a solid catalog of packaged services in their Community Applications plug in [2]. These are packaged in weird obscure way that I tried and failed to figure out. I&#x27;ve run this on an old T410 for a couple years and it&#x27;s been pretty good. Not as flexible as some other options, but quick to get going on the basics. You can see this in their storage system... you can easily add arbitrary disks to your pool, but parity options are limited. My biggest complaint is that it&#x27;s hard to spin up your own docker images, especially if you don&#x27;t want to mess with Docker Hub.<p>TrueNasSCALE [3] is my next platform. It&#x27;s an iteration on the very solid FreeNAS&#x2F;TrueNAS and ZFS. It handles containers and containerized services as first-class citizens using kubernetes, but also includes KVM so you can do virtual machines. Like Unraid, it has a healthy app library over at TrueCharts [4]. Unlike Unraid&#x27;s weird XML manifest, SCALE uses Helm. Nice.<p>coolLabs [5] is sort of a self-hosted Heroku alternative. I just discovered it on HN the other day [5a] in that context. It looks pretty neat. It has some pre-packaged services already [6] but seems to lack any concept of a community-curated service package repo. It seems to be mostly focused on helping you deploy applications you develop yourself. I don&#x27;t think it gives you network shares, for example. Still, it could be a great choice to throw onto the VPS you&#x27;re wonder what to do with. [7]<p>Kubesail [8] is a k3s-based self-hosting operating system. It&#x27;s designed to help you run basic web services as easily as possible. Where Unraid assumes you have an old computer laying around, Kubesail will sell you a PiBox [9] to get you up and running. (You can also bring your own hardware). The have a nice AppStore and have put particular attention into the photo use case you mentioned - they emphasize support for PhotoStructure [10].<p>Cloudron [11] was mentioned by a few other comments. I haven&#x27;t dug into it, but it does seem to have an appstore as well.<p>[0] <a href="https:&#x2F;&#x2F;www.proxmox.com&#x2F;en&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.proxmox.com&#x2F;en&#x2F;</a><p>[1] <a href="https:&#x2F;&#x2F;www.unraid.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.unraid.net&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;unraid.net&#x2F;community&#x2F;apps" rel="nofollow">https:&#x2F;&#x2F;unraid.net&#x2F;community&#x2F;apps</a><p>[3] <a href="https:&#x2F;&#x2F;www.truenas.com&#x2F;truenas-scale&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.truenas.com&#x2F;truenas-scale&#x2F;</a><p>[4] <a href="https:&#x2F;&#x2F;truecharts.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;truecharts.org&#x2F;</a><p>[5] <a href="https:&#x2F;&#x2F;coollabs.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;coollabs.io&#x2F;</a><p>[5a] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=33077118" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=33077118</a><p>[6] <a href="https:&#x2F;&#x2F;docs.coollabs.io&#x2F;coolify&#x2F;services&#x2F;" rel="nofollow">https:&#x2F;&#x2F;docs.coollabs.io&#x2F;coolify&#x2F;services&#x2F;</a><p>[7] <a href="https:&#x2F;&#x2F;docs.coollabs.io&#x2F;coolify&#x2F;installation" rel="nofollow">https:&#x2F;&#x2F;docs.coollabs.io&#x2F;coolify&#x2F;installation</a><p>[8] <a href="https:&#x2F;&#x2F;kubesail.com&#x2F;homepage" rel="nofollow">https:&#x2F;&#x2F;kubesail.com&#x2F;homepage</a><p>[9] <a href="https:&#x2F;&#x2F;pibox.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;pibox.io&#x2F;</a><p>[10] <a href="https:&#x2F;&#x2F;kubesail.com&#x2F;template&#x2F;erulabs&#x2F;photostructure" rel="nofollow">https:&#x2F;&#x2F;kubesail.com&#x2F;template&#x2F;erulabs&#x2F;photostructure</a><p>[11] <a href="https:&#x2F;&#x2F;www.cloudron.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.cloudron.io&#x2F;</a>
评论 #33100016 未加载
jaequery超过 2 年前
sure, it&#x27;s good for learning, but this has SPOF written all over it.
anthropodie超过 2 年前
r&#x2F;selfhosted
boppo1超过 2 年前
This might be controversial, but I recommend picking up copies of:<p>- K&amp;R<p>- Stroustrup&#x27;s &#x27;Tour of C++&#x27;<p>- Programming Practice and Principles<p>You don&#x27;t have to do the exercises because your main goal isn&#x27;t to become a programmer. But reading through these and getting an idea how data, types, memory, and files work at a low level will help add a LOT of context to using Unix-based operating systems. The first two books you can probably get through in a weekend or two, the latter is quite a bit more, but you&#x27;ll go a long way with the first 8-10 chapters + the ones about I&#x2F;O.<p>This has little to directly do with networking, but many of the resources on networking assume the knowledge that is contained in those books. Networking is a whole intimidating ocean and using high-level resources is like starting at the surface, looking down into an abyss. With these books, there&#x27;s still a whole ocean to explore, but now you&#x27;ve got scuba gear and you&#x27;re standing on the ocean floor looking <i>up</i>.
评论 #33097902 未加载