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
  • Brite
  • 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

Offical apps | Community apps | Demo | Docs | Install
J

jayonrails

@jayonrails
translator
Unfollow Follow
Everything related to the PHP CVE and eMudhra Cert Please read our Security issue thread - PHP and eMudhra cert compromise.
About
Posts
183
Topics
33
Shares
0
Groups
1
Followers
0
Following
0

Posts

Recent Best Controversial

  • Critical PHP RCEs (CVE-2026-109618 / CVE-2026-109619) – impact on Cloudron apps?
    J jayonrails
    Support packaging

    Update has been released.

    PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 fix two critical vulnerabilities that can allow unauthenticated remote code execution. All PHP users are strongly encouraged to update immediately.

    Who is at risk: all PHP installations serving web requests, including PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP and LiteSpeed. We consider the risk highest for mod_php, with a demonstrated exploit where an unauthenticated request can trigger the attack before any application code runs.

    The vulnerabilities:

    RCE via OOM corruption, CVE-2026-109618 (GHSA-w8hw-w9fx-j79w): out-of-memory handling can interrupt PHP while internal request data is only partially initialized. Request cleanup may then treat the invalid data as valid.
    RCE via stale global state, CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp): request-owned internal state can survive after its backing memory has been freed. A later request handled by the same worker may use that stale state before normal initialization resets it.
    How to update:

    Update to PHP 8.5.12, 8.4.27, 8.3.36 or 8.2.35. Source downloads are on our downloads page. Windows source and binaries are on the same page.
    Linux distributions and LTS vendors received the patches in advance, so check your vendor for updated packages.
    PHP 8.1 and older no longer receive updates from the PHP project. Some distributions and LTS vendors provide backported fixes, so contact your vendor for details, or upgrade to a supported version.
    If you rely on the volunteer-maintained rpms.remirepo.net, we urge you to switch to distribution packages or build from source, so you can immediately apply updates. The repo will not have updates today.
    Given the severity of these vulnerabilities, the PHP security team provided minimal source-backports for PHP 7.4, PHP 8.0, and PHP 8.1 to help people building from source or without access to an LTS vendor.
    If you cannot update immediately: while only an update is a complete solution, the following measures reduce exposure to specific attack paths but do not make an installation safe.

    RCE via OOM corruption (CVE-2026-109618):

    Set memory_limit=-1, preferably in a way applications can't override, such as php_admin_value in the FPM pool or Apache configuration, and check that no pool, directory or application setting puts a finite limit back. This removes the controllable PHP memory limit failure, but an underlying allocation failure can still reach the vulnerable path.
    Set a low post_max_size. For applications that don't require file uploads, set post_max_size = 8M. If file uploads are necessary, set post_max_size = 32M. Keep upload_max_filesize below post_max_size. Consider enforcing limits at the web server or proxy level for decoded request size, input field count, multipart part count, header count, and nesting depth. These limits must also cover requests without a usable Content-Length.
    Use a container or cgroup limit as an availability boundary, preferably with a policy that kills only the affected worker. Do not substitute RLIMIT_AS or RLIMIT_DATA, as these can cause the vulnerable allocation failure.
    RCE via stale global state (CVE-2026-109619):

    Set session.upload_progress.enabled=0 and restart every worker. Use php.ini, an FPM pool or server configuration that applies before request parsing. Do not rely on ini_set() or FPM .user.ini. This blocks the confirmed session paths but not other variants.
    On PHP 8.5, set fatal_error_backtraces=0 and restart every worker. This blocks the confirmed fatal backtrace path only.
    Remove invalid or deprecated settings applied per request that emit diagnostics before initialization. Hiding diagnostics with error_reporting, display_errors or @ does not help.
    Fix attacker-reachable fatal errors and execution timeouts, including failures in callbacks, upload or import processing and cleanup.
    The advisories linked above have the full technical details.


  • Cloudron 10 released
    J jayonrails
    Announcements

    @timconsidine sagte:

    And the position is still only update to ubuntu 26.04 after cloudron 10.0.4 ?

    Yes.


  • AI supported bug diagnosis and reporting on Cloudron
    J jayonrails
    Feature Requests bugs omarchy automation feature-request

    „ It's like he skipped GPT 2 - 5.4
    And now he just found out but hasn't figured out the downside and awful architecture it comes up with“

    I agree with this position and would vote against that feature request for now.


  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    This seems fine now, @james ?

    root@my:~# systemctl stop box
    root@my:~# apt install mysql-server
    mysql-server is already the newest version (8.4.11-0ubuntu0.26.04.1).
    The following package was automatically installed and is no longer required:
      libevent-pthreads-2.1-7t64
    Use 'apt autoremove' to remove it.
    
    Summary:
      Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 15
    root@my:~# systemctl start box
    root@my:~# bash /home/yellowtent/box/setup/start.sh
    2026-09-23T10:43:05 ==> start: Cloudron Start
    media:x:500:
    2026-09-23T10:43:05 ==> start: Configuring docker
    Synchronizing state of apparmor.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
    Executing: /usr/lib/systemd/systemd-sysv-install enable apparmor
    2026-09-23T10:43:06 ==> start: Ensuring directories
    2026-09-23T10:43:06 ==> start: Configuring journald
    2026-09-23T10:43:06 ==> start: Setting up unbound
    2026-09-23T10:43:06 ==> start: Adding systemd services
    Synchronizing state of unbound.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
    Executing: /usr/lib/systemd/systemd-sysv-install enable unbound
    Synchronizing state of cron.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
    Executing: /usr/lib/systemd/systemd-sysv-install enable cron
    Synchronizing state of rpcbind.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
    Executing: /usr/lib/systemd/systemd-sysv-install disable rpcbind
    2026-09-23T10:43:12 ==> start: Configuring sudoers
    2026-09-23T10:43:12 ==> start: Configuring logrotate
    2026-09-23T10:43:12 ==> start: Adding motd message for admins
    2026-09-23T10:43:12 ==> start: Configuring nginx
    2026-09-23T10:43:13 ==> start: Stopping mysql
    2026-09-23T10:43:17 ==> start: Starting mysql
    mysqladmin: [Warning] Using a password on the command line interface can be insecure.
    Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
    mysql: [Warning] Using a password on the command line interface can be insecure.
    mysql: [Warning] Using a password on the command line interface can be insecure.
    2026-09-23T10:43:17 ==> start: Migrating data
    [INFO] No migrations to run
    [INFO] Done
    2026-09-23T10:43:18 ==> start: Changing ownership
    2026-09-23T10:43:18 ==> start: Starting cloudron-syslog
    2026-09-23T10:43:18 ==> start: Starting Cloudron
    2026-09-23T10:43:20 ==> start: Almost done
    root@my:~# mysql -uroot -ppassword -e "SHOW BINARY LOGS;"
    mysql: [Warning] Using a password on the command line interface can be insecure.
    ERROR 1381 (HY000) at line 1: You are not using binary logging
    

  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    The topic has been merged and I haven’t seen the post you’re referring to. Thanks, will take care of it.


  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    @james I cannot maintain this until the weekend, so I would leave FreeScout stopped and report back in a few days.

    root@my:~# 
    root@my:~# mysql -uroot -ppassword -e "RESET BINARY LOGS AND GTIDS;"
    mysql: [Warning] Using a password on the command line interface can be insecure.
    root@my:~# mysql -uroot -ppassword -e "SHOW BINARY LOGS;"
    mysql: [Warning] Using a password on the command line interface can be insecure.
    +---------------+-----------+-----------+
    | Log_name      | File_size | Encrypted |
    +---------------+-----------+-----------+
    | binlog.000001 |   3783544 | No        |
    +---------------+-----------+-----------+
    

    This seems fine for now, let see if it blows up again...


  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    Good morning @james,

    root@my:~# mysql -uroot -ppassword -e "SELECT VERSION(), @@log_bin, @@binlog_expire_logs_seconds, @@max_binlog_size, @@binlog_expire_logs_auto_purge;"
    mysql: [Warning] Using a password on the command line interface can be insecure.
    +-------------------------+-----------+------------------------------+-------------------+---------------------------------+
    | VERSION()               | @@log_bin | @@binlog_expire_logs_seconds | @@max_binlog_size | @@binlog_expire_logs_auto_purge |
    +-------------------------+-----------+------------------------------+-------------------+---------------------------------+
    | 8.4.11-0ubuntu0.26.04.1 |         1 |                      2592000 |         104857600 |                               1 |
    +-------------------------+-----------+------------------------------+-------------------+---------------------------------+
    

    @james sagte:

    Is also assume there is nothing in the folders listed in the config.

    Yes.

    As there have been two notes to this thread, I would like to add:

    When upgrading from Ubuntu 24.04 to Ubuntu 26.04. I kept all the config files and didn't let it create new ones.


  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    hey @james,

    thanks for your investigation. Let met get straight to your questions:

    @james sagte:

    Is your Cloudron installation older than 26.02.2021?

    No, never has been.

    @james sagte:

    /etc/mysql/my.cnf

    #
    # The MySQL database server configuration file.
    #
    # You can copy this to one of:
    # - "/etc/mysql/my.cnf" to set global options,
    # - "~/.my.cnf" to set user-specific options.
    # 
    # One can use all long options that the program supports.
    # Run program with --help to get a list of available options and with
    # --print-defaults to see which it would actually understand and use.
    #
    # For explanations see
    # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
    
    #
    # * IMPORTANT: Additional settings that can override those from this file!
    #   The files must end with '.cnf', otherwise they'll be ignored.
    #
    
    !includedir /etc/mysql/conf.d/
    !includedir /etc/mysql/mysql.conf.d/
    

    @james sagte:

    You can also run the following command to get the live configuration:

    root@my:~# mysql -uroot -ppassword -e "SELECT VERSION(), @@log_bin, @@binlog_expire_logs_seconds, @@expire_logs_days, @@max_binlog_size, @@binlog_expire_logs_auto_purge;"
    mysql: [Warning] Using a password on the command line interface can be insecure.
    ERROR 1193 (HY000) at line 1: Unknown system variable 'expire_logs_days'
    

  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    Seems fine for now. Would you like to aggree on a meeting so we could analyze this together?

    root@my:~# mysql -uroot -ppassword -e "RESET BINARY LOGS AND GTIDS;"
    mysql: [Warning] Using a password on the command line interface can be insecure.
    root@my:~# mysql -uroot -ppassword -e "SHOW BINARY LOGS;"
    mysql: [Warning] Using a password on the command line interface can be insecure.
    +---------------+-----------+-----------+
    | Log_name      | File_size | Encrypted |
    +---------------+-----------+-----------+
    | binlog.000001 |   1895520 | No        |
    +---------------+-----------+-----------+
    

  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    I cannot attach a textfile nor add the whole lines of output here because this is too big.

    https://paste.cloudron.io/p/bat-cobra-emu


  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    Perfect. Since I am running out of space now, is there a safe way to do a backup (which I would share with you to investigate) and get rid of the bullshit data so I don't have to move to another server tonight?


  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    @jdaviescoates sagte:

    If I'm not mistaken, that style used to be how things were routinely done on Cloudron(?), so this is probably just left over from it being an old install?

    Yes, the installation is around 3 years old I would guess.


  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    @james sagte:

    The code block I have posted with the URLs are source code and not environment variables.
    I should have been more clear, sorry.

    no problem at all :))

    @james sagte:

    there are these two entries which look incorrect.
    No other entries in the /app/data/env have the export $SOME_ENVIRONMENT_VARIABLE=$VALUE style.
    Also I did not find anything in the upstream Freescout code that uses these two environment variables.
    You might want to look into that as well.

    I will check this!

    @james sagte:

    Can you please share where exactly you have found these binlogs?
    Are they inside the freescout container or on the host system?

    root@my:~# # Biggest items inside /var/lib/mysql, one level deep
    du -xh --max-depth=1 /var/lib/mysql | sort -h | tail -15
    36K	/var/lib/mysql/mysql
    116K	/var/lib/mysql/sys
    804K	/var/lib/mysql/#innodb_temp
    1.7M	/var/lib/mysql/performance_schema
    101M	/var/lib/mysql/#innodb_redo
    213M	/var/lib/mysql/box
    173G	/var/lib/mysql
    root@my:~# 
    root@my:~# # Binlogs vs everything else, side by side
    du -ch /var/lib/mysql/binlog.* | tail -1
    du -sh --exclude='binlog.*' /var/lib/mysql
    173G	total
    424M	/var/lib/mysql
    root@my:~# # Oldest and newest, with timestamps
    ls -lh --time-style=long-iso /var/lib/mysql/binlog.* | head -5
    ls -lh --time-style=long-iso /var/lib/mysql/binlog.* | tail -5
    
    # The index MySQL maintains — one line per binlog it knows about
    wc -l /var/lib/mysql/binlog.index
    head -3 /var/lib/mysql/binlog.index
    -rw-r----- 1 mysql mysql  180 2026-09-01 14:36 /var/lib/mysql/binlog.000001
    -rw-r----- 1 mysql mysql  180 2026-09-01 14:38 /var/lib/mysql/binlog.000002
    -rw-r----- 1 mysql mysql  180 2026-09-01 14:38 /var/lib/mysql/binlog.000003
    -rw-r----- 1 mysql mysql  441 2026-09-11 17:40 /var/lib/mysql/binlog.000004
    -rw-r----- 1 mysql mysql 101M 2026-09-11 17:49 /var/lib/mysql/binlog.000005
    -rw-r----- 1 mysql mysql 101M 2026-09-22 17:23 /var/lib/mysql/binlog.001764
    -rw-r----- 1 mysql mysql 101M 2026-09-22 17:32 /var/lib/mysql/binlog.001765
    -rw-r----- 1 mysql mysql 101M 2026-09-22 17:41 /var/lib/mysql/binlog.001766
    -rw-r----- 1 mysql mysql  79M 2026-09-22 17:48 /var/lib/mysql/binlog.001767
    -rw-r----- 1 mysql mysql  28K 2026-09-22 17:41 /var/lib/mysql/binlog.index
    1767 /var/lib/mysql/binlog.index
    ./binlog.000001
    ./binlog.000002
    ./binlog.000003
    root@my:~# docker exec mysql ls -lh /var/lib/mysql/ | head -5
    docker exec mysql df -h /var/lib/mysql
    total 295M
    -rw-r----- 1 mysql mysql 6.0M Sep 22 17:48 #ib_16384_0.dblwr
    -rw-r----- 1 mysql mysql  14M Sep 21 22:47 #ib_16384_1.dblwr
    drwxr-x--- 2 mysql mysql 4.0K Sep 22 17:22 #innodb_redo
    drwxr-x--- 2 mysql mysql 4.0K Sep 11 17:40 #innodb_temp
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vda3       295G  290G  4.7G  99% /var/lib/mysql
    
    

    @james sagte:

    ls -lah /home/yellowtent/platformdata/mysql/

    and

    du -hd 0 /home/yellowtent/platformdata/mysql

    root@my:~# ls -lah /home/yellowtent/platformdata/mysql/
    total 295M
    -rw-r-----  1 102        uuidd      6.0M Sep 22 17:45 '#ib_16384_0.dblwr'
    -rw-r-----  1 102        uuidd       14M Sep 21 22:47 '#ib_16384_1.dblwr'
    drwxr-x---  2 102        uuidd      4.0K Sep 22 17:22  '#innodb_redo'
    drwxr-x---  2 102        uuidd      4.0K Sep 11 17:40  '#innodb_temp'
    drwxr-xr-x 14 102        uuidd      4.0K Sep 11 17:40  .
    drwxr-xr-x 23 yellowtent yellowtent 4.0K Sep  1 21:03  ..
    drwxr-x---  2 102        uuidd      4.0K Sep  1 21:14  a627b901205146af
    drwxr-x---  2 102        uuidd      4.0K Sep  1 21:33  a78a01e8ce480b13
    drwxr-x---  2 102        uuidd      4.0K Sep  1 21:32  a79f97d58ed20a71
    -rw-r-----  1 102        uuidd        56 Sep  1 21:00  auto.cnf
    drwxr-x---  2 102        uuidd      4.0K Sep  1 21:31  c894b11c3cecf0d3
    -rw-------  1 102        uuidd      1.7K Sep  1 21:00  ca-key.pem
    -rw-r--r--  1 102        uuidd      1.1K Sep  1 21:00  ca.pem
    -rw-r--r--  1 102        uuidd      1.1K Sep  1 21:00  client-cert.pem
    -rw-------  1 102        uuidd      1.7K Sep  1 21:00  client-key.pem
    drwxr-x---  2 102        uuidd      4.0K Sep  1 21:31  df2322f70b8c510e
    drwxr-x---  2 102        uuidd      4.0K Sep  1 21:29  fc0ce74fabc98ba9
    drwxr-x---  2 102        uuidd      4.0K Sep  1 21:32  fd74cc63fc19b991
    -rw-r-----  1 102        uuidd      3.9K Sep 11 17:39  ib_buffer_pool
    -rw-r-----  1 102        uuidd       12M Sep 22 17:45  ibdata1
    -rw-r-----  1 102        uuidd       12M Sep 11 17:40  ibtmp1
    drwxr-x---  2 102        uuidd      4.0K Sep  1 21:00  mysql
    -rw-r-----  1 102        uuidd       26M Sep 22 17:44  mysql.ibd
    -rw-r-----  1 102        uuidd       125 Sep  1 21:00  mysql_upgrade_history
    drwxr-x---  2 102        uuidd      4.0K Sep  1 21:00  performance_schema
    -rw-------  1 102        uuidd      1.7K Sep  1 21:00  private_key.pem
    -rw-r--r--  1 102        uuidd       452 Sep  1 21:00  public_key.pem
    -rw-r--r--  1 102        uuidd      1.1K Sep  1 21:00  server-cert.pem
    -rw-------  1 102        uuidd      1.7K Sep  1 21:00  server-key.pem
    drwxr-x---  2 102        uuidd      4.0K Sep  1 21:00  sys
    -rw-r-----  1 102        uuidd      208M Sep 22 17:45  undo_001
    -rw-r-----  1 102        uuidd       16M Sep 22 17:45  undo_002
    root@my:~# du -hd 0 /home/yellowtent/platformdata/mysql
    12G	/home/yellowtent/platformdata/mysql
    

  • Does cubby do file versioning?
    J jayonrails
    Cubby

    I like the idea for both, but would consider the trash can to be a little more important than the versioning.


  • Calling for Berliners ;-)
    J jayonrails
    Off-topic meetup

    Some years later, I would like to suggest if we want to plan a new meet up. Could be in Berlin or in any other city. Can we have some kind of a poll if people where interested? Especially since we have community apps and more independent developers for Cloudron apps this might be a good approach to get to know each other and share ideas.

    If there are some people interested I would volunteer to get some dates and check if I can spin up a location fitting some people.


  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    Addition: I would like to know when "ACTIVITY_LOGGER_DELETE_RECORDS_OLDER_THAN_DAYS" has been implemented. My FreeScout installtion probably didn't have that when I first installed it. There might be other people that could run into this problem; it could have been a bug some years ago?

    It might be clever to re-install it and do an import, however I have not researched yet if an import is possible and if I can keep the ticket IDs the samde and transfer all data including attachments.


  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    Hello @james
    thanks for your research.

    I did not touch the config file for at least some years, but I cannot guarantee that it has never been touched.

    ####################################################################################################
    ## If you want to use web installer **DO NOT** create `.env` file manually. 
    ## If `.env` file exists in the root of your app, web installer won't run.
    ##
    ## Every time you are making changes in .env file, in order changes to take an effect you need to run:
    ## php artisan freescout:clear-cache
    #####################################################################################################
    
    # Application URL
    APP_URL=https://wont-tell.de
    
    # Use HTTPS protocol and redirect to HTTPS
    #APP_FORCE_HTTPS=true
    
    # If you are using HTTPS, feel free to uncomment this line to improve security
    #SESSION_SECURE_COOKIE=true
    
    # Enter your proxy address here if freescout.net is not available from your server
    # (access to freescout.net is required to obtain official modules)
    #APP_PROXY=
    
    # Custom headers to add to all outgoing emails.
    #APP_CUSTOM_MAIL_HEADERS="IsTransactional:True;X-Custom-Header:value"
    
    # Timezones: https://github.com/freescout-helpdesk/freescout/wiki/PHP-Timezones
    # Comment it to use default timezone from php.ini
    APP_TIMEZONE=Europe/Berlin
    
    DB_CONNECTION=mysql
    DB_HOST=mysql
    DB_PORT=3306
    DB_DATABASE=censored
    DB_USERNAME=censored
    # Maximum password length is 50 characters
    DB_PASSWORD=censored
    
    # Run the following console command to generate the key: php artisan key:generate
    # Otherwise application will show the following error: "Whoops, looks like something went wrong"
    APP_KEY=base64:km/censored
    APP_FORCE_HTTPS = true
    APP_DISABLE_UPDATING = true
    
    # Uncomment to see errors in your browser, don't forget to comment it back when debugging finished
    #APP_DEBUG=true
    
    APP_CUSTOM_NUMBER=false
    
    APP_USER_PERMISSIONS=
    
    APP_EMAIL_CONV_HISTORY=none
    
    APP_EMAIL_USER_HISTORY=full
    
    APP_LOCALE=de
    
    FASTERSEARCH_URL="https://ms-censored.fra.meilisearch.io"
    
    FASTERSEARCH_API_KEY=censored
    
    APP_ALERT_LOGS=
    
    APP_ALERT_LOGS_PERIOD=hour
    
    export FILE_STORAGE=local
    export FILE_STORAGE_UPLOAD_MAX_SIZE=26214400
    
    APP_REMOTE_HOST_WHITE_LIST=mail,172.18.0.0/16,fd00::/8,127.0.1.1,"my.censored.de",172.18.0.1"
    
    

    After adding the changes you suggested, I noticed that it does not match the styling of the other entries. After starting, I got the following error:

    Sep 22 00:27:54 In Loader.php line 273:
    Sep 22 00:27:54                                                                  
    Sep 22 00:27:54                                                                  
    Sep 22 00:27:54   Dotenv values containing spaces must be surrounded by quotes.  
    Sep 22 00:27:54 => Clear cache folders
    Sep 22 00:27:54 => Ensure directories
    Sep 22 00:27:54 => Ensure permissions
    Sep 22 00:27:54 => Run migrations
    Sep 22 00:27:54 => Set configs
    Sep 22 00:27:54 PHP Warning:  Trying to access array offset on null in /app/code/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 159
    Sep 22 00:27:55 2026-09-21T22:27:55Z 
    Sep 22 00:27:55 2026-09-21T22:27:55Z 
    

    I have then changed it:

    
    # https://github.com/freescout-help-desk/freescout/blob/88734eec10a898682a8dc0e846459f477d60600a/config/activitylog.php#L8
    ACTIVITY_LOGGER_ENABLED=true
    
    # https://github.com/freescout-help-desk/freescout/blob/88734eec10a898682a8dc0e846459f477d60600a/config/activitylog.php#L14
    ACTIVITY_LOGGER_DELETE_RECORDS_OLDER_THAN_DAYS=30
    

    ...and cleared cache.

    root@0a2837d5-d303-4d2b-b9f4-c35199425682:/app/code# php artisan freescout:clear-cache
    The compiled services & packages files have been removed.
    Cache cleared successfully.
    Compiled views cleared!
    Configuration cache cleared!
    Configuration cached successfully!
    Cleared: JS and CSS builds
    Created: /js/builds/vars.js
    

    @james sagte:

    Also, could it be that there is somthing creating massive ammounts of logs for the activity_log and that is actually spamming the database?
    My thought is something like, if there is something spamming 101 MB every 9 minutes and if only older than 30 days are cleaned up, only after 30 days it would slowly be cleaned up.

    I also thought about that. After some research I have found out that there is mailboxes / support boxes within FreeScout that try to connect to an IMAP / SMTP mailbox which no longer exists.

    Bildschirmfoto 2026-09-22 um 00.41.20.png

    Also I have noticed that the meiliseach instance is no longer there. It has been disabled but the respective entries in the config file have not been remove - although the module has been disabled. When I try to uninstall the module, the page reloads, but the module is still there. It does show a confirmation that the module has been deleted.

    Also I have noticed that after making the changes to the config file and cleaning the cache, the authentication with SMTP did not work. I checked credentials and other data and when saving, I got the error notice that the hostname is not allowed.

    Then I took a deeper look into APP_REMOTE_HOST_WHITE_LIST and changed it as follows:

    APP_REMOTE_HOST_WHITE_LIST=mail,172.18.0.0/16,fd00::/8,127.0.1.1,172.17.0.1,172.17.0.0/16,172.18.0.1,fe80::/10,fe80::be24:11ff:fe61:d810,my.example.com
    

    my.example.com being the hostname of my Cloduron.

    After saving, restarting the application and clearing cache, this worked again.

    When I was sure everything was working again, I cleared all the log files in FreeScout that I could find. Then I disabled the app again, because now the most serious question is: how can I remove the data from the mySQL binlogs?

    When that is done and 145 GB more disk space is available, I would to start the application again and check for log files and if the rotation works correctly, also I would like to check if it get's this big again.


  • MySQL binlogs growing unbounded — 145 GB, no expiry set?
    J jayonrails
    Support disk usage ubuntu 26.04 ubuntu mysql dist upgrade

    Note: analysis for this report has been done with support of ai (claude).

    Environment

    • Cloudron on Ubuntu 26.04., root partition 295 GB
    • MySQL addon: registry.docker.com/cloudron/mysql:3.8.0
    • Affected app: FreeScout
      • Image: cloudron/net.freescout.cloudronapp:202609190520200000
      • App ID: 0a2837d5-…
      • DB: fc0ce74f…

    Problem

    The root partition went from roughly 50% to 89% within a few hours.
    The cause is MySQL binlogs inside the addon container:

    /var/lib/mysql 146 GB total
    binlog.* 145 GB (1486 files, 101 MB each)

    The actual databases only account for about 1 GB. binlog.000001
    dates from 2026-09-01, so every binlog since initial setup is still
    being retained with nothing expiring. binlog_expire_logs_seconds
    appears not to be set in the Cloudron MySQL configuration.

    Write rate

    A new 101 MB binlog is currently created roughly every 9 minutes,
    i.e. about 4 GB/hour (timestamps 16:43 → 22:37 = 40 files).

    The source is FreeScout: its activity_log table has grown to 12 GB
    (activity_logs.ibd), and the nightly mysqldump for that same app
    is now 10 GB.

    Questions

    1. Is it intended that the MySQL addon ships without a binlog expiry?
      On installations without replication, the logs will inevitably
      fill the disk.
    2. What is the supported way to set binlog_expire_logs_seconds
      persistently, so it survives container restarts and app updates?
    3. Are the binlogs required by Cloudron's own backup mechanism, or
      can they be purged safely?
    4. Is the excessive logging in FreeScout's activity_log known
      behaviour for the package, and is there any housekeeping for it?

    I would expect it to be handeled automatically, like it has been for the most previous years. I assume it is a bug in the platform rather than behaivour that is expected to happen.

    I am not sure if this could be a bug when upgrading from Ubuntu 24.04 to Ubuntu 26.04. or because of a Cloudron change?

    I have activated the support login on this server, so staff can check it on their own, if they prefer.

    What has been ruled out

    Docker itself is unremarkable: container logs max 21 MB, build cache
    0 B, volumes in the MB range. Journal 93 MB, /var/log 341 MB. I don't have any other idea where this could originate from.


  • You are using PostgreSQL 16.14 for the ci database, but this version of GitLab requires PostgreSQL >= 17.
    J jayonrails
    GitLab

    Hi esiv and welcome to the Cloudron forum!

    This probably has just been forgotten and can be implemented by @girish in some hours.

    Please allow some time for investigation.


  • bug report: "finish setup" when restoring from a backup - no setup needed
    J jayonrails
    Support restore motd

    image.jpeg

  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search