Environment File Resets After Application Restart
-
The reason I changed the database variables is that I’m using a centralized managed database hosted on AWS. It provides additional security and encryption features, along with capabilities such as Point-in-Time Recovery (PITR) for backup and disaster recovery purposes. It also offers high availability and improved reliability compared to a locally hosted database.
-
Hello @halkhamis
If you want to use an external database with Freescout you will have to fork the Freescout package and change it so that you can use an external database.
It sounds like you want to use enterprise and high availability features for a software that is not highly available in the first place, so the HA of the DB will offer nothing when the software is down anyway.
Cloudron also provides the security and encryption for the DB and also offers the backup and restore for the app and database itself, but not PITR. -
Hello @halkhamis
If you want to use an external database with Freescout you will have to fork the Freescout package and change it so that you can use an external database.
It sounds like you want to use enterprise and high availability features for a software that is not highly available in the first place, so the HA of the DB will offer nothing when the software is down anyway.
Cloudron also provides the security and encryption for the DB and also offers the backup and restore for the app and database itself, but not PITR.Mr. @james,
I have the same setup and faced a similar issue. Currently, I'm using Alibaba Cloud RDS, which provides multiple enterprise-grade features such as High Availability (HA), Disaster Recovery (DR), and Point-in-Time Recovery (PITR).
I'm planning to adopt a two-tier architecture by separating the application tier (Cloudron) from the database tier. The goal is to better separate responsibilities and specializations across the team, while also improving scalability, maintainability, and operational management.
Is there any recommended approach to achieve this without forking the package?
-
Mr. @james,
I have the same setup and faced a similar issue. Currently, I'm using Alibaba Cloud RDS, which provides multiple enterprise-grade features such as High Availability (HA), Disaster Recovery (DR), and Point-in-Time Recovery (PITR).
I'm planning to adopt a two-tier architecture by separating the application tier (Cloudron) from the database tier. The goal is to better separate responsibilities and specializations across the team, while also improving scalability, maintainability, and operational management.
Is there any recommended approach to achieve this without forking the package?
@abo_shahad this mostly will not work in the long run, as the database backups might get out of sync of the other app data stored on the local filesystem of freescout. Generally Cloudron is designed in a way where the database is part of the app so to speak, so apps can be backed up and restored fully from one system. This is especially important when some update fails. In your case with the database having different backup/restore points from the app, this will be non-trivial to restore to a working app state if an update breaks.
So as @ccfu suggests using LAMP to run freescout would work, but I am not really sure if there is much benefit using Cloudron then for this. Essentially you are "fighting" the platform instead of using its benefits.
-
@abo_shahad this mostly will not work in the long run, as the database backups might get out of sync of the other app data stored on the local filesystem of freescout. Generally Cloudron is designed in a way where the database is part of the app so to speak, so apps can be backed up and restored fully from one system. This is especially important when some update fails. In your case with the database having different backup/restore points from the app, this will be non-trivial to restore to a working app state if an update breaks.
So as @ccfu suggests using LAMP to run freescout would work, but I am not really sure if there is much benefit using Cloudron then for this. Essentially you are "fighting" the platform instead of using its benefits.
@nebulon
Thanks for the clarification. I understand Cloudron’s design philosophy regarding keeping the database tightly coupled with the application for consistent backups and restores.However, in our case, the main objective of using Alibaba Cloud RDS is that the database layer is fully managed independently, including backups, HA, DR, PITR, monitoring, and recovery procedures.
From an infrastructure and security perspective, we also need a separate recovery path in case the Cloudron server itself becomes corrupted during an upgrade, suffers complete filesystem failure, or even gets impacted by ransomware attacks such as Shamoon-style destructive malware encrypting the entire server storage.
In these scenarios, having the database isolated and continuously protected on a managed RDS platform gives us a strong fallback and significantly improves resilience and disaster recovery capabilities.
Our goal here is mainly to follow infrastructure best practices by separating the application tier from the database tier, both operationally and from a security/recovery standpoint, rather than relying on a single tightly coupled host for everything.
-
@ccfu "fighting" the platform is good idea

-
The reason I changed the database variables is that I’m using a managed database hosted on AWS/Azure.
Hello @abo_shahad
I am a little curious, because you stated before:I’m using a managed database hosted on AWS/Azure.
and now it is:
Alibaba Cloud RDS
so the DB infrastructure changed from AWS to Alibaba within two days?
From an infrastructure and security perspective, we also need a separate recovery path in case the Cloudron server itself becomes corrupted during an upgrade, suffers complete filesystem failure, or even gets impacted by ransomware attacks such as Shamoon-style destructive malware encrypting the entire server storage.
If a backup site based on S3 is used and not a local mounted one, this can be completely avoided.
Many S3 providers offer write-once, read-many.
So when the backup gets stored encrypted on the S3, it can't even be encrypted again by a ransomware.
Also, Cloudron full system backups include everything to restore from 0 to 100.
So even if the full drive gets encrypted, you can restore the whole set up from a Cloudron backup without the need to restore the whole server.
Just a fresh Ubuntu and the Cloudron restore from the backup site is enough for 0 to 100.But I can see that you really want to do this.
So your options are to fork the Freescout app and maintain it yourself or install it manually in the LAMP as suggested before.
Still, this will cause issues with the Cloudron backup and restore process leading to even bigger issues and frustration when the need to recover arises.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login