Need good solutions for sharing photos with family

I am somewhat late into the Linux-verse (three years in now) and want to move into self-hosting to do two things:

  1. Host my own Jitsi server and sessions. (or any other open source solution)
  2. Host my own solution to privately and securely share photographs of my kids and life here with my family abroad.

At some point, I want to host my own little static-website about myself which should “replace” having to give people a LinkedIn account or something.

The thing is, I know nothing about owning domains, etc. I have never done this before. I have been lurking around this forum to learn some of the basics, but would really like a more tailored reply (is possible). I am working in Europe.

  1. Which computer should I use? I want to host everything on my computer at home. I don’t want to go the VPS route.
  2. Where can I buy an inexpensive domain(s)? I assume I only need one.
  3. What other things do I need to consider? My current broadband is IPv4 only.
antlion,
@antlion@lemmy.dbzer0.com avatar

I have used Piwigo for this purpose the past 3.5 years. It’s running on a tiny Odroid HC-2 and solid state drive. The same device also runs Emby for video streaming. I started it with a free sub domain from afraid.org. I migrated to a real domain later. To run two services from one domain name you also need a reverse proxy and SSL certificate renewal, like SWAG or NGINX Proxy Manager or Zoraxy.

The main thing I’ve learned is keeping everything isolated repeatable. On my Odroid I learned to use Docker and Portainer for the apps. But there were a couple times I broke everything through updates/upgrades. Now I have a small Intel N305 (Minsforum UN305C), running ProxMox VE, and apps in Linux containers. The first I set up myself to learn but later I discovered some open source helper scripts tteck.github.io/Proxmox/. ProxMox seems a bit more complex than Docker/Portainer, but more flexible.

I’m using IPv4 only but I’m migrating to IPv6 soon to help with in-network routing to my domain. My advice would be unless you want to host your own DNS and override your domain to resolve to LAN, just use your IP:port on LAN and use the domain only outside your home.

poVoq, (edited )
@poVoq@slrpnk.net avatar
  1. An old laptop is the easiest to start with, but you might eventually run into storage limitations with it. But in general getting an older one and putting a bigger SSD into it is usually sufficient (but look for one that can limit battery charging to 80%). Otherwise a thin client or a mini-pc is good, but they don’t come with a built-in UPS or Keyboard/Screen for quick troubleshooting.
  2. Domains cost pretty much the same everywhere, but I think in your case OVH is good. They give you a free email service and dynDNS for free with every domain purchase, so that takes care of the difficult stuff like email hosting for notifications and the like. It also includes a free 100mb webspace you can use for that static site and not worry about your server being online all the time.
  3. IPv4 only is no problem. You need to see if your ISP gives you a dynamic public IP (so no NAT) and if the router you are using allows access to configure port-forwarding.
Shimitar,

Sorry man, I am on mobile so I keep missing parts.

As for hardware, I would recycle anything you have at home if it has at least 8gb ram and a network card. Specially laptops (low watts consumption and built-in battery in case of power outage) are my favourites. But if you want to spend for new stuff, the low power N100 are all the rage nowadays.

For storage, go with at least two disks or ssds or nvme in RAID1 (and keep in mind that is not backup, which you should plan to do), they can be external USB drives as well, provided you spend some good money and don’t go cheap on the USB enclosure. Mine have been working perfectly for the last decade.

Shimitar,

More.

I agree nextcloud might be a very good solution.l, specially because all the service you might need are there. The fun factor decreases tough.

Also, while cloudflare is heavily sponsorized in this community I disagree. It’s probably the easiest approach but you end up depending on a specific service. Renting a cheap vps (virtual private server) and setting up a VPN or ssh tunneling is the best approach, but slightly more complex. In exchange you are free to migrate to a different vps at any time with basically zero downtime.

Using a VPN is clearly the safest approach but has two limits:

  • more complex setup for you users
  • cannot expose public services (like sharing photos with friends outside family, or sharing your resumee)

Using ssh tunnels to make your internal server accessible on port 80/443 of the vps instead gives you the maximum freedom, but you run higher risk unless you secure it properly (service separation, https with let’s encrypt, strong authentication and so on…)

Shimitar,

I wouldn’t follow the advice of using Immich. While its a great tool, growing fast and super polished, its currently aimed at photo backup from your android phone/tablet and is not a good pick for a family photo gallery.

To that end I would look into pigallery2 or the very good homegallery, which is still in early stages as well but also quite polished and already working great. They will not replace Immich, but will complete the workflow nicely.

My photo management flow (which includes your requirements, plus the capability to organize new photos over time) is here wiki.gardiol.org/doku.php?id=services:photomanage… if you are interested.

In general the flow is to buy or recycle a pc of anykind, install linux (optional, but recomendes), buy a domain you like from some registrar, setup some kind of remote access from outside to your home, and install the services you want.

The workflow mandatory includes hours spent trying and failing, and also having tons of fun in the process. Don’t forget the WAF (Wife Appreciation Factor) which will determine how much fun you can have.

Last, i al documenting all my steps and proceedings while I run down my own selfhost rabbit hole in the above linked wiki (self hosted, ofc).

See you around, I guess!

Undearius,
@Undearius@lemmy.ca avatar

I’ve been trying to find some good examples of how to structure the files, and whether to combine the photos from everyone or to keep them separate. Obviously there’s different systems for everyone, but your method of syncing, tagging, and displaying/sharing photos is almost identical to how I’ve been wanting to go about it.

Do you mind sharing how you structure the photo files and naming in your Gallery directory?

I was thinking of implementing the Copyright tag to keep the data of the original phototaker, and then combine all the photos into a Gallery/YYYY/MM structure, with the filenames being YYYYMMDD-CameraModel. There aren’t many events we go to, so albums aren’t a big priority, but on the occasion, I was thinking if using a folder like MM-Event in the respective year folder.

I’m just putting my thoughts down because I don’t often see this part of people’s photo organizing.

Shimitar,

I create folders with name like: /gallery/2024/03 - Trail Del Marchesato/

And put there all the photos related to that event.

Or more generic like: /gallery/2024/Winter To collect generic photos of that period.

So I divide by year and reason/event. Inside each use moves his own photos for that event, or they create their folders.

Tags do the rest.

Homegallery let’s you view them by similar or tags, while pigallery2 let’s you view them by the folder. Both together fits the bill

yuris,

Hi! I’m quite new to self-hosting as well. Started about a month ago. I bought this Mini PC while it was on discount, but in general, any PC with Intel N100 should be cheap and good enough.

I bought my domain on Namecheap, and I use Cloudflared to expose my self-hosted service with the domain I bought. More on Cloudflared here.

I’m currently using the Mini PC to host a media server, personal notes app, a Minecraft server, and a link preservation software. I currently don’t have a photo storage service set up, because most of my storage are already used for my movies on the media server.

However, I’ve been looking into the options for a self-hosted photo storage service. Others have mentioned Nextcloud and Immich, and they look great. I also found Ente which I might also give a try once I have upgraded my storage.

eodur,

For image hosting I would look at Immich. It aims to be a full Google Photos replacement. It isn’t quite there yet, but it is quite featureful and rapidly improving.

Lifebandit666,

Bleugh Immich.

I’ve heard great things but I’m quite new to all this and can’t get the fucking thing to boot. Last night I followed their install via Portainer walkthrough to the letter, copy/pasted their files from their links they pointed at…

I’ll have it running by next weekend most likely, this keeps happening, then I learn a bunch of shit. But I really have no idea why it wouldn’t boot last night.

rambos,

Immich doesnt feel like beta at all, its amazing, its better than google photos imo. Nextcloud is also great, but nextcloud photos not so much

GregoryTheGreat,

Tell that to the breaking changes server upgrades. I know something good happened when my app won’t login anymore.

No real hate though. I’m a sponsor of the project. Shits lit.

rambos,

Im using immich for less than a year and there were few breaking changes. Im updating manually and I think its quite easy to follow their instructions. They also push warning message to clients before breaking change happens. But yeah I know what you mean, it can be annoying if you are auto updating

eodur,

Totally agree. I run both Immich and Nextcloud. Both are great.

darelik,

Agree. I run paperlessngx also for documents/ocr.

GravitySpoiled,

Both is still work in progress. Matrix call for video calls and immuch for photos.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • selfhosted@lemmy.world
  • DreamBathrooms
  • thenastyranch
  • ngwrru68w68
  • magazineikmin
  • khanakhh
  • rosin
  • mdbf
  • Youngstown
  • slotface
  • everett
  • cubers
  • kavyap
  • GTA5RPClips
  • InstantRegret
  • JUstTest
  • Durango
  • osvaldo12
  • ethstaker
  • cisconetworking
  • tacticalgear
  • normalnudes
  • anitta
  • modclub
  • tester
  • provamag3
  • megavids
  • Leos
  • lostlight
  • All magazines