What self-hosts PHP-type based projects do you love or at least find useful?
I've seen some discussion on self-hosted stuff, but a lot of it depends on docker or droplets or some such.
As a user of dedicated servers and the shared hosting environment on them, although Virtualmin gives me much more freedom than cPanel did, I still can't run a lot of the fun stuff I want to play with.
So I'm curious to know what you run in that sort of environment that's awesome.
Although I will start with one: NextCloud has been around for a while - taking over from whatever-Cloud they forked from that I've now forgotten the name of. heh. It was not a bad project, but it really wasn't featured enough for my needs.
But recently, I've discovered that they have been expanding their features rapidly. What I love and use:
- NextCloud Talk is almost on par with Teams. Featureful chat. Shared files. Links to various things on NextCloud.
- With the local app installed, syncing a folder to the server, I can edit files locally or in the browser and it's a really nice synced environtment. The web view works well, almost like File Explorer - dragging and dropping files around, etc.
- Ability to share files publicly. And even the ability to have a chat with users visiting the file page if you want. Ability to "hotlink" shared pics - like to embed in a forum
- The "Cards" app is... I forget the original name for teh layout, but you get cards in lists. Cards have details, due dates if you want, things like lists you can check off items, embed pics, etc. Also, each card has a chat related to that card and you can @ people
- Passwords app - share passwords with certain people, click to opy to the clipboard. Storing credit cards means I can copy-paste easily to use on my phone instead of typing.
- Calendar that can sync to other sources
- Tables - lke Microsoft Lists - custom set up of columns, handy for any number of things from making a ticket system / issue tracker, to lists of resources for a particular site. Can ahve edit access, or make it into an "app" where it gets stuck up on the nav bar and view-only for your clients, for example
Basically, while there are still some rough spots, it is really pretty slick and works well. And the awesome part is that being self-hosted, I control it. There's a large number of apps you can add to it, of varying quality.
So I'm curious to know what other projects you love and find useful! :)
Hmm docker-enabled hosting is quite accessible these days, you can get relatively cheap VPS, for example from Contabo, install some Docker management GUI (portainer, or my favorite Caprover) and roll. I understand it is one level lower than some of you may be willing to dive, but it is not that complicated and not much more expensive. I'll help anyone interested!
Additionally, I find in much easier to maintain long-term, with easier upgrades and no mess of conflicting requirements from different apps like when selfhosting the LAMP way.
The reason I wanted to have this discussion specifically not including docker and the like is personal — I've had a dedicated server since 2004, and operated in shared environments before that. So while I know it's simple and cheap to operate droplets and virtual servers and such, for me, being able to run apps on the server on which I'm doing my hosting means it's essentially "free". :)
If someone is coming into this from nothing, docker and the like aren't bad options at all.
I'm sure you already know this, but Docker can be run locally as well. That's probably the biggest reason why it got popular to begin with; having easy access to a development environment for server applications.
Second vote for Nextcloud running "natively" under Apache. I've also been using it since the fork. Except for a couple of hiccups during upgrades (back up your stuff before clicking that too-too-easy all-in-one upgrade button), it's been great and pretty much trouble-free.
One alternate I'd suggest, is yunohost. I was very close to going with them instead of Nextcloud, a decade ago, and I keep seeing them popping up on my radar these days; it looks like they've also gotten much better over the years.
Bonus: You can run Nextcloud under a yunohost install.
I have never had this button work for me. Every time, I follow their backup steps to the letter and run updates following their guide. Every time, the update fails and I have to try to roll back. And every time, the rollback is unsuccessful (usually because it thinks I'm trying to downgrade) and I have to wipe and reinstall.
My Nextcloud setup gets simpler every time. Now it's a single host running a LAMP stack, I don't even have a reverse proxy anymore. I guarantee it's going to fail again, and I will have to do the same old song and dance. Unfortunately, nothing else quite fills the role Nextcloud does, so I am stuck in this cycle until I give up entirely.
That is weird. I've used it, easily, 25-30 times, and only had it get stuck, maybe twice?
I have also, however, had it work flawlessly, and then, wake up the next morning with the site completely offline (after it was working fine for several hours after the update) ... this is always a discrepancy between the OS and the Nextcloud php version.
Regardless of how often it works, it doesn't work 100% of the time, so always be prepared....
I've been prepared. I've followed their instructions to the letter. It has still failed. This isn't an issue of me being lax, it's an issue of a major software provider pushing out new versions every 6 months without having a reliable upgrade path.
I like php projects as it allows me as a server-stuff-n00b to run them on an old-fashioned hosting provider with FTP and the DirectAdmin panel. I am good enough at php to read/understand stuff and make some necessary tweaks here and there. But all the Docker stuff is inaccessible to me. So I've been lamenting the trend towards stuff being only available in that form. Although I understand the reasons, it does feel like a higher bar to entry as there is more server config stuff to do and requires command-line use where php/mySQL apps only require FTP/DirectAdmin.
I self-host Shaarli for bookmarking and my read-later list, plus Tiny Tiny RSS for following feeds. Very happy with both, it's been a stable set up for years now.
Docker is pretty easy to learn, actually. The reason why things are packaged that way is because it's "batteries included"; if everything is available with PHP then usually a dev will include alternative instructions on using Composer, but that means that you will have to set up a lot of the local server environment yourself. I remember a lot of problems I had with LAMP applications was editing Apache configs and installing PHP extensions, but even then you also had to figure out how to set up extra services like the database and sometimes dedicated search and cache servers. But docker can allow you to set it up all in one command, and for big projects needing more than one machine you can use something like kubernetes.
Besides, I literally cannot remember a time when webhosts didn't give you shell access. Maybe around 2000?
You might be missing/overlooking some context here. All that you are saying is right, but all the people you have responded so far also mention shared hosting providers. These are your traditional web hosting solutions where you get space on a server, php to run it on and a MySQL flavor as far as database solutions goes.
These are cheap, low maintenance (zero) on the server level as user. From that perspective just uploading your php files, settings some permissions and having it all running is still extremely easy and straightforward. There is something to be said for running some things like that.
Precisely this.
I have little reason to desire spinning up droplets out in the web when I'm already paying for a dedicated server that is nowhere near full utilization. heh.
Droplets are cheap, but not free. Adding stuff to my dedicated is..... free. :)
Well if it is a dedicated server you are in control of there is no reason not to install docker (or podman) and run containers on that server. It does make server maintenance itself quite a bit easier. Certainly if you want to run things with mixed tech stacks.
I was really thinking about the context of a shared webhost where php is effectively the only option.
No, as in a dedicated server running a control panel, set up for shared hosting. That's what I do for a living. :)
I used to run cPanel, but now I'm running Virtualmin. I'm not sure about docker and Virtualmin, but docker and cPanel do not mix :)
BTW, nextcloud was forked from owncloud and there was some kind of company coup behind it.
I remembered the name well after I'd posted - because I was scrolling the list of installable apps included with Virtualmin and noticed ownCloud is on there. So they are still around. I'll probably install it to see what it looks like these days. heh.
I remember I had limited use for it back in the day; I mean, it did useful things but I already had useful things that did what it did. NextCloud does things that I've been relying on Teams for, so this is now self-hosted solution I can do.
And yeah, I remember there was rather a lot of drama for a bit there. heh
The two I am really a fan (and use heavily) are:
Baikal - cloud backup of calendar events (caldav) and contacts (carddav), and
ulogger - track and share your location
I’ve been running DAViCal for I don’t know how long already. At the time I installed it, it was a nice way to escape the big companies that offered shared calendars. I bet there are much better options now, but it is low maintenance and continues to run. I always wonder how insecure this thing is… maybe I should switch again. Anybody have any recommendations for shared calendars, notes and reminders?
Sourcebans++! I run a few TF2 servers so sourcebans is a big part of how we keep things civil.
https://github.com/sbpp/sourcebans-pp