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.
    • BrutalBirdieB Online
      BrutalBirdieB Online
      BrutalBirdie
      Partner
      wrote last edited by
      #8

      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/ 🀷

      Like my work? Consider donating a drink. Cheers!

      robiR N 2 Replies Last reply
      1
      • 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/ 🀷

        robiR Offline
        robiR Offline
        robi
        wrote last edited by
        #9

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

        Conscious tech

        BrutalBirdieB 1 Reply Last reply
        0
        • 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