Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam.
-
Posts here are to be centered around self-hosting. Please ensure it is clear in your post how it relates to self-hosting.
-
Don't duplicate the full text of your blog or git here. Just post the link for folks to click.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require your active participation in selfhosting or related communities, or the post will be removed. No more than 10% of your posts or comments may be self-promotional, or your post will be removed. F/LOSS Exception: If your post is about a project that is completely open source & can be self-hosted in full without payment, your post is exempt from this rule as long as you continue to engage in comments.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
So I have an interest in self hosting things in the future (nextcloud, chatmail), but for now I'm scared of opening my network to attacks, and also I don't have a network right now I just hotspot from my phone when needed and torrent things at my friend's house.
That said how would I go about using this? I'm guessing something to do with docker or porteus (maybe? The other one that wasn't vulnerable to that recent thing), then when I want to check out X website I just "spin up the docker container" (still not 100% what that means but I've heard the verbiage), hotspot the pc (for now), and run it through the program? Am I understanding that right?
Sorry I'm so green, gotta start somewhere! I feel like a grandma calling an Xbox a "Nintendo" haha.
Yeah, this project is built as a docker container. The repo has instructions on starting the container. You should watch a few introductory videos on Docker so you understand the concepts and basic usage.
Once it's started, the machine that docker is running on will be serving a website that acts as the application. If you're running docker on your desktop you can then open a web browser and go to http://localhost:8080/ and you will see something that looks like the demo link above.
This doesn't expose it to the Internet. If you're running this on a home LAN with a router between you and the ISP's modem (or the ISP's modem is a router/AP) then only computers connected to your network will be able to access it. You would have to go to your router's administration console and specifically forward a port for that service so that people on the Internet could get past your modem.
Awesome thanks for all the help and info, I'll definitely check it out! I think this will be a nice step to help teach me these concepts and get me to the other projects!
We all started at green. No shame.
So, yes OP is using Docker. Once you install Docker on your server, you 'spin up' the docker container using the Docker compose file:
https://github.com/NovaCode37/Prism-platform/blob/main/docker-compose.yml
....and the associated .env file that houses all your environmental variables:
https://github.com/NovaCode37/Prism-platform/blob/main/.env.example
Awesome, thank you for the help/info! This seems like a good first step, I'll try it out!
Give it a go man. What's the worst that can happen? .....you have to drop back and do some studyin'. That's pretty much how I learn. Read, Do, Fuck it up ad nauseam until it clicks, then I write that shit down.
Same here lol, I will for sure!
Putting yourself into the position of trying to solve a practical problem is the best way to learn.
If you fail completely, you can always restore your system and try again (you have a backup, right?)
Yes, but I'd still prefer not to have to spend the like ~2h reinstalling and replacing my files.
That said this seems like a pretty low stakes trial which is why I'm looking at it first. Worst case a reboot (or recovery through live booting) should fix most issues, I think, if I understand correctly. I don't plan to autostart the docker container so if it fucks my system up a reboot should put me back to normal if starting it breaks my sys right?
I do have some old laptops and an unopened router waiting for me to figure out openWRT. I could install some linux OS (deb?) on one of those and use that for docker, get off my ass and install openWRT on the router, and then use that to connect both devices (and I'd have to figure out which to hotspot but that is easy), if that'd be significantly safer for my daily driver. Then I'd have to figure out how to point my browser to that too though.
Start with the documentation. Docker has a great introductory section that teaches you the basics.
https://docs.docker.com/get-started/introduction/ (the pushing your image part is not that important, the rest is)
Running a project that does things you don't know is not the best thing to learn. Learning is done by going through the basics first, not immediately firing docker compose, which is one step above pure docker.
Thank you! I'll check out the docker docs before I try spinning this up as my first trial run!