Quick install apps ideas

Thanks! This worked great. I updated to 1.4.0 Alpha 2 and then did an Quick Install of Nextcloud. I was a little confused at first with the create database option. I skipped it at first only to realize I wasn’t able to create a database through the nextcloud web installer. Basically I couldn’t find the database user with the right permissions to be able to create a database. So, I went ahead and started over from scratch and created the database in the Quick Install tool. Things are looking good. A few minor tweaks to the php mem limit but it seems to be working fine now. Great work! I’ll see if I find any bugs.

1 Like

@eris Is it feasible to implement invoiceninja on quick install apps?

1 Like

If you have the time for it…

Hi @ibarreda , i don’t think invoiceninja worth the work. They are upgrading from V.4 to V.5 with a lot of issues. V.4 (the stable one’s) is linked to EOL for PHP 7.3 and V.5 is far from being stable (they tag as STABLE v. 5.1.1 in February 2021 and now we are at V.5.1.62, meaning 62 versions in 3 months since the “STABLE” version).

To be honest i never use quick install app feature on Hestia, but my opinion is that Hestia team should spend time on something very stable and consistent for quick install app feature.

Cheers

3 Likes

I’d like to see phpBB added, i’ve tried to create the script, but i’m getting error 500 when loading it.

<?php

namespace Hestia\WebApp\Installers\phpBB;

use Hestia\System\Util;
use \Hestia\WebApp\Installers\BaseSetup as BaseSetup;

class ExampleSetup extends BaseSetup {

    protected $appInfo = [ 
        'name' => 'phpBB',
        'group' => 'cms',
        'enabled' => true,
        'version' => '3.3.5',
        'thumbnail' => 'phpbb-thumb.png' //Max size is 300px by 300px 
    ];
    
    protected $appname = 'phpBB';
    protected $config = [
        'form' => [
            //Note at least one input field is currently required
            'protocol' => [ 
                'type' => 'select',
                'options' => ['http','https'],
            ],
            'site_name' => ['type'=>'text', 'value'=>'Demo'],
            'username' => ['value'=>'Username'],
            'email' => 'text',
            'password' => 'password',
            ],
        'database' => true, // add the text fields for Database Name, Database User, Database Password + the option to create them
        'resources' => [
            //resoruce may be an archive (zip, tar.gz)
            'archive'  => [ 'src' => 'https://download.phpbb.com/pub/release/3.3/3.3.5/phpBB-3.3.5.tar.bz2 ],
            //or an composer project for example.
            //By default composer v2 is used if you need to use v1 you can append 'version' => 1 to the composer array 
            'composer' => [ 'src' => 'example/projext', 'dst' => '/', 'version' => 1 ]
        ], 
        'server' => [
            'nginx' => [
                'template' => 'wordpress',
            ],
            'apache2' => [
                'template' => 'example',
            ],
        ],
    ];
    
    public function install(array $options = null)
    {
        //parent::install will install the the resource on in /home/{user}/web/{domain}/public_html
        //Currenly only archive and composer project is supported. 
        parent::install($options);
        /*  
            Some can config need to be manipulated with config files
            v-open-fs-file
            v-move-fs-file
            v-delete-fs-file
            and so on. Please check /web/local/hesita/web/src/app/WebApp/Installers for more examples or use our documentation found on https://docs.hestiacp.com
            v-run-cli-cmd  has an limited list of allowed commands see https://github.com/hestiacp/hestiacp/blob/main/bin/v-run-cli-cmd
            
            Run here the other commands 
            Software that is installable via CLI command the easist way is use a an command like
            for example:
        */ 
        $this->appcontext->runUser('v-run-cli-cmd', ['/usr/bin/php',
            $this->getDocRoot('command/to/run'), 
            'maintenance:install',
            '--database mysql',
            '--database-name '.$this->appcontext->user() . '_' .$options['database_name'],
            '--database-user '.$this->appcontext->user() . '_' .$options['database_user'],
            '--database-pass '.$options['database_password'],
            '--admin-user '.$options['username'],
            '--admin-pass '.$options['password']
            ], $status);
            // If $status->code === 0 the command was executed properly / successfully 
            return ($status === 0);

    }
}
// When done upload the folder to /web/local/hesita/web/src/app/WebApp/Installers

This can’t be right …

Also check /var/log/hestia/nginx-error.log

Yes. I really love to see Moodle in Quick install apps. It is a great idea.

More information regarding creating new Quick install app

We currently don’t have time to add more but we are open for contributions

2 Likes

Would it be possible to add ModX Revolution to the Quick install apps. It is an Open Source CMS modx.com.

Server Requirements Overview

The guidelines below are the minimal and recommended versions of software to run MODX Revolution.

Component Minimum Required Recommended for Production
PHP 7.2.5 7.4, 8 Supported
Database Latest MySQL 5.6.x MariaDB 10.1.x or Percona Server 5.6.x or above
Web Server Latest Apache 2.2.x Latest NGINX 1.18.x or above

As @eris already has answered.

1 Like

It would be really nice if you have Joomla (4) available. My projects use it all the time. Installation is very simple.

I had a lot of issues with installing with command line

If have an example ready with it can be installed with CLI it should not take a lot of work…

@eris any kind of open source forums ? such as NodeBB , phpBB, Simple Machines Forum

I prefer NodeBB :slight_smile:

https://docs.nodebb.org/installing/os/debian/

Requires NodeJS. So it is almost a no go …

1 Like

Just had a quick look at the git repo for quick apps, going to try and get my head around this and see if i can get something working lol

I would advise against adding Joomla 4 as a Quick Installer. I have Joomla 4 on more than 50 websites and the normal Joomla Graphical Installer takes less than one minute and works very well with Hestia. But Joomla is undergoing rapid changes right now and any Hestia Quick Installer would likely become quickly outdated. In addition, Joomla is planning on a version 5 in the near future. In my opinion, we are better off letting the Joomla team modify their own installer rather than trying to create a Hestia Quick Installer for Joomla. I love Joomla and I love Hestia. It is just that there are a lot of changes going on right now with Joomla. All of these changes are for the better and Joomla internally is offering updating and migration paths for current Joomla sites. But the process for new websites is better handled by Joomla rather than Hestia. Hopefully, things will settle down in a year or two and then it would make more sense to add a Hestia Joomla Quick Installer. I would even be happy to create the Quick Installer myself once I am convinced that Joomla will not make it outdated.

I would love to see InvoiceNinja. Version 5 has been around for some time now and seems stable.