puffinrocks / puffin

lightweight webapp catalog based on containers, with user interface à la mobile app store
GNU Affero General Public License v3.0
89 stars 20 forks source link

Simplify Puffin installation procedure #18

Closed iskrisis closed 6 years ago

iskrisis commented 6 years ago

Hi! I really think the problem you are trying to solve is important one. I believe there in few years there will be big selfhosting comeback. I know many people who would like to selfhost with raspberry pis but they are no linux admins. Your project is trying to solve that but it still requires you to understand command line to do initial install.

Were you thinking about how this could be solved? Maybe prepared linux image with puffin preinstaled? Also there is lot of complications with DNS managment.

Only way something like puffin can become mainstream is if it is as easy to install and manage as Android phone.

loomchild commented 6 years ago

Hi,

Thanks for interesting message.

Yeah, installation procedure needs to be improved. However, currently I think the more important problem is to have more applications and make them easy to install and maintain. Currently I assume that a person with technical knowledge (power-user) is necessary to install Puffin, to make it maximally simple for the end users (to install and configure apps - like on a smartphone). The Puffin maintainer can be a friend, an organisation, a company, etc. I also host in in the (sort of) cloud myself, so Puffin is not fully hardware self-hosting friendly yet.

I am very open for suggestions / contributions in this regard, but I am not working on any specific solution to this problem at the moment. It's true that simplifying the installation procedure would make it easier for potential users to adopt it, but currently I am also struggling to maintain the applications in stable state themselves (update, backup, alternative stores, etc.) In order to install Puffin you need to have functioning Docker and Docker Compose and know a bit about DNS, and it's not going to change soon. All I can offer from my side at the moment is to make the documentation more clear based on your and others' suggestions.

Jarek

loomchild commented 6 years ago

BTW, the current roadmap / next priorities are here: https://trello.com/b/ov1cHTtu/puffin

iskrisis commented 6 years ago

Maybe you are thinking about it the other way around. It can never scale if puffin as a project is also maintainer of the applications. You will go crazy (maybe you are going crazy already). Community should support those. If you make it easy to make apps (which already does not seem that hard) then people will make them if you solve the other pains they have.

It seems to me that the heart of the problem is actually the managment of those hard things. I think there is much higher chance of success if you only start with few apps but nail the ease of use. I mean atleast for for goals that you state:

The goal of the project is to allow average, tech-oriented user to run web applications with ease. The idea is to create an easy to host, technology agnostic private cloud.

I would really like to have something like Puffin. For example i tried Sandstorm and it seems to me much more opaque you need lot of their platform specific knowledge. I mean i am no docker expert but many people are. It seems like right approach to make thin "cloud" os/dashboard for docker than roll your own sandstorm mega thing.

But what do i know. I am designer/front-end guy. Maybe i could contribute somehow? I know hardly any Python but i could maybe help with design and marketing side of things. From the roadmap it seems you take it very seriously thats very positive.

loomchild commented 6 years ago

Hehe, no I am not that crazy that I want to maintain all the applications:) So far I am just trying to maintain the ones I use personally and it's still sometimes challenging due to lacking migration procedures, breaking changes, incompatibilities with never version clients, etc. (it's partially Puffin fault, since there are no clear guidelines how to write the application Docker / Docker Compose config files and no automated app tests) There is only a handful of applications in the store for exactly this reason and I don't intend to add many more, but on the other hand adding something useful from time to time is necessary to make the platform attractive for potential users and for my own needs.

What I am saying is that for me the end user experience is more important that the platform administrator experience at the moment. Perhaps it's a mistake, and I'd be happy to simplify / clarify installation procedure if it's not too much work. However, i don't intend to tackle the entire administration / DNS management / backup / network hassle. I am personally not against using cloud services (AWS, etc.) for hosting Puffin for other people, which means not a complete decentralization, but at least gives users choice which web application they want to run instead of being forced to use Facebooks / Googles / etc. To simplify cloud installation we could introduce a VM / AMI if there's a demand (PRs welcome:).

I agree that installation procedure should be simpler. However, minimal barrier of entry will stay something like Docker + Docker Compose + DNS for the moment. My assumption is that if someone can administer a personal server, they should be able to do it. Could you share any specific issues preventing you personally from using Puffin, so I can help?

iskrisis commented 6 years ago

You are right about the hosting in cloud. I am not against that either. It still is selfhosting to me.

I don't have any issues that prevent me using Puffin. But i administer few servers so i know my way around linux. Regular Joe geek who knows how to use desktops well, can setup home network and lives in gui world... well he is out of luck. I still have the feeling that this could be very useful.

Anyway thanks for clarifying. I really appreciate that you took time answering! I will lurk around and at least be testing puffin for some non essential usage. PEACE!

loomchild commented 6 years ago

Thanks a lot for trying it out, I really appreciate your feedback :)