photonixapp / photonix

A modern, web-based photo management server. Run it on your home server and it will let you find the right photo from your collection on any device. Smart filtering is made possible by object recognition, face recognition, location awareness, color analysis and other ML algorithms.
https://photonix.org/
GNU Affero General Public License v3.0
1.85k stars 125 forks source link

Al-in-one Docker image (separate Postgres and Redis not required) #232

Open nomandera opened 3 years ago

nomandera commented 3 years ago

Is your feature request related to a problem? Please describe.

I held of making this ticket but I think there is value in it. Close if too off topic for Github.

I have over the past few months talked to many people IRL about the demise of Google photos free storage, the upsides of self hosting, big brother data mining and all things photo management and I am constantly amazed how often Photonix comes up.

I can honestly say more times than not anyone in the market for replacement already knew about Photonix. This is no small thing.

Now comes the rub... I dont know anyone actually running it.

Some of this was that back in end of 2020 when the Google announcement made Photonix wasn't as far along and the barrier to entry was primarily dev related.

Now however I think the primary barrier is docker compose and the two helper services that are needed to have a working system

In my experience only a small percentage of users that run docker use compose. Now i know that is crazy as compose is so much easier and more powerful but it is true none the less. Most pure docker users in the space use run and most appliance users rely on templates such as unRAID.

Next, of the people that have docker, only a small percentage have or know about Redis and an even smaller percentage know about Postgres. These may be every day technologies to us but to most they are not.

I am sure there are other missing minimal viable product features people want that are blocking adoption and if appropriate I invite comments in this ticket to capture them

Describe the solution you'd like The typical model would be online demo, tiny local install and then scalable local install.

You often see this done as sqlite either running in some sort of trial mode or with big warnings that it wont scale or be fast and a migration path to the full scalable product.

If possible I would strongly recommend we look into this. It will remove the adoption blockers listed here and open the door to projects such as unRAID picking it up.

Describe alternatives you've considered N/A

Additional context N/A

damianmoore commented 3 years ago

Hi @anoma. Thanks for taking the time to clearly put forward your thoughts. I don't get to hear a lot about why people aren't running it yet so more insight is always a plus. I've tried to be clear so far that it's not considered production ready but we are getting close so it's work bearing this stuff in mind now more.

It should be reasonably straightforward to create secondary docker images that utilise SQLite or have Postgres built-in and Redis built-in (or an alternative). As you say, we need to be clear that this is not the recommended set-up or we will probably get an excess of bug reports and it's another thing to support.

I'd be interested to hear if other people think this is worthwhile and if so, at what point we should work on - we're busy trying to implement the last big features before 1.0 at the moment.

nomandera commented 3 years ago

I waited to reply as I wanted to see if anyone else would. I didnt expect too see any replies and I wasnt disappointed.

However I still think I am right but your point about when is a good one. The users you get now with a cut down infrastructure are likely to be mostly of non contributing kind.

I would say the right time for this would be between RC and v1.0 so that the big first announcement has a minimal path for adoption for those that want to have a quick look to see if its for them.

damianmoore commented 3 years ago

Thanks @anoma - that timing sounds about right. I sorted out version number tagging and automated, multi-architecture building at the weekend so think this extra build could slot into this workflow quite nicely as an extra Docker tag.

ITblacksheep commented 3 years ago

I would really like to see a standalone dev container that contains all the bits to run. Would make it a lot easier to hack on it vs running 3 different containers. I think that would also help in the adoption a bit more. For dev/small setups sqlite may suffice for the DB back end. I could really push it as I have a 30k plus library to test on.

KptnKMan commented 2 years ago

Really hoping that this can get some traction.

I've been trying to get Photonix working on Unraid for some time now with some very limited success. I made a post on Unraid forums here and an issue here #372 but I think an all-inclusive image would really do the trick for a lot of people.