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. Horilla - Open Source HR Software

Horilla - Open Source HR Software

Scheduled Pinned Locked Moved App Wishlist
25 Posts 9 Posters 1.5k Views 12 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.
    • robiR robi

      @BrutalBirdie they appear to be in the .md files in the OP repo.

      BrutalBirdieB Online
      BrutalBirdieB Online
      BrutalBirdie
      Partner
      wrote last edited by
      #10

      @robi actually no.
      I just found something here: https://github.com/horilla-opensource/horilla/wiki this might be it.

      Like my work? Consider donating a drink. Cheers!

      1 Reply Last reply
      1
      • BrutalBirdieB Online
        BrutalBirdieB Online
        BrutalBirdie
        Partner
        wrote last edited by BrutalBirdie
        #11

        I did make some progress yesterday with Horilla.
        Had a "working" version with the latest state of:

        • refusal of the media/ folder in its own web root

        Refused in sense of, did the initial setup uploaded my company logo, which got placed into the media/ folder but returned 404 ๐Ÿ˜

        They provide a Dockerfile which I abridged with the Cloudron base image and python uv.

        First time working styles and assets were missing, saw in the web console 404 for them.
        Then I noticed an error on start where it complained about folder staticfiles/ missing.
        So created it only to notice nothing changed only the startup error is now gone.
        Then I took a look at their own entrypoint.sh and found:

        python3 manage.py collectstatic --noinput
        

        What is this? What does it do? Documentation > /dev/null ๐Ÿคท

        Did get some insight via:

        uv run manage.py collectstatic --help
        

        This collects all static files and places them in staticfiles/.
        So now I had styles and assets. Yay.

        So. It is documented that before running the server you need to run:

        python3 manage.py makemigrations
        python3 manage.py migrate
        

        Is this dynamic on every run or can this be static in the image /app/code/?
        It should be dynamic and static? ๐Ÿคจ
        makemigrations sound like something you need to do before upgrading the software?
        migrate could be run on every app startup, if nothing needs to be migrated it should do nothing.
        This is all speculation since it is not documented. ๐Ÿ™„

        Now outside the installation wiki for Ubuntu in the main README.md there is this section about:
        Enable Translation
        with

        python3 manage.py compilemessages
        

        So this is static? Right? Ehhhh looked like no.
        Will need to investigate.

        It seems this app could also be highly customized by the user with css/scss.
        They are implementing dynamic styling => https://github.com/horilla-opensource/horilla/issues/658#issuecomment-2795889647
        But as of now, I assume, this here is still valid https://github.com/horilla-opensource/horilla/issues/644#issuecomment-2760161068

        Meaning, as of now, styling is done directly via:

        sass static/src/scss/main.scss static/build/css/style.min.css
        

        Meaning, a static file suddenly is dynamic. This is a big no no in the Cloudron app context.
        Either files are readonly or readwrite and then rw in /app/data/ or /run /tmp and are volatile.
        ๐Ÿ™„

        And now to another topic.
        There is a settings.py which much more undocumented stuff ๐Ÿ™„ which need to be edited to enable LDAP. . . .
        See: https://github.com/horilla-opensource/horilla/issues/335#issuecomment-2712573285

        Sooo much to see, much to do.

        Like my work? Consider donating a drink. Cheers!

        1 Reply Last reply
        2
        • BrutalBirdieB BrutalBirdie

          If only the documentation of this software would include what really needs to be done ๐Ÿ™„
          I would love to contribute proper docs while finding all these small issues.
          But I can't find a repo to create PRs against https://www.horilla.com/docs/ ๐Ÿคท

          N Offline
          N Offline
          nikhilravi
          wrote last edited by
          #12

          @BrutalBirdie Hi ,
          The documentation site is going to be changed from https://horilla.com/docs to https://docs.horilla.com . There is a separate documentation repo for Horilla. You can find that at https://github.com/horilla-opensource/horilladocs.

          Thank you

          jdaviescoatesJ 1 Reply Last reply
          2
          • N nikhilravi

            @BrutalBirdie Hi ,
            The documentation site is going to be changed from https://horilla.com/docs to https://docs.horilla.com . There is a separate documentation repo for Horilla. You can find that at https://github.com/horilla-opensource/horilladocs.

            Thank you

            jdaviescoatesJ Offline
            jdaviescoatesJ Offline
            jdaviescoates
            wrote last edited by
            #13

            @nikhilravi thanks and welcome. It seems you're one of the primary contributors to Horilla? Thanks for chiming in ๐Ÿ™‚

            I use Cloudron with Gandi & Hetzner

            N 1 Reply Last reply
            0
            • BrutalBirdieB Online
              BrutalBirdieB Online
              BrutalBirdie
              Partner
              wrote last edited by
              #14

              Just wanted to ask the same. @nikhilravi are you https://github.com/nikhilhorilla ?

              Like my work? Consider donating a drink. Cheers!

              N 1 Reply Last reply
              1
              • BrutalBirdieB BrutalBirdie

                Just wanted to ask the same. @nikhilravi are you https://github.com/nikhilhorilla ?

                N Offline
                N Offline
                nikhilravi
                wrote last edited by
                #15

                @BrutalBirdie Yes, but that account is not so active in github presently. That's kind of my secondary account which I used for the initial commits in Horilla. But that is not currently active now.

                Thank you

                1 Reply Last reply
                2
                • jdaviescoatesJ jdaviescoates

                  @nikhilravi thanks and welcome. It seems you're one of the primary contributors to Horilla? Thanks for chiming in ๐Ÿ™‚

                  N Offline
                  N Offline
                  nikhilravi
                  wrote last edited by
                  #16

                  @jdaviescoates Yes ๐Ÿ˜‡ ๐Ÿ˜‡

                  1 Reply Last reply
                  2
                  • BrutalBirdieB Online
                    BrutalBirdieB Online
                    BrutalBirdie
                    Partner
                    wrote last edited by
                    #17

                    Ahhhh! Awesome to have you here!
                    Would you mind starring your timezone with me? I'd like to continue packaging Horilla I might have some more question, if this is okay with you ๐Ÿ˜ฌ

                    Like my work? Consider donating a drink. Cheers!

                    N 1 Reply Last reply
                    1
                    • BrutalBirdieB Online
                      BrutalBirdieB Online
                      BrutalBirdie
                      Partner
                      wrote last edited by
                      #18

                      Also, just created my first PR to fix some simple warning ๐Ÿ˜‰
                      Issue #744 => PR #745

                      Like my work? Consider donating a drink. Cheers!

                      1 Reply Last reply
                      1
                      • BrutalBirdieB BrutalBirdie

                        Ahhhh! Awesome to have you here!
                        Would you mind starring your timezone with me? I'd like to continue packaging Horilla I might have some more question, if this is okay with you ๐Ÿ˜ฌ

                        N Offline
                        N Offline
                        nikhilravi
                        wrote last edited by
                        #19

                        @BrutalBirdie
                        Hey! Thrilled to be here! ๐Ÿ˜„ I'm in GMT+5:30, IST(Indian Standard Time). Feel free to keep packaging Horilla and hit me up with any questionsโ€”happy to help! ๐Ÿš€

                        1 Reply Last reply
                        2
                        • BrutalBirdieB Online
                          BrutalBirdieB Online
                          BrutalBirdie
                          Partner
                          wrote last edited by BrutalBirdie
                          #20

                          Okay, here is the first one that buggs me.
                          I just did a Cloudron setup https://horilla.cloudron.dev/ init the demo db. (login if you want to admin:admin)
                          Company icons missing in media, sure makes sense. They do net get downloaded in the demo db init setup, I guess.
                          Now I uploaded 3x other company logos.
                          black, green and red.
                          All 3x files exist, but get a 404.

                          Why? ๐Ÿ˜„

                          image.png
                          https://horilla.cloudron.dev/media/base/icon/black.png is 404 ๐Ÿคท
                          but!:

                          ls -lah media/base/icon/
                          total 60K
                          drwxr-xr-x 2 root root 4.0K May 17 08:00 .
                          drwxr-xr-x 3 root root 4.0K May 17 07:56 ..
                          -rw-r--r-- 1 root root  11K May 17 07:56 black.png
                          -rw-r--r-- 1 root root  24K May 17 07:59 green.png
                          -rw-r--r-- 1 root root  13K May 17 08:00 red.png
                          

                          Like my work? Consider donating a drink. Cheers!

                          1 Reply Last reply
                          1
                          • BrutalBirdieB Online
                            BrutalBirdieB Online
                            BrutalBirdie
                            Partner
                            wrote last edited by BrutalBirdie
                            #21

                            For now I've identified the following folders as runtimeDirs meaning, they need read-write access. Explanation behind runtimeDirs in the context of Cloudron => https://docs.cloudron.io/packaging/manifest/#runtimedirs
                            Many are the case because __pycache__ is being written into them and also from migrations:

                              "runtimeDirs": [
                                "/app/code/horilla_documents",
                                "/app/code/payroll",
                                "/app/code/.venv/",
                                "/app/code/facedetection",
                                "/app/code/geofencing",
                                "/app/code/helpdesk",
                                "/app/code/pms",
                                "/app/code/recruitment",
                                "/app/code/accessibility",
                                "/app/code/asset",
                                "/app/code/horilla_api",
                                "/app/code/offboarding",
                                "/app/code/horilla_audit",
                                "/app/code/horilla_crumbs",
                                "/app/code/horilla_automations",
                                "/app/code/horilla_backup",
                                "/app/code/horilla",
                                "/app/code/attendance",
                                "/app/code/onboarding",
                                "/app/code/horilla_views",
                                "/app/code/biometric",
                                "/app/code/employee",
                                "/app/code/leave",
                                "/app/code/base",
                                "/app/code/notifications",
                                "/app/code/project"
                              ]
                            

                            This is "meh".
                            The core application should be read-only, I remember I tried to do:

                            uv run manage.py makemigrations
                            uv run manage.py migrate
                            uv run manage.py compilemessages
                            

                            inside the Dockerfile to have all that as read-only but then there were still errors ๐Ÿค”
                            Will have to look into that again.

                            Like my work? Consider donating a drink. Cheers!

                            N 1 Reply Last reply
                            1
                            • BrutalBirdieB BrutalBirdie

                              For now I've identified the following folders as runtimeDirs meaning, they need read-write access. Explanation behind runtimeDirs in the context of Cloudron => https://docs.cloudron.io/packaging/manifest/#runtimedirs
                              Many are the case because __pycache__ is being written into them and also from migrations:

                                "runtimeDirs": [
                                  "/app/code/horilla_documents",
                                  "/app/code/payroll",
                                  "/app/code/.venv/",
                                  "/app/code/facedetection",
                                  "/app/code/geofencing",
                                  "/app/code/helpdesk",
                                  "/app/code/pms",
                                  "/app/code/recruitment",
                                  "/app/code/accessibility",
                                  "/app/code/asset",
                                  "/app/code/horilla_api",
                                  "/app/code/offboarding",
                                  "/app/code/horilla_audit",
                                  "/app/code/horilla_crumbs",
                                  "/app/code/horilla_automations",
                                  "/app/code/horilla_backup",
                                  "/app/code/horilla",
                                  "/app/code/attendance",
                                  "/app/code/onboarding",
                                  "/app/code/horilla_views",
                                  "/app/code/biometric",
                                  "/app/code/employee",
                                  "/app/code/leave",
                                  "/app/code/base",
                                  "/app/code/notifications",
                                  "/app/code/project"
                                ]
                              

                              This is "meh".
                              The core application should be read-only, I remember I tried to do:

                              uv run manage.py makemigrations
                              uv run manage.py migrate
                              uv run manage.py compilemessages
                              

                              inside the Dockerfile to have all that as read-only but then there were still errors ๐Ÿค”
                              Will have to look into that again.

                              N Offline
                              N Offline
                              nikhilravi
                              wrote last edited by
                              #22

                              @BrutalBirdie The problem is likely due to the media folder being owned by root, while the application server (typically running as a non-root user inside Cloudron) doesn't have read access.
                              Can you confirm whether the Cloudron running user has the access for the same?

                              1 Reply Last reply
                              0
                              • BrutalBirdieB Online
                                BrutalBirdieB Online
                                BrutalBirdie
                                Partner
                                wrote last edited by
                                #23

                                Agree it should not be run as root. but if everything runs as root, should work, right?

                                ps uax
                                USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
                                root           1  0.0  0.0   2696  1408 pts/0    Ss+  07:32   0:00 sleep infinit
                                root         105  1.0  0.0      0     0 ?        Z    07:37   0:51 [python3] <de
                                root         270 10.4  0.0      0     0 ?        Z    07:45   7:26 [python3] <de
                                root        1101  0.0  0.0   5144  3968 pts/2    Ss+  07:58   0:00 /bin/bash
                                root        1736  0.0  0.0   4588  3840 pts/1    Ss   08:25   0:00 /bin/bash
                                root        1748  0.0  0.0   4324  3328 pts/1    S+   08:25   0:00 /bin/bash ./s
                                root        1797  0.0  0.1  63092 15104 pts/1    Sl+  08:26   0:00 uv run manage
                                root        1800  0.7  2.9 1165820 234612 pts/1  Sl+  08:26   0:13 /app/code/.ve
                                root        1811 13.6  3.4 1911068 272500 pts/1  Sl+  08:26   4:00 /app/code/.ve
                                root        1918  0.0  0.0   5016  4096 pts/3    Ss+  08:27   0:00 /bin/bash
                                root        2108  2.5  0.0   5016  3968 pts/4    Ss   08:56   0:00 /bin/bash
                                root        2120  0.0  0.0   8332  3968 pts/4    R+   08:56   0:00 ps uax
                                

                                Like my work? Consider donating a drink. Cheers!

                                N 1 Reply Last reply
                                0
                                • BrutalBirdieB BrutalBirdie

                                  Agree it should not be run as root. but if everything runs as root, should work, right?

                                  ps uax
                                  USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
                                  root           1  0.0  0.0   2696  1408 pts/0    Ss+  07:32   0:00 sleep infinit
                                  root         105  1.0  0.0      0     0 ?        Z    07:37   0:51 [python3] <de
                                  root         270 10.4  0.0      0     0 ?        Z    07:45   7:26 [python3] <de
                                  root        1101  0.0  0.0   5144  3968 pts/2    Ss+  07:58   0:00 /bin/bash
                                  root        1736  0.0  0.0   4588  3840 pts/1    Ss   08:25   0:00 /bin/bash
                                  root        1748  0.0  0.0   4324  3328 pts/1    S+   08:25   0:00 /bin/bash ./s
                                  root        1797  0.0  0.1  63092 15104 pts/1    Sl+  08:26   0:00 uv run manage
                                  root        1800  0.7  2.9 1165820 234612 pts/1  Sl+  08:26   0:13 /app/code/.ve
                                  root        1811 13.6  3.4 1911068 272500 pts/1  Sl+  08:26   4:00 /app/code/.ve
                                  root        1918  0.0  0.0   5016  4096 pts/3    Ss+  08:27   0:00 /bin/bash
                                  root        2108  2.5  0.0   5016  3968 pts/4    Ss   08:56   0:00 /bin/bash
                                  root        2120  0.0  0.0   8332  3968 pts/4    R+   08:56   0:00 ps uax
                                  
                                  N Offline
                                  N Offline
                                  nikhilravi
                                  wrote last edited by
                                  #24

                                  @BrutalBirdie Yes, it should๐Ÿค”

                                  1 Reply Last reply
                                  0
                                  • jfrereJ jfrere

                                    Hi guys, do you think this could be added to Cloudron app store? For an HR manager, this tool would be very helpful. Thank you.

                                    Horilla HRMS offers all the features you would expect from your favorite Open Source HR Software and much more. It's free & open-source!

                                    https://github.com/horilla-opensource/horilla/

                                    L Offline
                                    L Offline
                                    LoudLemur
                                    wrote last edited by
                                    #25

                                    @jfrere https://forum.cloudron.io/topic/12472/please-use-this-template-to-make-an-app-wishlist-request

                                    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