Ask Lemmy
A Fediverse community for open-ended, thought provoking questions
Please don't post about US Politics. If you need to do this, try !politicaldiscussion@lemmy.world
Rules: (interactive)
1) Be nice and; have fun
Doxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them
2) All posts must end with a '?'
This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?
3) No spam
Please do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.
4) NSFW is okay, within reason
Just remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com.
NSFW comments should be restricted to posts tagged [NSFW].
5) This is not a support community.
It is not a place for 'how do I?', type questions.
If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.
Reminder: The terms of service apply here too.
Partnered Communities:
Logo design credit goes to: tubbadu
view the rest of the comments
One important thing to check up on before you start is weather your ISP permits hosting servers at home to not.
Any port you open in your router will quickly be found and you WILL get attacked, this is automated and often called the background noise of the internet.
Your IP WILL show up on sites like Shodan, and depending on your ISP they may also find it. You need to read up on what your ISP permits you to do with their internet connection.
Normally it is chill, as long as you don't cause issues for the ISP they don't really care, but if your service starts attracting traffic, attack will increase and so might the issues your ISP see.
I don’t think anyone opens a port directly to the application. One should use a reserve proxy manager such as NPM. Further security such as authentik. And maybe even cloudflare proxy for hiding one’s IP.
Also, what ISP cares about hosting other then frequent IP changes which duckdns solves? Is this for a specific company or country?
Well, I don't really know what I'm doing so it may be pretty important. I will look for reserve proxy manager. Thank you for helping :)
This sort of question made me originally think I was on c/selfhosted.
What I would do if I was you would setup lemmy, authentik, nginx proxy manager, and a cloudflare website with cloudflare proxy turned on. On cloudflare you make an A record or a CNAME pointing it at your IP. You need to open ports on your router aimed at NPM. My setup then routes ALL traffic inside NPM to authentik. Authentik can provide many forms of authentication. My current setup requires a username, password, and OTP. Then Authentik will route your successful login to your lemmy. I use this setup for private services.
I have not hosted my own lemmy. If it has to be fully public to federate successfully, I would get rid of authentik. That's NPM directly to lemmy. You can add extra security by adding 2auth login. On cloudflare you can also region block all visitors from countries you don't expect traffic. Lemmy appears to be mostly western so any Eastern country that randomly has a high amount of traffic you could block.
You can additionally use fail2ban to read through your NPM and docker logs then link to cloudflare API to ban any IP that tries to login to your lemmy instance and fails.
Selfhosting is really exciting, and a fun and rewarding learning process. I am more happy to help you with any questions as I have done all of this except the lemmy part.
Is your old laptop running a specific OS? Can you change it to linux? That would help with efficiency and giving it more life :) I prefer Ubuntu or Fedora. You can just install the server part so you won't have a GUI. All you need to do is install a linux server, get it running, install docker, via command line install portainer to manage docker. Then you can visit the portainer website at your laptop's ip and portainers port number and manage all of your docker images easily via web.
For now, I plan on keeping Windows. I also have bad experience with installing new OS. Linus is nicer to use pre- installed and parametrized on the school computer. Thanks for the advice. I did not know about !selfhosted@lemmy.world oh... There is four of it :-) I won't need to be posting this kind of question in this community now