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. Invoice Ninja
  3. Automated env configuration destroys InvoiceNinja custom mail configuration on every restart

Automated env configuration destroys InvoiceNinja custom mail configuration on every restart

Scheduled Pinned Locked Moved Invoice Ninja
35 Posts 9 Posters 2.5k Views 9 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

    @foliovision is there a setting for nextcloud to not save trash data? Or only keep it for a short time?

    jdaviescoatesJ Offline
    jdaviescoatesJ Offline
    jdaviescoates
    wrote on last edited by
    #21

    @robi yes as per the first link in @foliovision previous post

    I use Cloudron with Gandi & Hetzner

    1 Reply Last reply
    1
    • C Offline
      C Offline
      crazybrad
      wrote on last edited by
      #22

      I am fairly new to the Cloudron ecosystem, so my thoughts on email config may be impractical or not possible. In our experience (using Postmark), segmenting email streams is a desirable approach to improve deliverability. Different applications have different email rates, frequency, and loads and combining them into one outbound stream may be counterproductive.

      Email platforms are intentionally vague about limits, best practices, what triggers spam classification, etc. But separating streams, at least in the Postmark ecosystem is their recommendation. My guess is other platforms would prefer that as well.

      My suggestion (assuming this was possible) would be to support a global email config (default for all applications), unless an application-specific set of env variables existed. For those people who don't want/need outbound email streams by application, then the single, global email config would handle this. For those needing more, there would be one place in Cloudron to set all the email options, making it easier for us (and the support team) to debug.

      1 Reply Last reply
      1
      • J Offline
        J Offline
        jagan
        wrote on last edited by
        #23

        The 'Bug' is an important feature. The other perspective is that of users like myself, who appreciate the magic of changing some of the values, say the 'sender email address', and the values in the env file are all automatically updated to reflect the new changed values, and everything just works.

        But I understand your frustration if that is something you really don't want, and wish your customised SMTP values were left alone and not overwritten. To be fair, the common-denominator approach that suits most users is what is being followed. There will always be a need for even more customisation as the user base expands to greater degrees of heterogeneity.

        1 Reply Last reply
        1
        • foliovisionF foliovision

          First one has to delete the files, then one has to make NextCloud delete the files (NextCloud only hides files), then one has to clean the database.

          Here's our own notes:

          We wanted to check what's taking so much space on the server and found the trashed items in NextCloud never seem to disappear. There does not seem to be any setting of NextCloud to do that. So you found a workaround:

          First I removed content of /home/yellowtent/appsdata/230be9ee-72d6-4c54-8218-b08f8d217666/data/admin/files_trashbin on server
          Then I run the command on NextCloud console on Cloudron to re-check files for the "admin" user:

          sudo -u www-data php occ files:scan admin
          
          necrevistonnezrN Offline
          necrevistonnezrN Offline
          necrevistonnezr
          wrote on last edited by necrevistonnezr
          #24

          @foliovision This is not a general problem but must be specific to your setup. We have more than 100 GB on Nextcloud with various users and our admin folder is less than 16 MB (BTW for others: the uuid is unique, don‘t copy and paste the commands).

          @foliovision said in Automated env configuration destroys InvoiceNinja custom mail configuration on every restart:

          First one has to delete the files, then one has to make NextCloud delete the files (NextCloud only hides files), then one has to clean the database.

          Here's our own notes:

          We wanted to check what's taking so much space on the server and found the trashed items in NextCloud never seem to disappear. There does not seem to be any setting of NextCloud to do that. So you found a workaround:

          First I removed content of /home/yellowtent/appsdata/230be9ee-72d6-4c54-8218-b08f8d217666/data/admin/files_trashbin on server
          Then I run the command on NextCloud console on Cloudron to re-check files for the "admin" user:

          sudo -u www-data php occ files:scan admin
          
          foliovisionF 2 Replies Last reply
          0
          • necrevistonnezrN necrevistonnezr

            @foliovision This is not a general problem but must be specific to your setup. We have more than 100 GB on Nextcloud with various users and our admin folder is less than 16 MB (BTW for others: the uuid is unique, don‘t copy and paste the commands).

            @foliovision said in Automated env configuration destroys InvoiceNinja custom mail configuration on every restart:

            First one has to delete the files, then one has to make NextCloud delete the files (NextCloud only hides files), then one has to clean the database.

            Here's our own notes:

            We wanted to check what's taking so much space on the server and found the trashed items in NextCloud never seem to disappear. There does not seem to be any setting of NextCloud to do that. So you found a workaround:

            First I removed content of /home/yellowtent/appsdata/230be9ee-72d6-4c54-8218-b08f8d217666/data/admin/files_trashbin on server
            Then I run the command on NextCloud console on Cloudron to re-check files for the "admin" user:

            sudo -u www-data php occ files:scan admin
            
            foliovisionF Offline
            foliovisionF Offline
            foliovision
            wrote on last edited by
            #25

            @necrevistonnezr said in Automated env configuration destroys InvoiceNinja custom mail configuration on every restart:

            @foliovision This is not a general problem but must be specific to your setup. We have more than 100 GB on Nextcloud with various users and our admin folder is less than 16 MB (BTW for others: the uuid is unique, don‘t copy and paste the commands).

            Okay, I'm annoyed now with myself for agreeing to answer an off-topic question in the conversation about email settings, which is critical. Our NextCloud setup is a test setup, somehow NextCloud managed to tie me into an admin user ID to be able to sync with WebDAV for iPhones to share address books. With individual user it wouldn't work and barely works with admin user. I've wasted days of my life on WebDAV sync for Apple Contacts but that's not the issue here, nor is our NextCloud. The point I was making about NextCloud is that it's a really complex application, whose vagaries are not the Cloudron team's fault. @girish and @nebulon do what they can to make NextCloud viable software (it's not, without serious server admin hours and a fair amount of study).

            InvoiceNinja does work out of the box, and that it didn't work for us is mostly the Cloudron admin's team fault with this absolutely ludicrous zero the email setting on every restart.

            Every day I think about how absolutely misguided this setup is, the more annoyed I become.

            @nebulon, if you are going to zero your users' email settings on every restart, you certainly owe it to them to serve notice every time you do it. But mostly you shouldn't do it.

            In fact, this situation is so easy to fix. If email settings have been changed in app, Cloudron has no business at all modifying those settings again. It's so brain-stunned an approach to providing open-source applications, I'm surprised no one has taken Cloudron to task for it before.

            I'm not a server admin. I'm an expert on user interface and workflow, who is daily in contact with code and direct development. If Cloudron hopes to make any progress, you will have to improve your workflows and safety rails for people like me to be able to use your systems.

            Another weak spot is the backups which always fail even when carefully configured. I had to get help within our office to solve the backups and the programmer in charge had to spend a fair amount of time to make them work with Linode object storage instead of fail and fail and fail again. At least we received notifications about the failed backups. We never got any notifications about how you were screwing with our InvoiceNinja settings and the how and why of it.

            Go ahead @nebulon stick your head in the sand and blame user error again. This is a systemic failure, however clever it seems to you to zero people's email settings and/or force us to keep all apps on the same second-rate undeliverable SMTP, or upgrade all of our apps to external high end SMTP which requires a considerable management for subaccounts.

            You're not running Microsoft or Apple where you can get away with ruining people's lives (deliberately breaking WebDAV every second OS release which worked fine and according to spec on 10.6.8) and continue to expand your business. This email settings fiasco should come to an active resolution and not just get swept under the carpet again, with "it worked for some people, it's how we've always done it".

            It doesn't work and it's extremely user-hostile to erase people's custom settings. One more time, it's extremely user-hostile to erase people's custom settings. Don't do it.

            1 Reply Last reply
            0
            • necrevistonnezrN necrevistonnezr

              @foliovision This is not a general problem but must be specific to your setup. We have more than 100 GB on Nextcloud with various users and our admin folder is less than 16 MB (BTW for others: the uuid is unique, don‘t copy and paste the commands).

              @foliovision said in Automated env configuration destroys InvoiceNinja custom mail configuration on every restart:

              First one has to delete the files, then one has to make NextCloud delete the files (NextCloud only hides files), then one has to clean the database.

              Here's our own notes:

              We wanted to check what's taking so much space on the server and found the trashed items in NextCloud never seem to disappear. There does not seem to be any setting of NextCloud to do that. So you found a workaround:

              First I removed content of /home/yellowtent/appsdata/230be9ee-72d6-4c54-8218-b08f8d217666/data/admin/files_trashbin on server
              Then I run the command on NextCloud console on Cloudron to re-check files for the "admin" user:

              sudo -u www-data php occ files:scan admin
              
              foliovisionF Offline
              foliovisionF Offline
              foliovision
              wrote on last edited by foliovision
              #26

              @necrevistonnezr said in Automated env configuration destroys InvoiceNinja custom mail configuration on every restart:

              The uuid is unique, don‘t copy and paste the commands

              That's not our uuid. 230be9ee-72d6-4c54-8218-b08f8d217666 is a random character string. And I really don't need to talk more about NextCloud on this thread. This thread is about InvoiceNinja and how Cloudron overwrites our custom settings with no notification.

              1 Reply Last reply
              0
              • nebulonN Away
                nebulonN Away
                nebulon
                Staff
                wrote on last edited by
                #27

                To take a step back here, the reasoning for resetting email configs for most apps, is that we take an approach where apps will ensure their Cloudron related settings on each restart to make sure the app is in a known state. The start.sh can be rerun and will always attempt to bring it to what we expect. This is to ensure a configuration in case a user has accidentally changed important configs, not just email but also database connection details, file permissions and the domain the app is running on. We mostly follow the same principle as ansible playbooks and the likes here. This is the only realistic way to deliver tested updates and be able to debug things efficiently.

                Email configs though is not the same for all apps, as there are mainly two broad categories. One is transactional emails and the other is mass email like a newsletter. Those two require different strategies usually.

                I guess the main issue with Invoice Ninja here arises, since we think InvoiceNinja falls into the transactional category, where deliverability is ensured via the Cloudron platform setting level. Which is why it gets overwritten on every restart. For newsletter apps, ideally they have two email configs for that matter, where the transactional will also get overwritten by our startup scripts and the mass mail sending goes via some relay suitable for this use-case.

                So if you hit deliverability issues within InvoiceNinja, you likely also hit this in other apps. So having Cloudron wide email settings solved for this will also help with other apps.

                Question now is why you have the need for having a custom setting for this one app, which in my view does not send out mass email?

                From the UI perspective, I do agree, that this is not great that InvoiceNinja even allows you to configure email settings inside the app. In an ideal world, we would probably hide that UI to avoid all this, but we are not the developers of those apps and contributing upstream is currently often unfortunately not possible as we don't have the capacity and time for this. Hiring more people who can work on that aspect, would be great, but this is currently, also given the price-point, not viable.

                foliovisionF 2 Replies Last reply
                1
                • jdaviescoatesJ Offline
                  jdaviescoatesJ Offline
                  jdaviescoates
                  wrote on last edited by
                  #28

                  My 2p:

                  • Cloudron is awesome.
                  • Their decision actually makes lots of sense for the vast majority of their users, in large part because...
                  • "make sure the app is in a known state" that @nebulon mentions is what makes backing up, cloning and migrating apps all remarkably easy and reliable.
                  • Backups actually work brilliantly most of the time. When they don't it's normally nothing to do with Cloudron, but instead to do with network issues or quirks of where one is backing up to.
                  • Nextcloud is evidently viable given it's by far the mostly widely used solution of its type and is used by millions of people from individuals up to large Gov'ts.
                  • If this has been a terrible pain point for 2 years, perhaps it should've been reported it 2 years ago.
                  • Being obnoxious is generally not a useful nor productive strategy for resolving issues.

                  That is all.

                  I use Cloudron with Gandi & Hetzner

                  foliovisionF necrevistonnezrN 2 Replies Last reply
                  1
                  • nebulonN nebulon

                    To take a step back here, the reasoning for resetting email configs for most apps, is that we take an approach where apps will ensure their Cloudron related settings on each restart to make sure the app is in a known state. The start.sh can be rerun and will always attempt to bring it to what we expect. This is to ensure a configuration in case a user has accidentally changed important configs, not just email but also database connection details, file permissions and the domain the app is running on. We mostly follow the same principle as ansible playbooks and the likes here. This is the only realistic way to deliver tested updates and be able to debug things efficiently.

                    Email configs though is not the same for all apps, as there are mainly two broad categories. One is transactional emails and the other is mass email like a newsletter. Those two require different strategies usually.

                    I guess the main issue with Invoice Ninja here arises, since we think InvoiceNinja falls into the transactional category, where deliverability is ensured via the Cloudron platform setting level. Which is why it gets overwritten on every restart. For newsletter apps, ideally they have two email configs for that matter, where the transactional will also get overwritten by our startup scripts and the mass mail sending goes via some relay suitable for this use-case.

                    So if you hit deliverability issues within InvoiceNinja, you likely also hit this in other apps. So having Cloudron wide email settings solved for this will also help with other apps.

                    Question now is why you have the need for having a custom setting for this one app, which in my view does not send out mass email?

                    From the UI perspective, I do agree, that this is not great that InvoiceNinja even allows you to configure email settings inside the app. In an ideal world, we would probably hide that UI to avoid all this, but we are not the developers of those apps and contributing upstream is currently often unfortunately not possible as we don't have the capacity and time for this. Hiring more people who can work on that aspect, would be great, but this is currently, also given the price-point, not viable.

                    foliovisionF Offline
                    foliovisionF Offline
                    foliovision
                    wrote on last edited by
                    #29

                    @nebulon said in Automated env configuration destroys InvoiceNinja custom mail configuration on every restart:

                    Question now is why you have the need for having a custom setting for this one app, which in my view does not send out mass email?

                    I've answered that question above. Deliverability. I don't care about deliverability on the other apps, as they go to internal addresses and internal servers which are set up to accept Cloudron email (we have control). But that's not the essence of the question. The essence is Cloudron management sabotaging its users.

                    Stop tampering with our email settings @nebulon please. Your high-level view of how we should run our email is annoying and totally out of place. If the preferences are there don't overwrite them.

                    We do not want our email overwritten. On spinup, feel free to put some defaults in. On reinstall (if an app has been erased), feel free to put the defaults back in of course.

                    If I have changed settings within an app, do not touch them please.

                    I'd like to see change here, as the structure as it is now is simply wrong-headed.

                    I know you don't want to ruin your users lives @nebulon. But that is what you are doing by overwriting key settings without explicit warnings.

                    1 Reply Last reply
                    0
                    • jdaviescoatesJ jdaviescoates

                      My 2p:

                      • Cloudron is awesome.
                      • Their decision actually makes lots of sense for the vast majority of their users, in large part because...
                      • "make sure the app is in a known state" that @nebulon mentions is what makes backing up, cloning and migrating apps all remarkably easy and reliable.
                      • Backups actually work brilliantly most of the time. When they don't it's normally nothing to do with Cloudron, but instead to do with network issues or quirks of where one is backing up to.
                      • Nextcloud is evidently viable given it's by far the mostly widely used solution of its type and is used by millions of people from individuals up to large Gov'ts.
                      • If this has been a terrible pain point for 2 years, perhaps it should've been reported it 2 years ago.
                      • Being obnoxious is generally not a useful nor productive strategy for resolving issues.

                      That is all.

                      foliovisionF Offline
                      foliovisionF Offline
                      foliovision
                      wrote on last edited by
                      #30

                      @jdaviescoates You are welcome to your 2¢. I disagree with you and have enumerated exactly why. I have not said NextCloud is not viable. I've said running NextCloud is a huge waste of development/admin resources without a userbase of at least 20.

                      1 Reply Last reply
                      0
                      • robiR robi

                        @foliovision is there a setting for nextcloud to not save trash data? Or only keep it for a short time?

                        foliovisionF Offline
                        foliovisionF Offline
                        foliovision
                        wrote on last edited by
                        #31

                        @robi said in Automated env configuration destroys InvoiceNinja custom mail configuration on every restart:

                        @foliovision is there a setting for nextcloud to not save trash data? Or only keep it for a short time?

                        Yes, but it looks like Cloudron defaults to keeping data forever, requiring those of us running NextCloud to dig very deep to figure out how to get rid of deleted files. Intelligent defaults here would be useful. NextCloud is such a bear that I don't blame Cloudron admins for throwing up their arms and telling users, "You want to run NextCloud? Learn how to admin it properly." InvoiceNinja is in another category. It's relatively easy to setup and easy to use.

                        Yes, users should not be changing database settings, that's too tied into the automation as @girish suggested. Totally understand. Email configuration can be set to default on first launch but then should not be tinkered with if the user changes email settings, particularly for apps where email is core to their functionality.

                        @nebulon already recognised this issue, which is why there are custom settings for email programs. nebulon should realise that email deliverability has changed in a cardinal way since he set up Cloudron. Email has gone from most email gets through unless there was a previous major spam issue from a given account to email does not get through unless the major ISP has been paid off (partnership relationships) or there is a full SPF/DKIM/DMARC setup, which is not entirely possible with Cloudron from what I can remember (we have setup what we can) AND you are not hosted on DigitalOcean (the recommended provider of Cloudron).

                        1 Reply Last reply
                        1
                        • jdaviescoatesJ jdaviescoates

                          My 2p:

                          • Cloudron is awesome.
                          • Their decision actually makes lots of sense for the vast majority of their users, in large part because...
                          • "make sure the app is in a known state" that @nebulon mentions is what makes backing up, cloning and migrating apps all remarkably easy and reliable.
                          • Backups actually work brilliantly most of the time. When they don't it's normally nothing to do with Cloudron, but instead to do with network issues or quirks of where one is backing up to.
                          • Nextcloud is evidently viable given it's by far the mostly widely used solution of its type and is used by millions of people from individuals up to large Gov'ts.
                          • If this has been a terrible pain point for 2 years, perhaps it should've been reported it 2 years ago.
                          • Being obnoxious is generally not a useful nor productive strategy for resolving issues.

                          That is all.

                          necrevistonnezrN Offline
                          necrevistonnezrN Offline
                          necrevistonnezr
                          wrote on last edited by
                          #32

                          @jdaviescoates great points.
                          Some quite rude know-it-betters want a turnkey solution without admin hours (as if OneDrive or Dropbox would not require admin hours in a large organization - at a totally different price point) and I guess save a few bucks by not using a reliable mail relay system-wide.
                          Maybe the it‘s just not the right product?
                          Anyway, engaging is just exhausting and blocking in this forum is there for a reason 🙂

                          foliovisionF 1 Reply Last reply
                          0
                          • robiR Offline
                            robiR Offline
                            robi
                            wrote on last edited by
                            #33

                            How about a feature request that adds a user configurable (env?) file for non-default settings?

                            Should satisfy both needs.

                            Conscious tech

                            1 Reply Last reply
                            1
                            • necrevistonnezrN necrevistonnezr

                              @jdaviescoates great points.
                              Some quite rude know-it-betters want a turnkey solution without admin hours (as if OneDrive or Dropbox would not require admin hours in a large organization - at a totally different price point) and I guess save a few bucks by not using a reliable mail relay system-wide.
                              Maybe the it‘s just not the right product?
                              Anyway, engaging is just exhausting and blocking in this forum is there for a reason 🙂

                              foliovisionF Offline
                              foliovisionF Offline
                              foliovision
                              wrote on last edited by
                              #34

                              @necrevistonnezr said in Automated env configuration destroys InvoiceNinja custom mail configuration on every restart:

                              OneDrive or Dropbox would not require admin hours in a large organization - at a totally different price point

                              Dropbox requires almost no admin hours. If Condoleeza Rice had not been appointed to the Dropbox board in something like 2012 and if the Patriot Act had been repealed, Dropbox would definitely be the far better solution for filesharing between multiple computers. It's cheaper, easier and more reliable. NextCloud is fairly easily hacked (or backdoored through DigitalOcean) but it's not a systematic hack which gives the NSA and CIA direct access to all one's files, as if they are on Google Drive or Facebook or IMAP email.

                              1 Reply Last reply
                              0
                              • nebulonN nebulon

                                To take a step back here, the reasoning for resetting email configs for most apps, is that we take an approach where apps will ensure their Cloudron related settings on each restart to make sure the app is in a known state. The start.sh can be rerun and will always attempt to bring it to what we expect. This is to ensure a configuration in case a user has accidentally changed important configs, not just email but also database connection details, file permissions and the domain the app is running on. We mostly follow the same principle as ansible playbooks and the likes here. This is the only realistic way to deliver tested updates and be able to debug things efficiently.

                                Email configs though is not the same for all apps, as there are mainly two broad categories. One is transactional emails and the other is mass email like a newsletter. Those two require different strategies usually.

                                I guess the main issue with Invoice Ninja here arises, since we think InvoiceNinja falls into the transactional category, where deliverability is ensured via the Cloudron platform setting level. Which is why it gets overwritten on every restart. For newsletter apps, ideally they have two email configs for that matter, where the transactional will also get overwritten by our startup scripts and the mass mail sending goes via some relay suitable for this use-case.

                                So if you hit deliverability issues within InvoiceNinja, you likely also hit this in other apps. So having Cloudron wide email settings solved for this will also help with other apps.

                                Question now is why you have the need for having a custom setting for this one app, which in my view does not send out mass email?

                                From the UI perspective, I do agree, that this is not great that InvoiceNinja even allows you to configure email settings inside the app. In an ideal world, we would probably hide that UI to avoid all this, but we are not the developers of those apps and contributing upstream is currently often unfortunately not possible as we don't have the capacity and time for this. Hiring more people who can work on that aspect, would be great, but this is currently, also given the price-point, not viable.

                                foliovisionF Offline
                                foliovisionF Offline
                                foliovision
                                wrote on last edited by
                                #35

                                @nebulon said in Automated env configuration destroys InvoiceNinja custom mail configuration on every restart:

                                In an ideal world, we would probably hide that UI to avoid all this, but we are not the developers of those apps and contributing upstream

                                This is a backwards approach. It would be completely in Cloudron's control to check the .env variables for every app. If those variables change, Cloudron should:

                                1. notify the admin user with a screen on first startup alerting the user that key variables have changed (which ones)
                                2. send an email to the admin user alerting the user that key variables have been changed

                                I don't think local admins should have control over database settings but we should certainly be alerted if they are being changed back and forth.

                                It would also be very simple to allow users to enable or disable centralised email rewritten in each app. It's just one checkmark in the admin interface for the particular install.

                                That you have not spent the time to think about these issues and/or fix them is deeply disappointing. Your insouciance about how awful the situation is now is a deep indictment of the open source model (and this is from someone who has spent most of his adult life both creating open source and funding it).

                                Cloudron is sinking under too many apps and not enough care and housekeeping around the key ones you do support. I know the too-much-to-support issue first-hand. Due to WordPress making it ever more painful to keep our FOSS plugins both up to date and active in the directory (there were code change barriers, but even more administrative barriers), we had to retire about ten of them. Users can't find them or use them.

                                @girish does a great job running around to help us all and give us tips. It's outstanding. Systemic issues like this need to be addressed in a deeper way and not waved away with one blithe hand, or swept under the carpet.

                                Don't let the yes-men flatter you into complaisance. Unmerited pats-on-the-back is not how one improves a system or makes progress.

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