• 0 Posts
  • 15 Comments
Joined 8 months ago
cake
Cake day: February 25th, 2024

help-circle

  • There’s a lot to address here as you’re talking about hardware and possibly multiple levels of software.

    Yes, you can do this with raspberry pi or any SBC or mini PC. Even an old desktop PC if space isn’t an issue.

    In terms of photo management software, I really like Photoprism. Immich seems to be popular as well.

    In order to get your photos synced to multiple computers over the internet (a good idea for resilience), you could look at syncthing. Alternatively, you could have one central server and one or two backups in different locations using borg backup or similar. In my experience, backups are easier to manage and make it easier to recover from data loss than replicating the current state of your data in multiple places. You can do both, though.

    It’s a very worthwhile project, but may be pretty difficult unless you are already comfortable with server technology or are enthusiastic about learning.






  • I self host jellyfin, nextcloud, owncast, tandoor, komga, photoprism and searxng. I use nginx proxy manager for a reverse proxy and SSL cert automation. Works great for me but I would like to get into traefik sometime.

    I self host for privacy reasons, also it’s fun, it’s a learning opportunity and sometimes self-hosted services are functionally better than the other options out there.






  • Traefik is powerful and versatile but has a steep learning curve. It also uses code to control its configuration which is a bonus for reliability and documentation as discussed elsewhere ITT. Nginx proxy manager is much simpler and easier to use, may be a good one to get started with, but lacks the advantages of traefik described above. Nginx proxy manager does support SSL cert automation.


  • Another suggestion for you, I highly recommend specifying a version for the docker image you are using for a container, in the compose file. For example, nextcloud:29.0.1. If you just use :latest, it will pull a new version whenever you redeploy which you may not have tested against your setup, and the version upgrade may even be irreversible, as in the case of nextcloud. This will give you a lot more control over your setup. Just don’t forget to update images at reasonable intervals.



  • I use markdown text files which are synced to my nextcloud instance.

    This is somewhat tangential to your post, but I think using infrastructure as code and declarative technologies is great for reliability because you aren’t just running a bunch of commands until something works, you have the code which tells you exactly how things are set up, and you can version control it to roll back to a working state. The code itself can be a form of documentation in that case.