Code Monkey home page Code Monkey logo

sellyoursaas's Introduction

SELLYOURSAAS

Features

SellYourSaas is a tool to offer any Web application as a Saas service (for a free or paid offer).

100% of the needs, from customer acquisition to generation of information for end-of-year accounting, including deployment, management and backup of customer instances are provided by the project.

The project provides ready to use and friendly interfaces to record definition of the packages to sell (which application, where to find sources and database images, how to deploy them), the tools to deploy the application on a remote server (on a simple mono server infrastructure or into a scalable farm), but also a customer dashboard for your subscribers, automatic invoicing and renewal. The administration and backoffice of solution is based on Dolibarr ERP CRM Open Source software.

This is a list of some features supported by this project:

  • Creation of profiles of packages - to define what to deploy when a subscription to this package is done: files or directories to deploy, databases dump to load, cron entry to add, SSH public keys of administrator to deploy and any other command lines to launch.
  • Create services that define the plan (which package and which options) and the price policy to use for invoicing: free, per application, per user, per Gigabytes, ... (or any combination).
  • Customizable SQL or CLI commands for each sold services to define how to count the quantity to bill (For example a SQL request to count the number of users or a CLI command to get the consummed disk space).
  • Get ready to use URLs of public online subscription forms to register to the hosting service.
  • Autofill and autodetection of country and language in the subscription page using GeoIP, recording a probability of VPN usage for each subscriber (for fight against spammer or evil users).
  • Each customer has its own system and data environment (jail).
  • Option to support free subscription, time limited trial periods (with no credit card required) or payment instances.
  • Define quotas (deployment per customer, per ip, per hour, ...).
  • Provide a customer dashboard for customers to manage their subscription, download their invoices. You also decide if customers can deploy more applications or options with the same existing account from their customer dashboard.
  • Decide if customer has a direct access to the database and a restricted (or not) SSH access to its instance.
  • Add a system layer to replace the php "mail" function to track and stop evil users using their created instance to try to make Spams.
  • Manage a network of reseller with commission dedicated to each reseller (a reseller has its own URL to register/create a new instances of an application and any customer that use it to create its instance is linked to the reseller. Reseller will gain a commission for each invoice paid by the customer).
  • Payment of customers can be done automatically by credit card (currently using Stripe service) or semi-automatically by SEPA mandate.
  • Billing rules (date, amount, frequency of next payment) can be modified differently for each customer.
  • Provide a lot of predefined email templates in several languages for the management of service (subscription, trial expiration, cancellation, ...)
  • Can manage each customer and subscription from the backoffice (deploy, suspend, unsuspend, undeploy an instance manually, create a maintenance account, backup, ...).
  • Provide statistics reports on trial instances, customers, etc.
  • Scalable solution (install more servers if you have too much customers or users).
  • A lot of "ready in the box" tools (backups, migration, upgrades, ...)
  • Multilang (both front and backoffice)
  • A cost of infrastructure lower than 0.5 USD per instance/customer.
  • A 100% automated workflow.

Documentation

You may find asciidoc documentation here:

Licenses

Main code

GPLv3 logo

GPLv3 or (at your option) any later version.

See COPYING for more information.

Documentation

All texts and readmes.

GFDL logo

sellyoursaas's People

Contributors

altairis-noe avatar atm-florianm avatar atm-maxime avatar bafbes avatar dolibit-ut avatar eldy avatar flegastelois avatar frederic34 avatar girgias avatar gurvankervern avatar hregis avatar hystepik avatar priojk avatar rycks avatar thegivrix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sellyoursaas's Issues

Data too long for column 'ext_payment_id' at row 1 ,

Describe the bug
Return from stripe payment (test mode) :

Success to charge card (pi_3L8JqLHU6nqAr7bd0YGuXWKq with pk_test_51Ks45eHU6nqAr7bd3mFZKVBOmbYOBzo61HkZjxlPMa6nbAmpzkkGyt35mGm99FtQwiiY2RP27xfCc2tQfGmCxWZR0057qOFe38),
Data too long for column 'ext_payment_id' at row 1 ,
Email sent to thirdparty (to xxx@xxxx without any attached document, language = fr_FR)

Screenshots

image

image

"my" solution was to change in sellyoursaasutils.class.php line 1236

$paiement->ext_payment_id = $charge->id.':'.$customer->id.'@'.$stripearrayofkeys['publishable_key'];

to

$paiement->ext_payment_id = $charge->id;//.':'.$customer->id.'@'.$stripearrayofkeys['publishable_key'];

app armor ERROR

Hello,
When I configure AppArmor I get the error:
ERROR: Found reference to variable HOME, but is never declared

Add an option SELLYOURSAAS_SUPPORT_SHOW_MESSAGE

Ajout dans la config de sellyoursaas, d'un champ textarea de 3 lignes, permettant de saisir un texte.
Ce texte sera affiché sur la page de creation de ticket de support, juste au dessus de
"Sélectionnez votre canal d'assistance".

SQL script bug for PostgreSQL databases when upgrading to version 15.0.1 from 14.0.5

Describe the bug
Migration script 14.0.0-15.0.0.sql bug for PostgreSQL databases during upgrade task from 14.0.5 to 15.0.1. The error seems to be caused by an incorrect PostgreSQL syntax.

Erroneous Syntax:

ALTER TABLE dae_product_fournisseur_price MODIFY COLUMN packaging real DEFAULT null;
ALTER TABLE dae_ticket MODIFY COLUMN progress integer;

Expected Syntax (or similar):

ALTER TABLE dae_product_fournisseur_price ALTER COLUMN packaging SET DEFAULT null;
ALTER TABLE dae_ticket ALTER COLUMN progress SET DATA TYPE integer USING progress::integer;

To Reproduce
Steps to reproduce the behavior:

  1. Start the upgrade process from 14.0.5 to 15.0.1

Dolibarr_Install_01

  1. Click on 'Start' command button
  2. Error is displayed on the next page as per screen shots below

Dolibarr_bug_ScreenShot_01

Dolibarr_bug_ScreenShot_02

Desktop (please complete the following information):

  • OS: Debian Bullseye and Ubuntu 22.04 LTS
  • Browser: Brave Private Window 1.38.115
  • Version: Dolibarr 14.0.5 upgrade to 15.0.1 issue

Incorrect template link on customer invoice (multiple domains context)

Describe the bug

Context: multiple cloud domain managed by one dolibarr master:

  • "main-domain.fr" was the first domain
  • "my-domain.fr" the second one installed after

In the form of a customer invoice, the domain link for "Généré à partir du modèle de facture" is incorrect, should be on "admin.my-domain.fr" and not "main-domain.fr".

To Reproduce
Steps to reproduce the behavior:

  1. log-in on admin."my-domain.fr"
  2. go to a customer invoice (which is generated from a template)
  3. click on the link to view the "Template that generated this invoice"
  4. you have switched to admin."main-domain.fr"

Screenshots

image

Add widget "Last scheduled job"

A a widget with
Last executed scheduled job + date + status
Next scheduled job to execute + date + status
Scheduled job in error: Nb in error (0 if no error)

Installation instructions: setting up AppArmor on Ubuntu 20.04 fails

Describe the bug

Following the installation instructions for AppArmor as described here fails.

The previously created files containing lines starting with 'link:' cannot be processed and the following errors are stated:

deploy1 apparmor.systemd[5800]: AppArmor parser error for /etc/apparmor.d in /etc/apparmor.d/usr.bin.secureBash at line 1: syntax error, unexpected TOK_LINK, expecting $end

deploy1 apparmor.systemd[5832]: AppArmor parser error for /etc/apparmor.d/php-fpm7.4 in /etc/apparmor.d/php-fpm7.4 at line 1: syntax error, unexpected TOK_LINK, expecting $end

deploy1 apparmor.systemd[5870]: AppArmor parser error for /etc/apparmor.d/usr.bin.secureBash in /etc/apparmor.d/usr.bin.secureBash at line 1: syntax error, unexpected TOK_LINK, expecting $end

To Reproduce

Steps to reproduce the behavior:

  1. Set up AppArmor accrodning to the instructions, especially creating the described files all starting with link:
  2. Reload AppArmor with the command aa-teardown; /etc/init.d/apparmor restart;
    result is stated as failed
  3. Checking the failure with systemctl status apparmor.service results in the errors mentioned above.

Expected behavior

Successful reload of AppArmor after configuring it.

Desktop (please complete the following information):

  • OS: Ubuntu 20.04 on OVH public cloud

it is not possible to add a Payment

Describe the bug

I have configured the app according to the documentation. I can create my instances, but the page is not showing after one user creates one instance and wants to add a payment method.

To Reproduce
Steps to reproduce the behavior:

  1. Open the instance link and create one.
  2. Once the instances have been created, click on the button "add payment method"

Expected behavior

I have tested this feature using a previous version and Dolibarr 17.x, I deleted the installation and I started again due learning proposes but the new release requires dolibarr 18, so I have used it.

Screenshots
image

image

  1. I have enabled the Dolibarr logs, and it shows nothing.
  2. the apache virtual host error: no errors
  3. the apache other hosts error: no errors

Desktop (please complete the following information):

  • OS: iOS, Windows
  • Browser : Safari, ms edge
  • Version [e.g. 22]

Dolibarr: 18.0.0
PHP: 7.4.3-4ubuntu2
Web server: Apache/2.4.41 (Ubuntu)
Apache modules: core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_actions mod_alias mod_asis mod_auth_basic mod_auth_digest mod_authn_anon mod_authn_core mod_authn_dbd mod_authn_dbm mod_authn_file mod_authz_core mod_authz_dbm mod_authz_groupfile mod_authz_host mod_authz_owner mod_authz_user mod_autoindex mod_cache mod_cgi mod_cgid mod_charset_lite mod_dav mod_dav_fs mod_dav_lock mod_dbd mod_deflate mod_dir mod_dumpio mod_env mod_expires mod_ext_filter mod_file_cache mod_filter mod_headers mod_http2 mod_ident mod_include mod_info util_ldap mod_mime mod_mime_magic mpm_itk prefork mod_negotiation mod_php7 mod_reqtimeout mod_rewrite mod_setenvif mod_socache_shmcb mod_speling mod_ssl mod_status mod_substitute mod_suexec mod_unique_id mod_userdir mod_usertrack mod_vhost_alias

Additional context

Reloading the module shouldn't delete associated mail templates

Summary
Currently, when you restart SellYourSaas (for instance after upgrading it), you lose any customizations you made to the module's mail templates (fortunately, the daily SQL dump can save us).

To Reproduce

  1. Go to Home > Setup > Emails > Email templates
  2. Modify a mail template, for instance InstanceDeployed
  3. Disable SellYourSaas, then enable it again
  4. Go back to Home > Setup > Emails > Email templates, scroll to InstanceDeployed (for instance)
  5. The modifications you made are lost

Expected behavior
Enabling the module should not delete (or reset) previous customizations made in the module, including e-mail templates.

http code 562

Describe the bug

I have followed the steps, verified the connection between the admin and deploy server.

I get the following error:

action_deploy_undeploy.sh for action undeployall on jorge a1.MYSITE.com.mx return 12, so remote agent returns http code 562

To Reproduce

Difficult to reproduce step by step

Screenshots
image

Additional context

There is a wy to see the logs of depoy_undeploy.sh?

domain with 2 sufixes returns com.mx instead myfirma.com.mx

Describe the bug

I have configured my main domain as firma.com.mx, but in some places the "admin" url is only com.mx instead myaccount.firma.com.mx or firma.com.mx

image

image

image

Steps to Reproduce

Configure a double sufix domain

  1. go to the admin web site https://admin.firma.com.mx
  2. Click on Home->Setup->Modules/Application->SELLYOURSAAS module
  3. Into the field List of Sub-domain to deploy new instances type firma.com.mx
  4. Save the changes.

Check the changes

  1. Acces again to the module SELLYOURSAAS (do not refresh)
  2. Chech the label Default product/service for instance (suggested for new contract/instance)

Expected behavior

The domain must be firma.com.mx instead com.mx

Screenshots

image

Image with only one sufix

SELLYOURSAAS:

  • Version: 2.1

Dolibarr:

  • Version: 18.0.0

Additional context
Add any other context about the problem here.

Add an option into sellyoursaas setup: SELLYOURSAAS_ONLY_NON_PROFIT_ORGA

Add an option SELLYOURSAAS_ONLY_NON_PROFIT_ORGA into sellyoursaas setup.
When option is set to ON, we include a message with a checkbox on the form to register.

"I confirm that I am not a non-profit institution. For commercial companies, an identical paying service is available on https://www.dolicloud.com"

Also, when a user go on the support service, when this option is set, the fields to send the ticket email are hidden (the field "Select your channel must not be visible, sender email and email topics, join files and textarea are also hidden),
Only the fields to select the category of ticket and the suggested FAQ that appears after must works.

MariaDB Cluster Master/Slave necessary? + questions

Hi,
I'm currently taking a look into this project and I'm reading through the documentation and I wonder if this is really optional because it's not really clear.

Documentation:
https://github.com/eldy/sellyoursaas/blob/master/doc/Documentation%20SellYourSaas%20-%20Master%20and%20Deployment%20Servers%20-%20EN.asciidoc#setup-mariadb-cluster-in-mode-master-slave-optional-abandonned

My question is now. Do you need to setup a Master Slave Maria DB Server or are the Deployment servers are connecting to the master server database?
In the documentation it says optional and abandoned.

Is it possible to make the install process a bit more detailed. It's really easy to get lost what needs to be done on the master and what needs to be done on the deployment server. Another thing that I miss is a little picture that shows how everything is communicating with each other. Like where runs what and how is it done from a technical point of view. That would help so much.

Thanks in advance!

Documentation needs improvement

Describe the bug
I am running through the setup procedures now and am having problems. Especially on the DNS steps. I am running my installation on Amazon AWS servers, and am really having a difficult time. I need to get this install ASAP for a demo, and it's not going great.

To Reproduce
Steps to reproduce the behavior:

  1. Following installation directions.

Expected behavior
Documentation is pretty good start, but there are several places where I am unsure of if I am supposed to be doing the configuration steps on the master or the deploy servers.

It would also be nice if there was a brief summary at the beginning of each section telling the overview of what you are doing and why as well as making it painfully obvious which server you are supposed to be doing this on. There are several sections that do make a distinction, but some that don't. I would suggest adding color coding to titles in each section that says...

All Servers
Master Server
Deployment Server

If there is nothing to be done for the master server for let's say "Creating a Working Directory", you could simply put "N/A" for the "Master Server and under "All Servers". This way the directions are uniform and really obvious on which server you are supposed to be working on.

The DNS section seems a bit confusing and I cannot get the DNS to work.

Uniform colorization of title headers and such would be nice.

Another thing that would be nice is having setup instructions for someone using cPanel or Plesk. Using these things is pretty common.

Screenshots
N/A

Desktop (please complete the following information):

  • OS: Mac OS
  • Browser Firefox
  • Version latest

Smartphone (please complete the following information):
N/A

Additional context
N/A

Unknown column 'deployment_ip' on new installation

Describe the bug

On a fresh installation of SellYourSaas (with Dolibarr v16.0.1), it is not possible to create new customer instances because the check for too many instances from same IP is immediately triggered.

Looking into the root cause, the Dolibarr log ist saying:
DoliDBMysqli::query SQL Error message: DB_ERROR_NOSUCHFIELD Unknown column 'deployment_ip' in 'where clause'

Running the installation again did not solve this.

Looking into the source in file myaccount/register_instance.php,
when the SQL check fails, since the column does not exist, $nbofinstancewithsameip is set to -1.
The range check explicitly fails, when this value is < 0.

I think this check for <0 needs to be removed but I am unsure regarding side effects.

BTW whitelisting the IP does not help as a quick fix, since the hourly check ($MAXDEPLOYMENTPERIPPERHOUR) fails as well for the same reason of the missing column and cannot be overridden by whitelisting.

Reason when validating instance destruction

Feature : offer the possibility to give a reason when validating instance destruction.

When I want to destroy my instance (ex: unsubscribe from the service):

  • I enter the name of my instance in the "Dangerous" tab and I click on "Uninstall and destroy the instance"
  • I receive an email and I click on the validation link
  • When I click, the link directly launches the uninstallation

I'm not sure at what step, but it would be interesting to ask for a reason for this uninstallation, example (a configurable list?):

  • technical problem (offer to contact us)
  • functional problem (lack of knowledge of the product)
  • price problem (offer to contact us)
  • decides to change software and/or provider
  • decides to switch to an "on-premise" version
  • others

and in any case, ask for a comment.

Error creating client instance: "connection refused"

Discussed in #195

Originally posted by sun2dayo March 5, 2022
hello great team
I need your help to overcome this challenge.
When trying to create a client instance, I get the error " connection refused" as you can see in the screenshot.
So the instance creation process is not 100% complete.
Registration-dolisig-basic-
But I was able to verify that the client instance is created successfully (if I enter directly into the url created for the client, I can connect to the client instance dolibarr application (using the username and password initially set in the 'dump file'). Application of the client instance I see that everything seems to be perfect.
I checked the /var/log/remote_server.log and the whole deployment process happens without any errors.

I believe that something happens during the deployment process, that is, in the step right after the "shell after" execution and that stops the process, before automatically forwarding the client to the dashborad.

One of the things that I could verify, is that any variable or sql statement configured "sql after" in the package is not applied.

Where can I be failing?

error generate pdf

Hello,
I try to generate the doc in pdf but I get these error when I launch the command :
asciidoctor-pdf -a pdf-themesdir=. -a pdf-theme=sellyoursaas "Documentation\ SellYourSaas\ -\ Master\ and\ Deployment\ Servers\ -\ FR.asciidoc"

asciidoctor: ERROR: Documentation SellYourSaas - Master and Deployment Servers - FR.asciidoc: line 1419: level 0 sections can only be used when doctype is book
asciidoctor: ERROR: Documentation SellYourSaas - Master and Deployment Servers - FR.asciidoc: line 1706: level 0 sections can only be used when doctype is book
asciidoctor: WARNING: Documentation SellYourSaas - Master and Deployment Servers - FR.asciidoc: line 5751: unterminated listing block
asciidoctor: ERROR: could not locate or load the pdf theme `sellyoursaas' in .; reverting to default theme
asciidoctor: ERROR: failed to parse formatted text: auto eth0:1 iface eth0:1 inet static address e.f.g.h netmask 255.255.255.255 broadcast e.f.g.h</.......etc
It generated a pdf but unsubale (see attached).
Could you provide the doc in pdf on the site or github ?
OS : debian 10
Documentation SellYourSaas - Master and Deployment Servers - FR.pdf

thanks

Add a check to avoid to forgot to upload files

Sometimes the user select a file on the support channel of sellyoursaas but they forgot to click on button "submit file".
Can you add a test so when the submit a form, if they add a file to upload and did non submit if before, there is an error. You can take the example on common form used to send a dolibarr document by email. There is such a test already.

Automatically set a flag on thirdparty that apply to be reseller and remove email sending request

When a customer go on menu "Apply to be a reseller", a form is shown so user can fill a message.
On clicking on submit, an email is sent.
I would like to remove these emails.
Instead, i suggest to update a new extrafield called "date_apply_for_reseller" on thirdparty and set it with the current date instead of null. And remove the send of email.

So we can search all thirdparties that made a request by doing a search on "date_apply_for_reseller" and type is not supplier to find pending request and process them.

This will reduce emails to [email protected] and we will still be able to process requests...

Sérieux c'est du open source ?

A supprimer, car je continue a chercher les solutions a mes problèmes comme un grand...

Merci encore pour ton travail ;) Même si j'ai toujours pas réussi a le faire fonctionner à 100%

Error when creating new Package

Describe the bug
After a new installation of Sell-Your-SaaS, when following the instructions here....

https://github.com/eldy/sellyoursaas/blob/master/doc/Documentation%20SellYourSaas%20-%20Master%20and%20Deployment%20Servers%20-%20EN.asciidoc#setup-of-packages

There is an error when the create button is clicked.

Field 'tms' doesn't have a default value

This appears similar to an old bug #10709.

To Reproduce
Steps to reproduce the behavior:

  1. Log into dolibarr as an admin user.
  2. Click on SaaS icon on top of page.
  3. Click on New Package on Left side of page.
  4. Fill out form exactly according to the documentation found in the installation instructions.
  5. Click Create button.
  6. See error "Field 'tms' doesn't have a default value"
  7. No new package is created.

Expected behavior
The expected behavior is to have the new package created.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):
Mac OS Big Sur
Firefox 93

Smartphone (please complete the following information):
N/A

Additional context
Dolibarr version 14.0.3
Latest Sell-Your-SaaS version.

Running on AWS EC2 instance. Ubuntu 20.04 LTS.
Screen Shot 2021-10-13 at 6 51 36 AM

SellYourSaas doTakePaymentStripe for invoices even if payment mode is manually set to other payment mode !

Describe the bug

Bad surprise this morning : an invoice with paiement mode set to "bank transfert" is paid with stripe :-(

To Reproduce

Your customer has a sellyoursaas recurrent invoice.

One day this customer want a special feature -> make a special invoice. Set payment mode to "bank transfert".

Run SellYourSaasTakePaymentStripe Task -> that invoice is paid with stripe.

(a fix will become in less than 5 min)

Missing columns after upgrading the master branch of the sellyoursaas module

Describe the bug
After upgrading sellyoursaas to the latest commit (at the time of the problem it was 19afda2) on the master branch and disabling / re-enabling the module, some required columns are not created (namely the comment column in the llx_sellyoursaas_whitelistip and llx_sellyoursaas_blacklistip tables.

To Reproduce
It is not easy to reproduce because you need a fully set-up but slightly out-of-date sellyoursaas service.

  1. git pull origin master in the module directory
  2. try creating a free instance (any package / formula) → a blank page is shown with the following message:

    Erreur: failed to get blacklistip elements

Expected behavior
The instance is created and the page is redirected to show the summary of the new instance (user name, password, host)

Additional context
I created the columns manually and I haven't detected any other problems since.

Issue when following documentation instructions on the installation of Logrotate

When following the installation instructions, i got the following error when installing Logrotate:
Running;

logrotate -f logrotate_admin_log

the error:

error: stat of /home/*/logs/*log failed: No such file or directory

Logrotate apparently does not support the " * " in the path written in /etc/logrotate.d/logrotate_admin_log

I simply followed the documentation instructions.

I'm running on Ubuntu 20.04.

Thanks a lot for your help,

autoupgrade: database migration is only run, if major version changes (e.g. 15->16 but not 16.0.3 -> 16.0.4)

I tried the autoupgrade procedure for an upgrade of an instance from version 16.0.3 to 16.0.4. This ended up in an installation showing that install.lock needs to be removed to finalize the update. Doing this allowed to manually start the database migration steps, but this of course involves the support of the help desk and is not an auto-migration any more.

Inspecting the respective script action_upgrade_instance.sh, the code for removing the install.lock and performing the migration steps automatically is only executed, when the major version changes (e.g. from 15 to 16), but not with minor version changes.

image

I am not sure if this is by intent, or if the full upgrade procedure shouldn't rather be executed on any minor version upgrades.

Edit: Probably, line 285 should just use -le (less than or equal) instead of -lt (less than). At least in my tests this worked out well although the log message becomes a bit weird (upgrading from 16.0.0 to 17.0.0 although it's just an upgrade within v16).

Wrong path in batch_detect_evil_instances.php ?

Hello,

in "batch_detect_evil_instances.php" script, the path of spam dir is

$pathtospamdir = '/tmp/spam';

and after, script go to dir

print "----- Go into dir /home/jail/home\n";
chdir('/home/jail/home/');

and create the "$pathtospamdir"

dol_mkdir($pathtospamdir);

but as the path begins with a slash (/tmp/spam), it creates the "spam" directory in the server's "tmp" directory.

What is the desired purpose?

Developer Support

Bonjour, j'ai cherché à faire appel à un développeur de logiciels pour vous aider à installer votre application. Je ne peux qu'apprécier tout le talent et les compétences qu'il a fallu pour développer ce logiciel. Malheureusement comme tu l'as expliqué

"Sell-Your-Saas fournit une solution complète pour une entreprise 100% automatisée. Elle a besoin de beaucoup de composants Open-Source. Faire une installation automatisée est très difficile et même impossible sur la plupart des fournisseurs car ce n'est pas une application mais un système.
Ce point n'est pas prioritaire pour le moment mais je garde le ticket ouvert pour le futur..."

Êtes-vous ou un membre de votre équipe disponible ou capable d'aider à l'installation puisque votre expertise serait essentielle à une installation réussie.

Je ne connais pas les termes et pratiques de github. J'espère que je n'ai offensé personne ici avec mon enquête.

Hi have been looking to contract a software programming developer to assist with the install of your application. I can only appreciate all the talent and skill it took to go into the developing of this software. Unfortunately as you articulated

"Sell-Your-Saas provides a full solution for a 100% automated business. It needs a lot of Open-Source components. Making an automated installation is very difficult and even not possible on most providers because it is not one application but a full system.
This point is not the priority for the moment but i keep the ticket open for future..."

Are you or any of your team available or able to assist with the installation since your expertise would be critical in successful installation.

I am unfamiliar with the terms and practices of github. I hope i have not offended anyone here with my inquiry.

Fail2Ban: Not found any log file

Describe the bug
When following precisely the documentation for installing SellYourSaas. I got an issue when configuring fail2ban.
Running

systemctl status fail2ban

I get:

Feb 15 05:50:06 admin systemd[1]: Starting Fail2Ban Service...

Feb 15 05:50:06 admin systemd[1]: Started Fail2Ban Service.

Feb 15 05:50:06 admin fail2ban-server[67812]: 2023-02-15 05:50:06,498 fail2ban                [67812]: ERROR   Failed during configuration: Have not found any log file for xinetd-fail jail

Feb 15 05:50:06 admin fail2ban-server[67812]: 2023-02-15 05:50:06,502 fail2ban                [67812]: ERROR   Async configuration of server failed

Feb 15 05:50:06 admin systemd[1]: fail2ban.service: Main process exited, code=exited, status=255/EXCEPTION

Feb 15 05:50:06 admin systemd[1]: fail2ban.service: Failed with result 'exit-code'.

I ran:

grep logpath /etc/fail2ban/jail.local | cut -d= -f2 | grep '^ /'|sort|uniq|xargs touch"

But it doesn't fixe the issue as no logpath is configured in jail.local for xinetd-fail.

Looking for a solution, i tried changing backend=auto to backend=systemd (that allows having no logpath)
It works but I fear there might have problems using systemd instead of the advise backend.

To Reproduce
Steps to reproduce the behavior:
Follow the documentation for fail2Ban (https://github.com/DoliCloud/SellYourSaas/blob/2.0/doc/Documentation%20SellYourSaas%20-%20Master%20and%20Deployment%20Servers%20-%20EN.asciidoc#installation-of-fail2ban)

Expected behavior
fail2Ban successful start

Desktop :

  • OS: Ubuntu 20.04

Taille des HDD

Bonjour, je trouve le projet super!
Et je pense à créer deux serveurs.

J'ai une question par rapport à l'ajout des disques :
Les B2-15 ont déjà 15Go + 250Mo par instance. Donc 125Go pour 500 instances (si je ne me trompe pas)

Les 15Go vont être pour l'installation de SellYourSaas ou du coup ils sont perdus ?

Merci

Sellyoursaas Installation and Setup

Is your feature request related to a problem? Please describe.
The Installation and Setup process for Sellyoursaas seems rather cumbersome and elaborate.
Need the ability to have a automated Installation and Setup of Sellyoursaas on Digital Ocean.

Describe the solution you'd like
Sellyoursaas should be available via the Digital Ocean Marketplace. A Saas Service provider should be able to search for Sellyoursaas on the Digital Ocean market place and should be able to create a Droplet from there. This will automate the installation and setup of Sellyoursaas Master Node. Similarly there should also be a way to create the Deployment Node in an automated way. The Saas Service Provider should be able to Add Deployment Nodes from the Sellyoursaas GUI interface by pointing to the Deployment Node DNS Name / IP Address.

Describe alternatives you've considered
Currently no alternatives are available.

Additional context
Refer to the Link - https://marketplace.digitalocean.com/apps/lamp
Screenshot 2021-01-06 at 5 12 52 PM
Screenshot 2021-01-06 at 5 12 40 PM

the certbot

input

domain= my domain real

certbot certonly -n --manual-public-ip-logging-ok --server https://acme-v02.api.letsencrypt.org/directory --agree-tos --manual --preferred-challenges=dns --manual-auth-hook /home/admin/wwwroot/dolibarr_sellyoursaas/scripts/letsencrypt_authenticator.sh -d "*.withX.domain.com,withX.domain.com" -m [email protected] --deploy-hook "systemctl restart apache2"

output

Certbot failed to authenticate some domains (authenticator: manual). The Certificate Authority reported these problems:
Domain: withx.domain.com
Type: unauthorized
Detail: Incorrect TXT record "oitD_Tswcf8fGgU_w_ggET1iHNFrb076-Kgjrz3b2F85Yp6jgjCIO8" found at _acme-challenge.withx.domain.com

Domain: withx.domain.com
Type: unauthorized
Detail: Incorrect TXT record "oitD_TNwcf8fGgU_w_ggET1iHNFrb076-Kgjrz3b2F85Yp6jgjCIO8" found at _acme-challenge.withx.domain.com

Hint: The Certificate Authority failed to verify the DNS TXT records created by the --manual-auth-hook. Ensure that this hook is functioning correctly and that it waits a sufficient duration of time for DNS propagation. Refer to "certbot --help manual" and the Certbot User Guide.

Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
root@saas:/etc/apache2/sellyoursaas-enabled#

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Feature to activate a website.

  • Selection must start with a button "Install" showing price. Then only, we show the message with the combo selection.

  • When we enter the domaine name, add a html5 regex rule in field to be sure the website domain name start with www.

  • Once we have enter the name of domain, we must update the example of DNS entry to use the value of domain into the example.

  • Fix error management if creation of cert or virtual host file fails

  • Show a waiting animation during the update.

Can force the amount of one service with a param in reseller link

Currently a reseller see this in the myaccount dashboard:
image

With must add one parameter called &price_per_user=ZZ
When this parameter is defined, we use this price in url instead of the default price when we create the instance with the line with a price per user.
So each reseller is able to set its own price.
PS: Add a protection to forbidden a value of price_per_user lower than a hidden constant.

Detail invoice or update product desc (not only quantity)

There are some situations where we need to put more details on invoices.

On product details we can put a formula to get quantity to update it before invoicing, that's great but not enought.

For example i would like to update product details like that.

Before:

image

My wish:

image

Yes i can do it by myself just before sending invoices to customer but that's not the magic of full automatic sellyoursaas system ;)

Add a graph

Complete the graph with libreoffice draw, called doc/img/architecture.odg
To complete it and represent:

  • A user that want to subscribe

  • A user that is a customer

  • The web portal server

  • The master server (web + database)

  • 2 deployment servers (web + database + its data disk for customer files)

  • The remote backup server.

  • And all the streams (arrows) between each of this 6 actors/machines with a number for each and a legend that describe the number of the arrows.

myaccount.sellmysaas.com - "child died with signal 11"

Since a while I am trying to replicate the SellYorSaaS setup from the ground up on Ubuntu 20.04 hosted in the public cloud of OVH. I think I am now almost there, admin and myaccount pages are generally operational and I did successfully set up instances on the deployment server.

I will give feedback into the documentation as pull requests once I have a bit of time (apart from the fact that this is an excellent and very detailed example of great instructions) - there are some points, where I needed to slightly deviate from the written "truth".

One of the last points where I am struggling are some sub-pages on the myaccount page:

If I click on "my apps and options" or "add payment mode" nothing is shown apart from the error ERR_EMPTY_RESPONSE.

The apache error log shows:
[Tue Jul 19 18:53:48.485111 2022] [mpm_itk:error] [pid 634120] child died with signal 11

The last meaningful rows in the dolibar.log before the crash are:

2022-07-19 19:11:28 DEBUG   84.189.75.1     sql=SELECT DISTINCT r.module, r.perms, r.subperms FROM llx_usergroup_rights as gr, llx_usergroup_user as gu, llx_rights_def as r WHERE r.id = gr.fk_id AND gr.entity = 1 AND gu.entity IN (0,1) AND r.entity = 1 AND gr.fk_usergroup = gu.fk_usergroup AND gu.fk_user = 2 AND r.perms IS NOT NULL
2022-07-19 19:11:28 NOTICE  84.189.75.1     --- Access to GET /index.php - action=, massaction=
2022-07-19 19:11:28 DEBUG   84.189.75.1     sql=SELECT transkey, transvalue FROM llx_overwrite_trans where lang='de_DE' OR lang IS NULL AND entity IN (0, 1) ORDER BY lang DESC

Everything else under myaccount works as expected (show/modify account, show invoices etc.).

Furthermore, I am sure that I have seen the now non-working pages after the creation of the first instance. So some later data leads probably to a crash in whatever sub task is called to fetch some data.

I am a bit stuck here regarding further debugging and any hint would be much appreciated. It may well be a configuration error from my side rather than a real bug.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.