Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. dolibarr - ERP & CRM for Business

dolibarr - ERP & CRM for Business

Scheduled Pinned Locked Moved Solved App Wishlist
44 Posts 10 Posters 7.7k Views 11 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    CarbonBee
    wrote on last edited by
    #2

    As a company, we use a self-hosted dolibarr on an external server. It would be really usefull to have it directly in Cloudron!

    1 Reply Last reply
    0
    • E Offline
      E Offline
      erics
      App Dev
      wrote on last edited by
      #3

      Hello @nebulon i'm one of dolibarr developper and i would like to build cloudron package. I'm sponsorred by osinum for that.

      So i've created an account on your gitlab, could you please allow me to make a "dolibarr" project on it ?

      https://git.cloudron.io/erics

      Thanks,
      Éric

      BrutalBirdieB 1 Reply Last reply
      6
      • nebulonN Offline
        nebulonN Offline
        nebulon
        Staff
        wrote on last edited by
        #4

        Welcome @erics great to have you here!

        I have given your account on gitlab permissions now.

        E 1 Reply Last reply
        3
        • E erics

          Hello @nebulon i'm one of dolibarr developper and i would like to build cloudron package. I'm sponsorred by osinum for that.

          So i've created an account on your gitlab, could you please allow me to make a "dolibarr" project on it ?

          https://git.cloudron.io/erics

          Thanks,
          Éric

          BrutalBirdieB Offline
          BrutalBirdieB Offline
          BrutalBirdie
          Partner
          wrote on last edited by
          #5

          @erics 👏 ♥

          Looking forward to test dolibarr on cloudron.

          Like my work? Consider donating a drink. Cheers!

          1 Reply Last reply
          1
          • nebulonN nebulon

            Welcome @erics great to have you here!

            I have given your account on gitlab permissions now.

            E Offline
            E Offline
            erics
            App Dev
            wrote on last edited by
            #6

            @nebulon nice, thanks a lot.

            dolibarr is working, i'm now on LDAP auto-configuration 🙂

            E 1 Reply Last reply
            4
            • E erics

              @nebulon nice, thanks a lot.

              dolibarr is working, i'm now on LDAP auto-configuration 🙂

              E Offline
              E Offline
              erics
              App Dev
              wrote on last edited by erics
              #7

              That's done, but now i don't know what i have to do 🙂

              https://git.cloudron.io/erics/dolibarr-app

              and

              https://hub.docker.com/repository/docker/osinum/dolibarr-app/tags?page=1

              Dolibarr version 12.0.3 with:

              • MySQL database create
              • Web install Wizard in background
              • admin / admin123 default account
              • LDAP configuration
              • LDAP users first sync

              Please have a look to logs when you install this app : first launch could take a lot of time due to database initialization ...

              1 Reply Last reply
              3
              • girishG Offline
                girishG Offline
                girish
                Staff
                wrote on last edited by
                #8

                Oh wow that was quick! Thanks @erics. Do you have the tests already as well? It's a requirement we have to get things published in the app store. It helps us keep things updated.

                I wrote some instructions at https://forum.cloudron.io/topic/2850/writing-automated-tests-for-packages on how to go about this. They are fairly easy to write if you know a bit of node.

                E 1 Reply Last reply
                1
                • girishG girish

                  Oh wow that was quick! Thanks @erics. Do you have the tests already as well? It's a requirement we have to get things published in the app store. It helps us keep things updated.

                  I wrote some instructions at https://forum.cloudron.io/topic/2850/writing-automated-tests-for-packages on how to go about this. They are fairly easy to write if you know a bit of node.

                  E Offline
                  E Offline
                  erics
                  App Dev
                  wrote on last edited by
                  #9

                  @girish ooooops no tests for the moment, test directory include moodle stuff 😕

                  i will have a look maybe tomorrow

                  1 Reply Last reply
                  1
                  • girishG Offline
                    girishG Offline
                    girish
                    Staff
                    wrote on last edited by
                    #10

                    @erics I forked the project to https://git.cloudron.io/cloudron/dolibarr-app and added you to the project. Feel free to push there directly.

                    I am working on the moodle tests myself as we speak, just pushed the first iteration of tests of moodle.

                    E 1 Reply Last reply
                    1
                    • girishG girish

                      @erics I forked the project to https://git.cloudron.io/cloudron/dolibarr-app and added you to the project. Feel free to push there directly.

                      I am working on the moodle tests myself as we speak, just pushed the first iteration of tests of moodle.

                      E Offline
                      E Offline
                      erics
                      App Dev
                      wrote on last edited by
                      #11

                      @girish is there a special envvar during UPGRADE or INSTALL-BACKUP ?

                      because i launch database setup in start.sh ... and this is not needed if we restore backup.

                      thanks

                      1 Reply Last reply
                      0
                      • nebulonN Offline
                        nebulonN Offline
                        nebulon
                        Staff
                        wrote on last edited by
                        #12

                        There is no env var injected in such cases. You would have to somehow figure out if the db setup was already done or not. Often this is done via a state file like https://git.cloudron.io/cloudron/wordpress-app/-/blob/master/start.sh#L39

                        E 1 Reply Last reply
                        0
                        • nebulonN nebulon

                          There is no env var injected in such cases. You would have to somehow figure out if the db setup was already done or not. Often this is done via a state file like https://git.cloudron.io/cloudron/wordpress-app/-/blob/master/start.sh#L39

                          E Offline
                          E Offline
                          erics
                          App Dev
                          wrote on last edited by
                          #13

                          @nebulon thanks, i will do a test with that (but i already have a file-flag), ... is data backup restored "before" start.sh is launched ?

                          i will make a test 🙂

                          i have an other question, how could a do a loop in tests.js like that pseudo code:

                          Note: i have a message on index.php "database install in progress please come back later"

                          so here is what i try to do in test.js

                          while(web index contains "database setup in progress")
                          sleep(300)
                          loop

                          girishG 2 Replies Last reply
                          0
                          • E erics

                            @nebulon thanks, i will do a test with that (but i already have a file-flag), ... is data backup restored "before" start.sh is launched ?

                            i will make a test 🙂

                            i have an other question, how could a do a loop in tests.js like that pseudo code:

                            Note: i have a message on index.php "database install in progress please come back later"

                            so here is what i try to do in test.js

                            while(web index contains "database setup in progress")
                            sleep(300)
                            loop

                            girishG Offline
                            girishG Offline
                            girish
                            Staff
                            wrote on last edited by
                            #14

                            @erics said in dolibarr - ERP & CRM for Business:

                            @nebulon thanks, i will do a test with that (but i already have a file-flag), ... is data backup restored "before" start.sh is launched ?

                            Yes. When a restore is done, start.sh is called after the database is restore and all the files in /app/data are already in place. This is why you don't really need to know if it's upgrade/install/backup. In the case of your code, that install.lock at https://git.cloudron.io/cloudron/dolibarr-app/-/blob/master/start.sh#L14 will already be present. And thus, the whole install block will get skipped when an app is restored.

                            1 Reply Last reply
                            0
                            • E erics

                              @nebulon thanks, i will do a test with that (but i already have a file-flag), ... is data backup restored "before" start.sh is launched ?

                              i will make a test 🙂

                              i have an other question, how could a do a loop in tests.js like that pseudo code:

                              Note: i have a message on index.php "database install in progress please come back later"

                              so here is what i try to do in test.js

                              while(web index contains "database setup in progress")
                              sleep(300)
                              loop

                              girishG Offline
                              girishG Offline
                              girish
                              Staff
                              wrote on last edited by girish
                              #15

                              @erics said in dolibarr - ERP & CRM for Business:

                              Note: i have a message on index.php "database install in progress please come back later"
                              so here is what i try to do in test.js
                              while(web index contains "database setup in progress")
                              sleep(300)
                              loop

                              I think for the tests at least, it's fine to just sleep(20-30 seconds or whatever is for sure to work). Just do something like:

                              function install(done) {
                                  execSync('cloudron install ...');
                                  console.log('waiting for 30 seconds for database setup to complete');
                                  setTimeout(done, 30 * 1000);
                              }
                              

                              Regardless of the tests, if you have a "healthCheckPath" which is more reliable i.e it returns 2xx or 3xx http status only after db setup is complete and app is ready to use then you can put that in https://git.cloudron.io/cloudron/dolibarr-app/-/blob/master/CloudronManifest.json#L8 . If you have such a route in the app, then you don't need the sleep above. This also has the advantage that the user will see 'Running' in cloudron dashboard only when it's ready to use (otherwise, right now, he will see db is getting setup message).

                              E 2 Replies Last reply
                              0
                              • girishG girish

                                @erics said in dolibarr - ERP & CRM for Business:

                                Note: i have a message on index.php "database install in progress please come back later"
                                so here is what i try to do in test.js
                                while(web index contains "database setup in progress")
                                sleep(300)
                                loop

                                I think for the tests at least, it's fine to just sleep(20-30 seconds or whatever is for sure to work). Just do something like:

                                function install(done) {
                                    execSync('cloudron install ...');
                                    console.log('waiting for 30 seconds for database setup to complete');
                                    setTimeout(done, 30 * 1000);
                                }
                                

                                Regardless of the tests, if you have a "healthCheckPath" which is more reliable i.e it returns 2xx or 3xx http status only after db setup is complete and app is ready to use then you can put that in https://git.cloudron.io/cloudron/dolibarr-app/-/blob/master/CloudronManifest.json#L8 . If you have such a route in the app, then you don't need the sleep above. This also has the advantage that the user will see 'Running' in cloudron dashboard only when it's ready to use (otherwise, right now, he will see db is getting setup message).

                                E Offline
                                E Offline
                                erics
                                App Dev
                                wrote on last edited by
                                #16

                                @girish so nice 🙂

                                for the moment i have an other problem with "App restore error: Installation failed: Cannot download from noop backend"

                                Oct 07 23:39:56 box:shell clearVolume spawn: /usr/bin/sudo -S /home/yellowtent/box/src/scripts/clearvolume.sh clear /home/yellowtent/appsdata/773326e5-e8f3-490c-8147-76c35839873f/data
                                Oct 07 23:39:56 box:backups download: Downloading 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3 of format tgz to {"localRoot":"/home/yellowtent/appsdata/773326e5-e8f3-490c-8147-76c35839873f","layout":[]}
                                Oct 07 23:39:56 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
                                Oct 07 23:39:23 Fresh installation, performing Dolibarr first time setup
                                Oct 07 23:39:23 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.8. Set the 'ServerName' directive globally to suppress this message
                                Oct 07 23:39:23 - STEP N°1 ...
                                Oct 07 23:39:24 [done]
                                Oct 07 23:39:24 - STEP N°2 ...
                                Oct 07 23:39:24 [done]
                                Oct 07 23:39:24 - STEP N°3 ...
                                Oct 07 23:40:16 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
                                Oct 07 23:40:36 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
                                Oct 07 23:40:56 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
                                Oct 07 23:41:16 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
                                Oct 07 23:41:16 box:backups downloadApp: time: 80.01
                                Oct 07 23:41:16 box:apptask test.xxxxxxxxxxx.fr error installing app: BoxError: Cannot download from noop backend
                                Oct 07 23:41:16 box:apptask test.xxxxxxxxxxx.fr updating app with values: {"installationState":"error","error":{"message":"Cannot download from noop backend","reason":"Not implemented","taskId":"93","installationState":"pending_restore"}}
                                Oct 07 23:41:16 box:taskworker Task took 103.994 seconds
                                Oct 07 23:41:16 box:tasks setCompleted - 93: {"result":null,"error":{"stack":"BoxError: Cannot download from noop backend\n at Object.download (/home/yellowtent/box/src/storage/noop.js:59:14)\n at /home/yellowtent/box/src/backups.js:774:40\n at Timeout.retryAttempt [as _onTimeout] (/home/yellowtent/box/node_modules/async/dist/async.js:4611:9)\n at ontimeout (timers.js:436:11)\n at tryOnTimeout (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.processTimers (timers.js:223:10)","name":"BoxError","reason":"Not implemented","details":{},"message":"Cannot download from noop backend"}}
                                Oct 07 23:41:16 box:tasks 93: {"percent":100,"result":null,"error":{"stack":"BoxError: Cannot download from noop backend\n at Object.download (/home/yellowtent/box/src/storage/noop.js:59:14)\n at /home/yellowtent/box/src/backups.js:774:40\n at Timeout.retryAttempt [as _onTimeout] (/home/yellowtent/box/node_modules/async/dist/async.js:4611:9)\n at ontimeout (timers.js:436:11)\n at tryOnTimeout (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.processTimers (timers.js:223:10)","name":"BoxError","reason":"Not implemented","details":{},"message":"Cannot download from noop backend"}}
                                
                                girishG 1 Reply Last reply
                                0
                                • girishG girish

                                  @erics said in dolibarr - ERP & CRM for Business:

                                  Note: i have a message on index.php "database install in progress please come back later"
                                  so here is what i try to do in test.js
                                  while(web index contains "database setup in progress")
                                  sleep(300)
                                  loop

                                  I think for the tests at least, it's fine to just sleep(20-30 seconds or whatever is for sure to work). Just do something like:

                                  function install(done) {
                                      execSync('cloudron install ...');
                                      console.log('waiting for 30 seconds for database setup to complete');
                                      setTimeout(done, 30 * 1000);
                                  }
                                  

                                  Regardless of the tests, if you have a "healthCheckPath" which is more reliable i.e it returns 2xx or 3xx http status only after db setup is complete and app is ready to use then you can put that in https://git.cloudron.io/cloudron/dolibarr-app/-/blob/master/CloudronManifest.json#L8 . If you have such a route in the app, then you don't need the sleep above. This also has the advantage that the user will see 'Running' in cloudron dashboard only when it's ready to use (otherwise, right now, he will see db is getting setup message).

                                  E Offline
                                  E Offline
                                  erics
                                  App Dev
                                  wrote on last edited by
                                  #17

                                  @girish healthCheckPath is PERFECT !

                                  1 Reply Last reply
                                  0
                                  • E erics

                                    @girish so nice 🙂

                                    for the moment i have an other problem with "App restore error: Installation failed: Cannot download from noop backend"

                                    Oct 07 23:39:56 box:shell clearVolume spawn: /usr/bin/sudo -S /home/yellowtent/box/src/scripts/clearvolume.sh clear /home/yellowtent/appsdata/773326e5-e8f3-490c-8147-76c35839873f/data
                                    Oct 07 23:39:56 box:backups download: Downloading 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3 of format tgz to {"localRoot":"/home/yellowtent/appsdata/773326e5-e8f3-490c-8147-76c35839873f","layout":[]}
                                    Oct 07 23:39:56 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
                                    Oct 07 23:39:23 Fresh installation, performing Dolibarr first time setup
                                    Oct 07 23:39:23 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.8. Set the 'ServerName' directive globally to suppress this message
                                    Oct 07 23:39:23 - STEP N°1 ...
                                    Oct 07 23:39:24 [done]
                                    Oct 07 23:39:24 - STEP N°2 ...
                                    Oct 07 23:39:24 [done]
                                    Oct 07 23:39:24 - STEP N°3 ...
                                    Oct 07 23:40:16 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
                                    Oct 07 23:40:36 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
                                    Oct 07 23:40:56 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
                                    Oct 07 23:41:16 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
                                    Oct 07 23:41:16 box:backups downloadApp: time: 80.01
                                    Oct 07 23:41:16 box:apptask test.xxxxxxxxxxx.fr error installing app: BoxError: Cannot download from noop backend
                                    Oct 07 23:41:16 box:apptask test.xxxxxxxxxxx.fr updating app with values: {"installationState":"error","error":{"message":"Cannot download from noop backend","reason":"Not implemented","taskId":"93","installationState":"pending_restore"}}
                                    Oct 07 23:41:16 box:taskworker Task took 103.994 seconds
                                    Oct 07 23:41:16 box:tasks setCompleted - 93: {"result":null,"error":{"stack":"BoxError: Cannot download from noop backend\n at Object.download (/home/yellowtent/box/src/storage/noop.js:59:14)\n at /home/yellowtent/box/src/backups.js:774:40\n at Timeout.retryAttempt [as _onTimeout] (/home/yellowtent/box/node_modules/async/dist/async.js:4611:9)\n at ontimeout (timers.js:436:11)\n at tryOnTimeout (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.processTimers (timers.js:223:10)","name":"BoxError","reason":"Not implemented","details":{},"message":"Cannot download from noop backend"}}
                                    Oct 07 23:41:16 box:tasks 93: {"percent":100,"result":null,"error":{"stack":"BoxError: Cannot download from noop backend\n at Object.download (/home/yellowtent/box/src/storage/noop.js:59:14)\n at /home/yellowtent/box/src/backups.js:774:40\n at Timeout.retryAttempt [as _onTimeout] (/home/yellowtent/box/node_modules/async/dist/async.js:4611:9)\n at ontimeout (timers.js:436:11)\n at tryOnTimeout (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.processTimers (timers.js:223:10)","name":"BoxError","reason":"Not implemented","details":{},"message":"Cannot download from noop backend"}}
                                    
                                    girishG Offline
                                    girishG Offline
                                    girish
                                    Staff
                                    wrote on last edited by
                                    #18

                                    @erics said in dolibarr - ERP & CRM for Business:

                                    for the moment i have an other problem with "App restore error: Installation failed: Cannot download from noop backend"

                                    Looks like the Cloudron server which you are installing/testing this on has backups disabled! Go to Backups -> change to file system or something. Without backups, one cannot restore.

                                    E 1 Reply Last reply
                                    0
                                    • girishG girish

                                      @erics said in dolibarr - ERP & CRM for Business:

                                      for the moment i have an other problem with "App restore error: Installation failed: Cannot download from noop backend"

                                      Looks like the Cloudron server which you are installing/testing this on has backups disabled! Go to Backups -> change to file system or something. Without backups, one cannot restore.

                                      E Offline
                                      E Offline
                                      erics
                                      App Dev
                                      wrote on last edited by erics
                                      #19

                                      @girish yes (i'm) so stupid i just found it now 🙂

                                      1 Reply Last reply
                                      0
                                      • E Offline
                                        E Offline
                                        erics
                                        App Dev
                                        wrote on last edited by
                                        #20

                                        New question : does ".lock" files could be excluded from backups ?

                                        when dolibarr install is complete a install.lock file is created, but when cloudron backup is restaured this file is missing ...

                                        E 1 Reply Last reply
                                        0
                                        • E erics

                                          New question : does ".lock" files could be excluded from backups ?

                                          when dolibarr install is complete a install.lock file is created, but when cloudron backup is restaured this file is missing ...

                                          E Offline
                                          E Offline
                                          erics
                                          App Dev
                                          wrote on last edited by
                                          #21

                                          ok, i switched from install.lock to .dbsetup file like wordpress and hoooraaa it works 🙂

                                          new problem during autotest: database error on test2 + restoring data ... next step tomorrow !

                                          E 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search