Picture Galery Self-Hosted in 2023 reddit / selfhosted ---------------------------------------------------------------------- SirLouen · 2023-10-19 11:09 Given the latest issues with IMGUR, I cannot rely on them anymore and I was looking for a nice alternative solution After reading this: [https://www.reddit.com/r/selfhosted/comments/8rnt1a/picture\_gallery\ _selfhosted/](https://www.reddit.com/r/selfhosted/comments/8rnt1a/pict ure_gallery_selfhosted/) I've chosen and installed Piwigo, extremely straightforward, and given I have all PHP things installed in my auxiliary server it has been great overall. I will probably stick to Piwigo, but given that 5 years have passed since that post, I would like to know if there are new alternatives. I've seen there are some alternatives with Docker, and other languages (nodejs, ...). The only thing I've liked about Piwigo by far is the fact that it was purely based on PHP and so easy to install. I will probably stick to Piwigo, but I'm open to new opinions since I have installed not too much ago, I'm open to alternatives. ---------------------------------------------------------------------- lilolalu · 2023-10-19 11:30 LPT for finding information on the internet: if you find something that answers your question, check when that piece of information was posted. ---------------------------------------------------------------------- chevereto · 2023-10-19 12:09 https://github.com/chevereto (my stuff) ---------------------------------------------------------------------- discoshanktank · 2023-10-19 13:53 Immich is the one i've seen highly recommended around here lately ---------------------------------------------------------------------- Watever444 · 2023-10-19 14:10 I use Immich ---------------------------------------------------------------------- SirLouen · 2023-10-19 14:22 >Immich Looks really great But nowadays 99.9999% of selfhosted things use docker But I'm so old school that it takes like 1/10 of my time to set up everything in a PHP server that having to deal with a Docker image. Feels really bad I have to update my skills to manage docker with comfort because everyday it passes I feel I'm losing the train. I have several Docker instances but they feel very bad to maintain, in fact I had serious problems with many in the past because I can't seem to get the vibe of them. This is also why I rejected Chevereto, which also looked cool :( I will probably stick to Piwigo despite it feels old AF :P ---------------------------------------------------------------------- Hatred_grows · 2023-10-19 15:03 Nextcloud has suitable memories app. Good alternative to immich ---------------------------------------------------------------------- discoshanktank · 2023-10-19 15:05 Docker's pretty easy to learn, especially just using it to install things vs actually creating them (which is also not too difficult). I'd recommend watching a youtube video on the basics of docker, especially if you're old school and already know the fundamentals of installing and managing packages on a server. ---------------------------------------------------------------------- brando2131 · 2023-10-19 15:54 Just learn docker, if you know how to use the CLI and install a PHP server, you can learn docker :) ---------------------------------------------------------------------- Budzy05 · 2023-10-19 17:32 I felt the same way you do a few months ago. Then I just got curious one day and messed around with docker. I’ll never go back. Docker makes most things like this super easy. ---------------------------------------------------------------------- adamshand · 2023-10-19 18:04 I sysadmin work in 2009, right as all the devops stuff was getting going. When I started again a few years ago I had to learn Docker. I hated it at first (I think I was mostly just frustrated that something which used to be so easy was no so complicated and I didn't trust that Docker wouldn't screw me over at some point). Anyway, I strongly recommend just spending a bit of time to get comfortable with docker-compose. It doesn't necessarily save much time on the setup, but it's SOO good for reproducability, rollback, upgrades, moving servers etc. Never again (hopefully) will I have the `apt-get install ...` moment of truth where if something goes wrong it's going to be a total PITA has to rollback. ---------------------------------------------------------------------- majordingdong · 2023-10-19 18:27 Portainer might help you get started with Docker. It’s basically a UI for Docker management. ---------------------------------------------------------------------- slyzik · 2023-10-19 18:55 Portainer has too many extra configurations... docker compose is all you need ---------------------------------------------------------------------- grandfundaytoday · 2023-10-19 20:34 Portainer is a handy crutch for getting a good view of your dockers. I use it mostly to clean up crap that docker leaves behind over time (volumes, images etc.) I do upgrades and up/down from CLI with docker-compose. ---------------------------------------------------------------------- majordingdong · 2023-10-19 20:37 Me too. ---------------------------------------------------------------------- Mysterius_ · 2023-10-19 21:35 Chevereto V4 free. ---------------------------------------------------------------------- Mysterius_ · 2023-10-19 22:09 Yeah, and thanks for the free version by the way. I was using the old V3 free and just saw that you now maintain a single V4 version. Best of both world. I use it as a self-hosted image uploader. I've used like 6 or 7 image hosting websites over the years and they're all dead. Now I don't depend on anyone else. ---------------------------------------------------------------------- chevereto · 2023-10-20 10:25 Yes but, Chevereto doesn't require Docker. We provide a Docker infra for those into Docker, but you can run Chevereto the "old way" without any issues. We also have a VPS project to ease deployment in these cases: https://github.com/chevereto/vps And we even have guides for cPanel/Plesk. Either you skipped these or someone told you wrong about Chevereto. ---------------------------------------------------------------------- TrickyBeasts · 2023-10-20 14:27 Shout out to PiGallery2 ---------------------------------------------------------------------- SirLouen · 2023-10-24 15:14 The problem for me is to maintain Docker. I don't get the feeling. I have many machines with docker, and I feel many insecurities with them. Generally, volumes are enough, but machines tend to have a ton of micro configs all around the place, and given that some docker instances tend to have more big failures that regular Linux instances, (from my experience, I have a couple of docker instances and a ton of virtual servers), for me, maintenance has been much higher, this is why I try to avoid them at all costs. ---------------------------------------------------------------------- SirLouen · 2023-10-24 15:22 Still you have to apt-get in the core server where your docker are installed right? I'm not 100% sure which are the advantages of running Docker. I run a web server with PHP and nothing more, and then all my PHP apps there. Instead of having to run an individual PHP server per container... Updates per container have to be run also, right? Version upgrades are a massive issue, you will need to recreate another docker instance and expect that everything works well with your volumes. If you want a mail server for your PHP servers in containers, interconnection between the containers in the same machines has been always very painful for me. Dunno, I only see issues with docker containers. The only advantage I see with Docker is when developing, everyone has the same instance, but I also feel that this is a very lazy and fearful approach, so essentially I've been the opposite of an advocate for docker since its conception. ---------------------------------------------------------------------- SirLouen · 2023-10-24 15:33 Interesting. Seems pretty straightforward, Im going to give a try ---------------------------------------------------------------------- adamshand · 2023-10-24 18:53 Happy to answer questions, but I suspect you're going to have to try it if you want to understand the advantages. :-) It wasn't until I set up a second Docker server and moved a bunch of applications across that I had my a-ha! moment. > Still you have to apt-get in the core server where your docker are installed right? Yes, but that's generally very straight forward. In my homelab I track Debian Testing and I'm not sure I've ever had something go wrong with updating the basic OS required to run Docker. > I'm not 100% sure which are the advantages of running Docker. I run a web server with PHP and nothing more, and then all my PHP apps there. Here's a few examples of advantages. - You are running two app applications which require different versions of PHP. With Docker this is easy, just change the version of PHP in your docker-compose.yml file. - You're moving a legacy app from an old server to a new server. The legacy app requires old libraries which aren't available or don't run the new server. With Docker it's easy to build an environment which supports the old libraries. - You upgrade the system installation of PHP but discover that there's an unfixed bug in php-libgd that breaks your app and need to downgrade. Downgrading is a total PITA. With Docker you just change the version number back to the one that works and carry on. - One of your PHP apps gets exploited. Because all PHP apps run as the same user now all of your applications are vulnerable. With Docker you can have each application running as a different user and each application is jailed in it's own sandbox. (You used to be able to do this with Apache and suexec but not many people did.) > Instead of having to run an individual PHP server per container...Updates per container have to be run also, right? Correct. But most of the time updates consist of: # cd /srv/ # docker-compose pull # docker-compose down # docker-compose up -d && docker-compose logs -f Also, there's nothing saying you have to run one app per container. You can have a single Apache/PHP container and still run all your apps in that. It's just Apache/PHP you can do whatever you like. Most people don't do that, because it's actually easier. less work, and more reliable to have one app per container ... but it's not required. > Version upgrades are a massive issue, you will need to recreate another docker instance and expect that everything works well with your volumes. In my experience, version upgrades are *massively* simpler with Docker. In my homelab I usually track `:latest` so upgrading is as simple as what I put above. In production environments I'll pin versions (or at least major versions). Once you have a working docker-compose.yml you have a "recipe for a working app" which you can copy and use anywhere. Want a different version, just change the version number in the compose file. > If you want a mail server for your PHP servers in containers, interconnection between the containers in the same machines has been always very painful for me. This is just part of the learning curve, it bit me a bunch of times when I was learning as well but it's actually really simple. Assuming you are using docker-compose.yml, you can add one (or more) "networks" to each container (think of a "network" as a tag). Any containers which are tagged with the same network can talk to each other. You can make it as simple or as complicated as your want. You can put everything in the "default" network and just get on with your life. I normally have a network for my reverse proxy and a network per app (if the app has multiple containers). So caddy, wordpress-apache, and jellyfin would all have the "proxy" network. But only wordpress-apache and wordpress-mysql would have the "wordpress" network. > Dunno, I only see issues with docker containers. The only advantage I see with Docker is when developing, everyone has the same instance, but I also feel that this is a very lazy and fearful approach, so essentially I've been the opposite of an advocate for docker since its conception. It is certainly an additional layer of complexity. But in my experience it's been overwhelmingly worth it at work and at home. In the last 5 years I can't think of a single instance where a production problem has been caused by Docker. It's an additional level of faff on top of Docker, but being able to deploy / upgrade / downgrade an application with `git push` is life changing. I pushed an update to a live server a few Fridays ago and broke the service. Oops, but fixing it took 30 seconds. Log into CapRover, select the previously working version, and redeploy. Done. ---------------------------------------------------------------------- SirLouen · 2023-10-24 22:02 I've read all your comment, but still I have encountered many issues. For example, in my machines I have Ubuntu unattended updates. I've been running them for 3 years straight already in more than 10 machines. With docker, it would be like 10 x 5 o 7 sites per machine, it would be a total maintenance of 70 docker machines that effectively are a total of 70 servers. I understand that I could be configuring the unattended thing per machine but that would be really nuts... 10 machines already are enough One day I will do like the adventure of going all in on Docker becuase I know that if many people are using it they cannot be wrong, but I have found so many hindrances on my first attempts that I've never took the time keep "trying" without a proper understand of the whole system from the begining to the end. ---------------------------------------------------------------------- adamshand · 2023-10-25 00:24 You get to run things however you like. :-)