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. Mayan EDMS

Mayan EDMS

Scheduled Pinned Locked Moved App Wishlist
40 Posts 14 Posters 7.3k Views 15 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.
  • nebulonN Offline
    nebulonN Offline
    nebulon
    Staff
    wrote on last edited by girish
    #1

    Mayan EDMS is a Free Open Source Electronic Document Management System, coded in the Python language using the Django web application framework and released under the Apache 2.0 License. It provides an electronic vault or repository for electronic documents.

    https://mayan.readthedocs.io/en/latest/
    https://hub.docker.com/r/mayanedms/mayanedms/

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

      The upstream link is https://www.mayan-edms.com/

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

        Hi all,

        I have started to package this and it it working but the initial start script just not executing during install. If you run the /app/pkg/start.sh it will work fine.

        I have been working on and off with this for a while but could use some help in getting the last bit over the line because it is driving me nuts.

        Repo is here

        Any help appreciated.

        1 Reply Last reply
        2
        • ultravioletU Offline
          ultravioletU Offline
          ultraviolet
          App Dev
          wrote on last edited by
          #4

          I am seeing errors as supervisord tries to write logs to the read only folder /var/logs what is the best thing todo? Any suggestions?

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

            There are two settings to be done for supervisor to work well with regards to logging. The actual service file for an application should have those options set:

            stdout_logfile=/dev/stdout
            stdout_logfile_maxbytes=0
            stderr_logfile=/dev/stderr
            stderr_logfile_maxbytes=0
            

            As well as in the Dockerfile adding the following line will ensure supervisor itself writes to a writeable location:

            RUN sed -e 's,^logfile=.*$,logfile=/run/supervisord.log,' -i /etc/supervisor/supervisord.conf
            
            ultravioletU 1 Reply Last reply
            1
            • nebulonN nebulon

              There are two settings to be done for supervisor to work well with regards to logging. The actual service file for an application should have those options set:

              stdout_logfile=/dev/stdout
              stdout_logfile_maxbytes=0
              stderr_logfile=/dev/stderr
              stderr_logfile_maxbytes=0
              

              As well as in the Dockerfile adding the following line will ensure supervisor itself writes to a writeable location:

              RUN sed -e 's,^logfile=.*$,logfile=/run/supervisord.log,' -i /etc/supervisor/supervisord.conf
              
              ultravioletU Offline
              ultravioletU Offline
              ultraviolet
              App Dev
              wrote on last edited by
              #6

              Thanks @nebulon I think that was the last piece of the puzzle! 🎉

              1 Reply Last reply
              1
              • ultravioletU Offline
                ultravioletU Offline
                ultraviolet
                App Dev
                wrote on last edited by ultraviolet
                #7

                This is working and now needs some people to test installs etc. it is still rough around the edges, needs ldap and mail etc. but I will get this sorted over the coming days.

                I should mention the initial install takes around 10 mins as there is a lot of database migrations and django stuff to get though.

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

                  I've just tried it and it seems to work very well so far!

                  1 Reply Last reply
                  1
                  • scookeS Offline
                    scookeS Offline
                    scooke
                    wrote on last edited by
                    #9

                    I'll try it out. What is the link please?

                    A life lived in fear is a life half-lived

                    1 Reply Last reply
                    0
                    • ultravioletU Offline
                      ultravioletU Offline
                      ultraviolet
                      App Dev
                      wrote on last edited by
                      #10

                      https://github.com/euanmcgregor/mayan-cloudron

                      E 1 Reply Last reply
                      2
                      • ultravioletU ultraviolet

                        https://github.com/euanmcgregor/mayan-cloudron

                        E Offline
                        E Offline
                        ergabergblerg
                        wrote on last edited by
                        #11

                        @ultraviolet Thanks so much for setting this up. I tried building and running on my server but the heartbeat never completes. I'm assuming the problem has to do with this bit in my logs:

                        Oct 10 21:50:56 Traceback (most recent call last):
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/bin/mayan-edms.py", line 10, in <module>
                        Oct 10 21:50:56 execute_from_command_line(sys.argv)
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
                        Oct 10 21:50:56 utility.execute()
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/django/core/management/__init__.py", line 357, in execute
                        Oct 10 21:50:56 django.setup()
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
                        Oct 10 21:50:56 apps.populate(settings.INSTALLED_APPS)
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/django/apps/registry.py", line 91, in populate
                        Oct 10 21:50:56 app_config = AppConfig.create(entry)
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/django/apps/config.py", line 116, in create
                        Oct 10 21:50:56 mod = import_module(mod_path)
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/importlib/__init__.py", line 127, in import_module
                        Oct 10 21:50:56 return _bootstrap._gcd_import(name[level:], package, level)
                        Oct 10 21:50:56 File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
                        Oct 10 21:50:56 File "<frozen importlib._bootstrap>", line 983, in _find_and_load
                        Oct 10 21:50:56 File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
                        Oct 10 21:50:56 File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
                        Oct 10 21:50:56 File "<frozen importlib._bootstrap_external>", line 728, in exec_module
                        Oct 10 21:50:56 File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/mayan/apps/appearance/apps.py", line 3, in <module>
                        Oct 10 21:50:56 from mayan.apps.common.apps import MayanAppConfig
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/mayan/apps/common/apps.py", line 35, in <module>
                        Oct 10 21:50:56 from .tasks import task_delete_stale_uploads # NOQA - Force task registration
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/mayan/apps/common/tasks.py", line 7, in <module>
                        Oct 10 21:50:56 from mayan.celery import app
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/mayan/celery.py", line 5, in <module>
                        Oct 10 21:50:56 from .runtime import celery_class
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/mayan/runtime.py", line 5, in <module>
                        Oct 10 21:50:56 celery_class = import_string(setting_celery_class.value)
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/django/utils/module_loading.py", line 17, in import_string
                        Oct 10 21:50:56 module = import_module(module_path)
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/importlib/__init__.py", line 127, in import_module
                        Oct 10 21:50:56 return _bootstrap._gcd_import(name[level:], package, level)
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/celery/__init__.py", line 153, in <module>
                        Oct 10 21:50:56 from . import local # noqa
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/celery/local.py", line 17, in <module>
                        Oct 10 21:50:56 from .five import PY3, bytes_if_py2, items, string, string_t
                        Oct 10 21:50:56 File "/app/data/venv/mayan-edms/lib/python3.7/site-packages/celery/five.py", line 7, in <module>
                        Oct 10 21:50:56 import vine.five
                        Oct 10 21:50:56 ModuleNotFoundError: No module named 'vine.five'
                        
                        1 Reply Last reply
                        0
                        • girishG Offline
                          girishG Offline
                          girish
                          Staff
                          wrote on last edited by
                          #12

                          @ergabergblerg Try this repo https://git.cloudron.io/cloudron/mayan-edms-app/ . There is still some celery error but I can login. Have to look into it later this week.

                          1 Reply Last reply
                          1
                          • ultravioletU Offline
                            ultravioletU Offline
                            ultraviolet
                            App Dev
                            wrote on last edited by ultraviolet
                            #13

                            ah yes there was an error. I have fixed it in my dev box. It was an unpinned dependency, there are also issues with upgrading so it is still very much beta.

                            I will publish the change shortly.

                            @girish could you give me access to the cloudron hosted repo so I can make my commits direct?

                            The latest push in my own public repo here has the fix. For info this is the change that pins the dependency to allow compiling. I have mentioned it in the upstream project and it should be fixed soon if it has not been already.

                            1 Reply Last reply
                            1
                            • ultravioletU Offline
                              ultravioletU Offline
                              ultraviolet
                              App Dev
                              wrote on last edited by
                              #14

                              Ok I have been testing the upgrading which is tricky for me to figure out. Could use a fresh pair of eyes.

                              This is how this image is working:

                              1. Build image with deps
                              2. pull the image version from the upstream repo based on the version number in the dockerfile
                              3. run down and install everything
                              4. Once complete the start.sh script in /app/pkg kicks off.
                              5. After defining all the environment variables it will run this line of code:
                              if [ ! -e "/app/data/init-completed" ]; then
                                /app/data/venv/mayan-edms/bin/mayan-edms.py initialsetup
                                echo "Setting up for initial install, this may take some time"
                                touch /app/data/init-completed
                              fi
                              

                              If there is a file called init-completed it will skip it.

                              Now this is where the issue with upgrades come in I believe there is a command /app/data/venv/mayan-edms/bin/mayan-edms.py performupgrade.

                              I have tried testing upgrades for a few hours but when it starts up all the services I simply get access denied issues.

                              To replicate:

                              • Clone my repo https://github.com/euanmcgregor/mayan-cloudron
                              • Do an install to your cloudron - check that it works and login to check the version it should
                              • Alter the dockerfile and change the variable from ENV MAYAN_VERSION=3.4.17 to ENV MAYAN_VERSION=3.5.1 which is the latest version
                              • Perform a cloudron update

                              Hope this make sense any help is appreciated.

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

                                @ultraviolet You should have permissions now, thanks

                                ultravioletU 1 Reply Last reply
                                1
                                • girishG girish

                                  @ultraviolet You should have permissions now, thanks

                                  ultravioletU Offline
                                  ultravioletU Offline
                                  ultraviolet
                                  App Dev
                                  wrote on last edited by
                                  #16

                                  @girish thanks

                                  I am going back to the drawing board for this one. So watch this space all....

                                  1 Reply Last reply
                                  4
                                  • ultravioletU Offline
                                    ultravioletU Offline
                                    ultraviolet
                                    App Dev
                                    wrote on last edited by ultraviolet
                                    #17

                                    I have come up with another way of installing to allow me to update the package. In the start.sh it will do it's initial install but that function of the app installs further items into /app/code/ which during an non debug session is RO. Is there any other way to allow this to install then seal the system to RO?

                                    An example during initialsetup:

                                      Applying tags.0006_documenttag... OK
                                      Applying tags.0007_auto_20170118_1758... OK
                                      Applying tags.0008_auto_20180917_0646... OK
                                      Applying user_management.0001_initial... OK
                                      Applying web_links.0001_initial... OK
                                      Applying web_links.0002_auto_20191210_0436... OK
                                      Applying web_links.0003_auto_20191211_0233... OK
                                    Installing package: Bootstrap (=3.4.1)... Downloading... Verifying... Extracting... Patching files... Traceback (most recent call last):
                                      File "/usr/lib/python3.7/pathlib.py", line 1258, in mkdir
                                        self._accessor.mkdir(self, mode)
                                    FileNotFoundError: [Errno 2] No such file or directory: '/app/code/venv/lib/python3.7/site-packages/mayan/apps/appearance/static/appearance/node_modules/bootstrap'
                                    
                                    <snip>
                                    
                                    
                                        self._accessor.mkdir(self, mode)
                                    OSError: [Errno 30] Read-only file system: '/app/code/venv/lib/python3.7/site-packages/mayan/apps/appearance/static/appearance/node_modules'
                                    

                                    Or if there is any other suggestions that I could try to get this installed?

                                    EDIT: I should add I am unable to do this during build as the app needs the database etc. to migrate and change the database

                                    robiR 1 Reply Last reply
                                    1
                                    • ultravioletU ultraviolet

                                      I have come up with another way of installing to allow me to update the package. In the start.sh it will do it's initial install but that function of the app installs further items into /app/code/ which during an non debug session is RO. Is there any other way to allow this to install then seal the system to RO?

                                      An example during initialsetup:

                                        Applying tags.0006_documenttag... OK
                                        Applying tags.0007_auto_20170118_1758... OK
                                        Applying tags.0008_auto_20180917_0646... OK
                                        Applying user_management.0001_initial... OK
                                        Applying web_links.0001_initial... OK
                                        Applying web_links.0002_auto_20191210_0436... OK
                                        Applying web_links.0003_auto_20191211_0233... OK
                                      Installing package: Bootstrap (=3.4.1)... Downloading... Verifying... Extracting... Patching files... Traceback (most recent call last):
                                        File "/usr/lib/python3.7/pathlib.py", line 1258, in mkdir
                                          self._accessor.mkdir(self, mode)
                                      FileNotFoundError: [Errno 2] No such file or directory: '/app/code/venv/lib/python3.7/site-packages/mayan/apps/appearance/static/appearance/node_modules/bootstrap'
                                      
                                      <snip>
                                      
                                      
                                          self._accessor.mkdir(self, mode)
                                      OSError: [Errno 30] Read-only file system: '/app/code/venv/lib/python3.7/site-packages/mayan/apps/appearance/static/appearance/node_modules'
                                      

                                      Or if there is any other suggestions that I could try to get this installed?

                                      EDIT: I should add I am unable to do this during build as the app needs the database etc. to migrate and change the database

                                      robiR Offline
                                      robiR Offline
                                      robi
                                      wrote on last edited by
                                      #18

                                      @ultraviolet you can make a note of all the errors and softlink them to someplace else for the build.

                                      Conscious tech

                                      ultravioletU 1 Reply Last reply
                                      0
                                      • robiR robi

                                        @ultraviolet you can make a note of all the errors and softlink them to someplace else for the build.

                                        ultravioletU Offline
                                        ultravioletU Offline
                                        ultraviolet
                                        App Dev
                                        wrote on last edited by
                                        #19

                                        @robi good idea, never thought of that. Thanks

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

                                          ok think we are good to go. I have pushed the code to my github the repo I will merge with the Cloudron hosted git soon.

                                          Just need some people to test install etc. and then will look at getting some tests into the package. It is still on version 3.4.17 as the latest version 3.5.1 has some issues in the celery queues which I will look at once that branch is a bit more stable.

                                          1 Reply Last reply
                                          2
                                          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