magicstone-dev / ecko

Community-driven fork of Mastodon's federated social network software
https://magicstone.dev
GNU Affero General Public License v3.0
54 stars 10 forks source link

Problem: Installation can be made simpler for the average person #438

Closed limdingwen closed 1 year ago

limdingwen commented 1 year ago

This issue is to discuss possible installation methods and principles that can make it easier for the average user to use Ecko. First of all, what environment is Ecko likely to be used in?

On a VPS, likely running Ubuntu

Might aim for something like snap. The YunoHost method exists but is hard to use because the big providers don't provide YunoHost images (and thus people need to go through the whole installation process), while they usually provide Ubuntu images.

Docker method exists, to be honest I'm not sure how Docker Compose works. Is it possible to either make nginx optional, or to bundle it with Docker somehow?

What about a single bash script that automates the installation? This is possible on VPSes since people can just "nuke" the whole thing if it goes wrong.

Where do people see logs if the server doesn't work?

On an old computer running Windows

Might aim for something like a single GUI app; you just have to keep the computer on 24/7. Logs can be shown in the GUI.

What about NAT or CGNAT? IPv6 isn't really here yet.

E-mail issues

Related to #435.

weex commented 1 year ago

Good questions. I must refer to https://github.com/magicstone-dev/ecko/blob/main/docs/INSTALL.md which places YunoHost as the easiest way to install Ecko, then docker-compose (which is probably best for those who are familiar with docker), then lastly installing from source which is based on Ubuntu but is probably most complicated of the options.

Installation being difficult is a problem, however under C4 we want to have issues that are solvable so that we can close them when they're done. Since installation can always be made simpler, it's hard to know when that finish line has been crossed. For that reason I'm going to close this one.

I fully encourage you to create new ones with more singular problem statements. For example "Ecko can't be installed via Snap" or "There's no installation document for Windows". By keeping them separate we can avoid issues that require many PRs, plus they're easier to discuss.

weex commented 1 year ago

One other thing I meant to add, now that I have experience running an instance for about a year is that it's not a decision to be taken too lightly, because to the extent it's bigger than single-instance it will require some maintenance. People often compare running this to an email server so as much as we want to make it easy, we have to be careful not to make it seem like it is without cost in time/money.

limdingwen commented 1 year ago

Thank you, @weex for your prompt reply. I am currently using other server software, so I'm not sure if I should create the issues; perhaps I'll only do so if I come back (so as to not litter this tracker with un-tended issues ^^) I'll create the new issues soon! If you're a future visitor, and I haven't created the issues, feel free to do so.

One other thing I meant to add, now that I have experience running an instance for about a year is that it's not a decision to be taken too lightly, because to the extent it's bigger than single-instance it will require some maintenance. People often compare running this to an email server so as much as we want to make it easy, we have to be careful not to make it seem like it is without cost in time/money.

I see that https://c4.social is 24 users, so this worries me as I am trying out the guide laid out in https://runyourown.social (that most communities should run their own, very small servers). May I know what's the time cost of running an instance? Is it keeping up with Fediblock for example?

limdingwen commented 1 year ago

Issues to create:

weex commented 1 year ago

May I know what's the time cost of running an instance? Is it keeping up with Fediblock for example?

Actually it's not too much, especially with fewer users, no mod reports. I just have to keep an eye on disk space as media caching tends to fill it up. Since you mentioned Windows/NAT, just want to keep it clear that the software should be online nearly all of the time for it to work as intended.

weex commented 1 year ago

Issues to create:

For these and C4, I would try to phrase them as problem statements rather than solutions. For example, "Adding nginx to the docker compose file" I would rephrase as "Nginx configuration isn't included in the docker-compose file". The idea with C4 is to present and discuss problems, this allows contributors to come with changes that they know will be accepted and built on. For more on the reasoning you might check out Why C4? and for anyone who wants to go deeper the ZeroMQ community guide describes how this fits into a more complete vision of a contributor community.

limdingwen commented 1 year ago

Thank you :) I'll try and rephrase them.

On Tue, 8 Nov 2022 at 01:14, David Sterry @.***> wrote:

Issues to create:

For these and C4, I would try to phrase them as problem statements rather than solutions. For example, "Adding nginx to the docker compose file" I would rephrase as "Nginx configuration isn't included in the docker-compose file". The idea with C4 is to present and discuss problems, this allows contributors to come with changes that they know will be accepted and built on. For more on the reasoning you might check out Why C4? https://magicstone.dev/why-c4/ and for anyone who wants to go deeper the ZeroMQ community guide https://zguide.zeromq.org/docs/chapter6/ describes how this fits into a more complete vision of a contributor community.

— Reply to this email directly, view it on GitHub https://github.com/magicstone-dev/ecko/issues/438#issuecomment-1305933457, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANKAR2IBEPZSIXTMZ2B3Z3WHE2ILANCNFSM6AAAAAARYX4HOI . You are receiving this because you authored the thread.Message ID: @.***>

-- Ignis