[GH-ISSUE #1809] 💬 [Question] Running cypht behind reverse proxy fails #713

Closed
opened 2026-02-25 21:35:44 +03:00 by kerem · 7 comments
Owner

Originally created by @dakky on GitHub (Dec 11, 2025).
Original GitHub issue: https://github.com/cypht-org/cypht/issues/1809

💬 Question

I just installed the app via docker compose. I simply took the docker-compose.yaml from this repo.. I extended the labels of the app container for my traefik (reverse proxy settings) in a manner i did quite often for other apps.

After starting the stack i can login and there the problems begin.

I get a completely broken page:

Image

The browser console does not look so very fine:

Error with Permissions-Policy header: Unrecognized feature: 'browsing-topics'.
Error with Permissions-Policy header: Unrecognized feature: 'run-ad-auction'.
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'join-ad-interest-group'.
Error with Permissions-Policy header: Unrecognized feature: 'private-state-token-redemption'.
Error with Permissions-Policy header: Unrecognized feature: 'private-state-token-issuance'.
Error with Permissions-Policy header: Unrecognized feature: 'private-aggregation'.
Error with Permissions-Policy header: Unrecognized feature: 'attribution-reporting'.
?page=home:1 Refused to execute script from 'https://subdomain.mydomain.eu/third_party/push.min.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
site.js?v=a%2BL5p9w11qdp7UpM1Og8Mawe7tmaTjb3qOS5IId%2BfUU%3D:8 Uncaught SyntaxError: Unexpected token '*' (at site.js?v=a%2BL5p9w11qdp7UpM1Og8Mawe7tmaTjb3qOS5IId%2BfUU%3D:8:2)

Any idea how to fix that?

Originally created by @dakky on GitHub (Dec 11, 2025). Original GitHub issue: https://github.com/cypht-org/cypht/issues/1809 <!-- You can find the latest issue templates here https://github.com/ulfgebhardt/issue-templates --> <!-- Question the project's team --> <!-- If you need an answer right away, consider to take other means of communication with the project's team --> ## 💬 Question I just installed the app via docker compose. I simply took the docker-compose.yaml from this repo.. I extended the labels of the app container for my traefik (reverse proxy settings) in a manner i did quite often for other apps. After starting the stack i can login and there the problems begin. I get a completely broken page: <img width="998" height="583" alt="Image" src="https://github.com/user-attachments/assets/919e89f4-5625-4bb4-81bf-2def8e30c51b" /> The browser console does not look so very fine: ``` Error with Permissions-Policy header: Unrecognized feature: 'browsing-topics'. Error with Permissions-Policy header: Unrecognized feature: 'run-ad-auction'. Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'join-ad-interest-group'. Error with Permissions-Policy header: Unrecognized feature: 'private-state-token-redemption'. Error with Permissions-Policy header: Unrecognized feature: 'private-state-token-issuance'. Error with Permissions-Policy header: Unrecognized feature: 'private-aggregation'. Error with Permissions-Policy header: Unrecognized feature: 'attribution-reporting'. ?page=home:1 Refused to execute script from 'https://subdomain.mydomain.eu/third_party/push.min.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled. site.js?v=a%2BL5p9w11qdp7UpM1Og8Mawe7tmaTjb3qOS5IId%2BfUU%3D:8 Uncaught SyntaxError: Unexpected token '*' (at site.js?v=a%2BL5p9w11qdp7UpM1Og8Mawe7tmaTjb3qOS5IId%2BfUU%3D:8:2) ``` Any idea how to fix that?
kerem 2026-02-25 21:35:44 +03:00
  • closed this issue
  • added the
    question
    label
Author
Owner

@IrAlfred commented on GitHub (Dec 11, 2025):

Thanks @dakky for reporting this!

We’re going to look into the issue. To help us investigate further, could you provide a bit more information about your setup? Especially the details of your reverse proxy (Traefik) configuration.

In particular, it would be useful to know:

  • Any Traefik labels you added to the Cypht container
  • Any rewrite rules, middlewares, or headers that Traefik is applying
  • The external URL you’re accessing Cypht through

This will help us reproduce the issue and understand why the page appears broken after login. This seems to be related to https://github.com/cypht-org/cypht/issues/1416

Thanks again for taking the time to report this!

<!-- gh-comment-id:3641768677 --> @IrAlfred commented on GitHub (Dec 11, 2025): Thanks @dakky for reporting this! We’re going to look into the issue. To help us investigate further, could you provide a bit more information about your setup? Especially the details of your reverse proxy (Traefik) configuration. In particular, it would be useful to know: * Any Traefik labels you added to the Cypht container * Any rewrite rules, middlewares, or headers that Traefik is applying * The external URL you’re accessing Cypht through This will help us reproduce the issue and understand why the page appears broken after login. This seems to be related to https://github.com/cypht-org/cypht/issues/1416 Thanks again for taking the time to report this!
Author
Owner

@dakky commented on GitHub (Dec 11, 2025):

Of course.

Here are my labels attached to the container:

labels:
  - traefik.enable=true
  - traefik.http.routers.cypth.rule=Host(`subdomain.mydomain.eu`)
  - traefik.http.routers.cypth.entrypoints=websecure
  - traefik.http.routers.cypth.tls=true
  - traefik.http.routers.cypth.tls.certresolver=le
  - traefik.http.services.cypth.loadbalancer.server.port=80

So basically there are no "special" middlewares or rewrite rules involved.

I added a debug container in order to see the requests headers, which are sent to the app:

Hostname: cb5060041b89
IP: 127.0.0.1
IP: ::1
IP: 172.18.0.46
RemoteAddr: 172.18.0.11:58432
GET / HTTP/1.1
Host: subdomain.mydomain.eu
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: de-DE,de;q=0.6
Cache-Control: max-age=0
Priority: u=0, i
Sec-Ch-Ua: "Brave";v="143", "Chromium";v="143", "Not A(Brand";v="24"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Linux"
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Sec-Gpc: 1
Upgrade-Insecure-Requests: 1
X-Forwarded-For: xxx.xxx.xxx.xxx
X-Forwarded-Host: subdomain.mydomain.eu
X-Forwarded-Port: 443
X-Forwarded-Proto: https
X-Forwarded-Server: 8ca83705903c
X-Real-Ip: xxx.xxx.xxx.xxx

oh and of course the logfile (i tried to catch the relevant parts, as it is quite repetative):

➜ docker compose logs cypht
cypht_app  | Cannot load Xdebug - it was already loaded
cypht_app  |
cypht_app  | Attempting to connect to database ... (1/10)
cypht_app  | Attempting to connect to database ... (2/10)
cypht_app  | Attempting to connect to database ... (3/10)
cypht_app  | Attempting to connect to database ... (4/10)
cypht_app  | Attempting to connect to database ... (5/10)
cypht_app  | Attempting to connect to database ... (6/10)
cypht_app  | Attempting to connect to database ... (7/10)
cypht_app  | Attempting to connect to database ... (8/10)
cypht_app  | Attempting to connect to database ... (9/10)
cypht_app  | Attempting to connect to database ... (10/10)
cypht_app  | Unable to connect to database
cypht_app  | Cannot load Xdebug - it was already loaded
cypht_app  |
cypht_app  | Attempting to connect to database ... (1/10)
cypht_app  | Attempting to connect to database ... (2/10)
cypht_app  | Attempting to connect to database ... (3/10)
cypht_app  | Attempting to connect to database ... (4/10)
cypht_app  | Attempting to connect to database ... (5/10)
cypht_app  | Attempting to connect to database ... (6/10)
cypht_app  | Attempting to connect to database ... (7/10)
cypht_app  | Database connection successful ...
cypht_app  | Database is empty. Initializing...
cypht_app  | Database schema initialized.
cypht_app  | Migrations table not found. Creating it...
cypht_app  | Migrations table created.
cypht_app  | Migrations table populated for new installation.
cypht_app  |
cypht_app  | Db setup finished
cypht_app  | Creating directory for attachments /var/lib/hm3/attachments
cypht_app  | Cannot load Xdebug - it was already loaded
cypht_app  | User account created successfully.
cypht_app  | Cannot load Xdebug - it was already loaded
cypht_app  | scanning module core ...
cypht_app  | scanning module contacts ...
cypht_app  | scanning module local_contacts ...
cypht_app  | scanning module ldap_contacts ...
cypht_app  | scanning module gmail_contacts ...
cypht_app  | scanning module feeds ...
cypht_app  | scanning module jmap ...
cypht_app  | scanning module imap ...
cypht_app  | scanning module smtp ...
cypht_app  | scanning module account ...
cypht_app  | scanning module idle_timer ...
cypht_app  | scanning module desktop_notifications ...
cypht_app  | scanning module calendar ...
cypht_app  | scanning module themes ...
cypht_app  | scanning module nux ...
cypht_app  | scanning module developer ...
cypht_app  | scanning module profiles ...
cypht_app  | scanning module imap_folders ...
cypht_app  | scanning module sievefilters ...
cypht_app  | scanning module tags ...
cypht_app  | scanning module history ...
cypht_app  | site.css file created
cypht_app  | site.js file created
cypht_app  | dynamic.php file written
cypht_app  | creating production site
cypht_app  | 2025-12-11 16:23:20,624 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid thismessage.
cypht_app  | 2025-12-11 16:23:20,627 INFO supervisord started with pid 1
cypht_app  | 2025-12-11 16:23:21,631 INFO spawned: 'nginx' with pid 19
cypht_app  | 2025-12-11 16:23:21,635 INFO spawned: 'php-fpm' with pid 20
cypht_app  | Cannot load Xdebug - it was already loaded
cypht_app  | [11-Dec-2025 16:23:21] NOTICE: fpm is running, pid 20
cypht_app  | [11-Dec-2025 16:23:21] NOTICE: ready to handle connections
cypht_app  | 2025-12-11 16:23:22,699 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cypht_app  | 2025-12-11 16:23:22,699 INFO success: php-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
cypht_app  | 127.0.0.1 -  11/Dec/2025:16:23:42 +0000 "GET /index.php" 200
cypht_app  | NOTICE: PHP message: Array
cypht_app  | (
cypht_app  |     [0] => INFO: Using Hm_DB_Session with Hm_Auth_DB
cypht_app  |     [1] => INFO: Using DB user configuration
cypht_app  |     [2] => WARNING: Already registered module for ajax_combined_message_list re-attempted: load_user_data
cypht_app  |     [3] => WARNING: Already registered module for ajax_imap_debug re-attempted: profile_data
cypht_app  |     [4] => WARNING: Already registered module for servers re-attempted: compose_profile_data
cypht_app  |     [5] => INFO: Using sapi: fpm-fcgi
cypht_app  |     [6] => INFO: Request type: HTTP
cypht_app  |     [7] => INFO: Request path: /
cypht_app  |     [8] => INFO: TLS request: 0
cypht_app  |     [9] => INFO: Mobile request: 0
cypht_app  |     [10] => INFO: Page ID: home
cypht_app  |     [11] => INFO: Using Hm_Cache for cache
cypht_app  |     [12] => DANGER: Redis connect failed
cypht_app  |     [13] => INFO: CACHE backend using: memcache
cypht_app  |     [14] => WARNING: TRANSLATION NOT FOUND :Cypht:
cypht_app  |     [15] => WARNING: TRANSLATION NOT FOUND :This action cannot be undone. Are you sure you want to delete this?:
cypht_app  |     [16] => INFO: PHP version 8.1.33
cypht_app  |     [17] => INFO: Zend version 4.1.33
cypht_app  |     [18] => INFO: Peak Memory: 8192
cypht_app  |     [19] => INFO: PID: 25
cypht_app  |     [20] => INFO: Included files: 145
cypht_app  | )

[...]

cypht_app  | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET / HTTP/1.1" 200 169163 "https://subdomain.mydomain.eu/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
cypht_app  | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET /site.css?v=bFx6Hfbfbbrgous0wBm0wv%2FayWtOiK31nQfxik6ipvg%3D HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
cypht_app  | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET /modules/themes/assets/default/css/default.css?v=bFx6Hfbfbbrgous0wBm0wv%2FayWtOiK31nQfxik6ipvg%3D HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
cypht_app  | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET /site.js?v=bFx6Hfbfbbrgous0wBm0wv%2FayWtOiK31nQfxik6ipvg%3D HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
cypht_app  | NOTICE: PHP message: Array
cypht_app  | (
cypht_app  |     [0] => INFO: Using Hm_DB_Session with Hm_Auth_DB
cypht_app  |     [1] => INFO: Using DB user configuration
cypht_app  |     [2] => WARNING: Already registered module for ajax_combined_message_list re-attempted: load_user_data
cypht_app  |     [3] => WARNING: Already registered module for ajax_imap_debug re-attempted: profile_data
cypht_app  |     [4] => WARNING: Already registered module for servers re-attempted: compose_profile_data
cypht_app  |     [5] => INFO: Using sapi: fpm-fcgi
cypht_app  |     [6] => INFO: Request type: HTTP
cypht_app  |     [7] => INFO: Request path: /third_party/push.min.js/
cypht_app  |     [8] => INFO: TLS request: 0
cypht_app  |     [9] => INFO: Mobile request: 0
cypht_app  |     [10] => INFO: Page ID: home
cypht_app  | 127.0.0.1 -  11/Dec/2025:16:24:37 +0000 "GET /index.php" 200
cypht_app  |     [11] => INFO: Using Hm_Cache for cache
cypht_app  |     [12] => DANGER: Redis connect failed
cypht_app  |     [13] => INFO: CACHE backend using: memcache
cypht_app  |     [14] => INFO: Connecting to dsn: mysql:host=db;port=3306;dbname=cypht
cypht_app  |     [15] => SUCCESS: LOGGED IN
cypht_app  |     [16] => WARNING: CACHE: miss for "feed_read_uids" using memcache
cypht_app  |     [17] => INFO: TYPE CONVERSION: boolean to string for encrypt_ajax_requests
cypht_app  |     [18] => INFO: TYPE CONVERSION: boolean to string for encrypt_local_storage
cypht_app  |     [19] => INFO: TYPE CONVERSION: boolean to string for warn_for_unsaved_changes
cypht_app  |     [20] => WARNING: TRANSLATION NOT FOUND :This action cannot be undone. Are you sure you want to delete this?:
cypht_app  |     [21] => WARNING: TRANSLATION NOT FOUND :You don't have any profile(s):
cypht_app  |     [22] => WARNING: TRANSLATION NOT FOUND :Cypht is a webmail aggregator client. You can use it to access your E-mail accounts from any server or service that offers any of the main protocols: IMAP/SMTP, Exchange Web Services (EWS) or the newest protocol: JMAP (RFC8621).:
cypht_app  |     [23] => WARNING: TRANSLATION NOT FOUND :Edit Permissions:
cypht_app  |     [24] => WARNING: TRANSLATION NOT FOUND :User:
cypht_app  |     [25] => WARNING: TRANSLATION NOT FOUND :Permissions:
cypht_app  |     [26] => WARNING: TRANSLATION NOT FOUND :Actions:
cypht_app  |     [27] => WARNING: TRANSLATION NOT FOUND :Identifier:
cypht_app  |     [28] => WARNING: TRANSLATION NOT FOUND :All users (anyone):
cypht_app  |     [29] => WARNING: TRANSLATION NOT FOUND :Guests (anonymous):
cypht_app  |     [30] => WARNING: TRANSLATION NOT FOUND :Access Rights:
cypht_app  |     [31] => WARNING: TRANSLATION NOT FOUND :Write:
cypht_app  |     [32] => INFO: PHP version 8.1.33
cypht_app  |     [33] => INFO: Zend version 4.1.33
cypht_app  |     [34] => INFO: Peak Memory: 4096
cypht_app  |     [35] => INFO: PID: 25
cypht_app  |     [36] => INFO: Included files: 145
cypht_app  | )
cypht_app  | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET /third_party/push.min.js HTTP/1.1" 200 169169 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
cypht_app  | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET /fonts/bootstrap-icons.woff2?e34853135f9e39acf64315236852cd5a HTTP/1.1" 200 134044 "https://subdomain.mydomain.eu/site.css?v=bFx6Hfbfbbrgous0wBm0wv%2FayWtOiK31nQfxik6ipvg%3D" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
cypht_app  | 127.0.0.1 -  11/Dec/2025:16:24:43 +0000 "GET /index.php" 200
cypht_app  | NOTICE: PHP message: Array
cypht_app  | (
cypht_app  |     [0] => INFO: Using Hm_DB_Session with Hm_Auth_DB
cypht_app  |     [1] => INFO: Using DB user configuration
cypht_app  |     [2] => WARNING: Already registered module for ajax_combined_message_list re-attempted: load_user_data
cypht_app  |     [3] => WARNING: Already registered module for ajax_imap_debug re-attempted: profile_data
cypht_app  |     [4] => WARNING: Already registered module for servers re-attempted: compose_profile_data
cypht_app  |     [5] => INFO: Using sapi: fpm-fcgi
cypht_app  |     [6] => INFO: Request type: HTTP
cypht_app  |     [7] => INFO: Request path: /
cypht_app  |     [8] => INFO: TLS request: 0
cypht_app  |     [9] => INFO: Mobile request: 0
cypht_app  |     [10] => INFO: Page ID: home
cypht_app  |     [11] => INFO: Using Hm_Cache for cache
cypht_app  |     [12] => DANGER: Redis connect failed
cypht_app  |     [13] => INFO: CACHE backend using: memcache
cypht_app  |     [14] => WARNING: TRANSLATION NOT FOUND :Cypht:
cypht_app  |     [15] => WARNING: TRANSLATION NOT FOUND :This action cannot be undone. Are you sure you want to delete this?:
cypht_app  |     [16] => INFO: PHP version 8.1.33
cypht_app  |     [17] => INFO: Zend version 4.1.33
cypht_app  |     [18] => INFO: Peak Memory: 4096
cypht_app  |     [19] => INFO: PID: 26
cypht_app  |     [20] => INFO: Included files: 145
cypht_app  | )

[... and then repeating a curl (i guess some kind of hypervisor) ...]

cypht_app  | 127.0.0.1 - - [11/Dec/2025:16:24:43 +0000] "GET / HTTP/1.1" 200 552096 "-" "curl/7.88.1"
cypht_app  | 127.0.0.1 -  11/Dec/2025:16:25:13 +0000 "GET /index.php" 200
cypht_app  | NOTICE: PHP message: Array
cypht_app  | (
cypht_app  |     [0] => INFO: Using Hm_DB_Session with Hm_Auth_DB
cypht_app  |     [1] => INFO: Using DB user configuration
cypht_app  |     [2] => WARNING: Already registered module for ajax_combined_message_list re-attempted: load_user_data
cypht_app  |     [3] => WARNING: Already registered module for ajax_imap_debug re-attempted: profile_data
cypht_app  |     [4] => WARNING: Already registered module for servers re-attempted: compose_profile_data
cypht_app  |     [5] => INFO: Using sapi: fpm-fcgi
cypht_app  |     [6] => INFO: Request type: HTTP
cypht_app  |     [7] => INFO: Request path: /
cypht_app  |     [8] => INFO: TLS request: 0
cypht_app  |     [9] => INFO: Mobile request: 0
cypht_app  |     [10] => INFO: Page ID: home
cypht_app  |     [11] => INFO: Using Hm_Cache for cache
cypht_app  |     [12] => DANGER: Redis connect failed
cypht_app  |     [13] => INFO: CACHE backend using: memcache
cypht_app  |     [14] => WARNING: TRANSLATION NOT FOUND :Cypht:
cypht_app  |     [15] => WARNING: TRANSLATION NOT FOUND :This action cannot be undone. Are you sure you want to delete this?:
cypht_app  |     [16] => INFO: PHP version 8.1.33
cypht_app  |     [17] => INFO: Zend version 4.1.33
cypht_app  |     [18] => INFO: Peak Memory: 4096
cypht_app  |     [19] => INFO: PID: 25
cypht_app  |     [20] => INFO: Included files: 145
cypht_app  | )
<!-- gh-comment-id:3642736334 --> @dakky commented on GitHub (Dec 11, 2025): Of course. Here are my labels attached to the container: ``` labels: - traefik.enable=true - traefik.http.routers.cypth.rule=Host(`subdomain.mydomain.eu`) - traefik.http.routers.cypth.entrypoints=websecure - traefik.http.routers.cypth.tls=true - traefik.http.routers.cypth.tls.certresolver=le - traefik.http.services.cypth.loadbalancer.server.port=80 ``` So basically there are no "special" middlewares or rewrite rules involved. I added a debug container in order to see the requests headers, which are sent to the app: ``` Hostname: cb5060041b89 IP: 127.0.0.1 IP: ::1 IP: 172.18.0.46 RemoteAddr: 172.18.0.11:58432 GET / HTTP/1.1 Host: subdomain.mydomain.eu User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate, br, zstd Accept-Language: de-DE,de;q=0.6 Cache-Control: max-age=0 Priority: u=0, i Sec-Ch-Ua: "Brave";v="143", "Chromium";v="143", "Not A(Brand";v="24" Sec-Ch-Ua-Mobile: ?0 Sec-Ch-Ua-Platform: "Linux" Sec-Fetch-Dest: document Sec-Fetch-Mode: navigate Sec-Fetch-Site: none Sec-Fetch-User: ?1 Sec-Gpc: 1 Upgrade-Insecure-Requests: 1 X-Forwarded-For: xxx.xxx.xxx.xxx X-Forwarded-Host: subdomain.mydomain.eu X-Forwarded-Port: 443 X-Forwarded-Proto: https X-Forwarded-Server: 8ca83705903c X-Real-Ip: xxx.xxx.xxx.xxx ``` oh and of course the logfile (i tried to catch the relevant parts, as it is quite repetative): ``` ➜ docker compose logs cypht cypht_app | Cannot load Xdebug - it was already loaded cypht_app | cypht_app | Attempting to connect to database ... (1/10) cypht_app | Attempting to connect to database ... (2/10) cypht_app | Attempting to connect to database ... (3/10) cypht_app | Attempting to connect to database ... (4/10) cypht_app | Attempting to connect to database ... (5/10) cypht_app | Attempting to connect to database ... (6/10) cypht_app | Attempting to connect to database ... (7/10) cypht_app | Attempting to connect to database ... (8/10) cypht_app | Attempting to connect to database ... (9/10) cypht_app | Attempting to connect to database ... (10/10) cypht_app | Unable to connect to database cypht_app | Cannot load Xdebug - it was already loaded cypht_app | cypht_app | Attempting to connect to database ... (1/10) cypht_app | Attempting to connect to database ... (2/10) cypht_app | Attempting to connect to database ... (3/10) cypht_app | Attempting to connect to database ... (4/10) cypht_app | Attempting to connect to database ... (5/10) cypht_app | Attempting to connect to database ... (6/10) cypht_app | Attempting to connect to database ... (7/10) cypht_app | Database connection successful ... cypht_app | Database is empty. Initializing... cypht_app | Database schema initialized. cypht_app | Migrations table not found. Creating it... cypht_app | Migrations table created. cypht_app | Migrations table populated for new installation. cypht_app | cypht_app | Db setup finished cypht_app | Creating directory for attachments /var/lib/hm3/attachments cypht_app | Cannot load Xdebug - it was already loaded cypht_app | User account created successfully. cypht_app | Cannot load Xdebug - it was already loaded cypht_app | scanning module core ... cypht_app | scanning module contacts ... cypht_app | scanning module local_contacts ... cypht_app | scanning module ldap_contacts ... cypht_app | scanning module gmail_contacts ... cypht_app | scanning module feeds ... cypht_app | scanning module jmap ... cypht_app | scanning module imap ... cypht_app | scanning module smtp ... cypht_app | scanning module account ... cypht_app | scanning module idle_timer ... cypht_app | scanning module desktop_notifications ... cypht_app | scanning module calendar ... cypht_app | scanning module themes ... cypht_app | scanning module nux ... cypht_app | scanning module developer ... cypht_app | scanning module profiles ... cypht_app | scanning module imap_folders ... cypht_app | scanning module sievefilters ... cypht_app | scanning module tags ... cypht_app | scanning module history ... cypht_app | site.css file created cypht_app | site.js file created cypht_app | dynamic.php file written cypht_app | creating production site cypht_app | 2025-12-11 16:23:20,624 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, you can set user=root in the config file to avoid thismessage. cypht_app | 2025-12-11 16:23:20,627 INFO supervisord started with pid 1 cypht_app | 2025-12-11 16:23:21,631 INFO spawned: 'nginx' with pid 19 cypht_app | 2025-12-11 16:23:21,635 INFO spawned: 'php-fpm' with pid 20 cypht_app | Cannot load Xdebug - it was already loaded cypht_app | [11-Dec-2025 16:23:21] NOTICE: fpm is running, pid 20 cypht_app | [11-Dec-2025 16:23:21] NOTICE: ready to handle connections cypht_app | 2025-12-11 16:23:22,699 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) cypht_app | 2025-12-11 16:23:22,699 INFO success: php-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) cypht_app | 127.0.0.1 - 11/Dec/2025:16:23:42 +0000 "GET /index.php" 200 cypht_app | NOTICE: PHP message: Array cypht_app | ( cypht_app | [0] => INFO: Using Hm_DB_Session with Hm_Auth_DB cypht_app | [1] => INFO: Using DB user configuration cypht_app | [2] => WARNING: Already registered module for ajax_combined_message_list re-attempted: load_user_data cypht_app | [3] => WARNING: Already registered module for ajax_imap_debug re-attempted: profile_data cypht_app | [4] => WARNING: Already registered module for servers re-attempted: compose_profile_data cypht_app | [5] => INFO: Using sapi: fpm-fcgi cypht_app | [6] => INFO: Request type: HTTP cypht_app | [7] => INFO: Request path: / cypht_app | [8] => INFO: TLS request: 0 cypht_app | [9] => INFO: Mobile request: 0 cypht_app | [10] => INFO: Page ID: home cypht_app | [11] => INFO: Using Hm_Cache for cache cypht_app | [12] => DANGER: Redis connect failed cypht_app | [13] => INFO: CACHE backend using: memcache cypht_app | [14] => WARNING: TRANSLATION NOT FOUND :Cypht: cypht_app | [15] => WARNING: TRANSLATION NOT FOUND :This action cannot be undone. Are you sure you want to delete this?: cypht_app | [16] => INFO: PHP version 8.1.33 cypht_app | [17] => INFO: Zend version 4.1.33 cypht_app | [18] => INFO: Peak Memory: 8192 cypht_app | [19] => INFO: PID: 25 cypht_app | [20] => INFO: Included files: 145 cypht_app | ) [...] cypht_app | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET / HTTP/1.1" 200 169163 "https://subdomain.mydomain.eu/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" cypht_app | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET /site.css?v=bFx6Hfbfbbrgous0wBm0wv%2FayWtOiK31nQfxik6ipvg%3D HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" cypht_app | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET /modules/themes/assets/default/css/default.css?v=bFx6Hfbfbbrgous0wBm0wv%2FayWtOiK31nQfxik6ipvg%3D HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" cypht_app | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET /site.js?v=bFx6Hfbfbbrgous0wBm0wv%2FayWtOiK31nQfxik6ipvg%3D HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" cypht_app | NOTICE: PHP message: Array cypht_app | ( cypht_app | [0] => INFO: Using Hm_DB_Session with Hm_Auth_DB cypht_app | [1] => INFO: Using DB user configuration cypht_app | [2] => WARNING: Already registered module for ajax_combined_message_list re-attempted: load_user_data cypht_app | [3] => WARNING: Already registered module for ajax_imap_debug re-attempted: profile_data cypht_app | [4] => WARNING: Already registered module for servers re-attempted: compose_profile_data cypht_app | [5] => INFO: Using sapi: fpm-fcgi cypht_app | [6] => INFO: Request type: HTTP cypht_app | [7] => INFO: Request path: /third_party/push.min.js/ cypht_app | [8] => INFO: TLS request: 0 cypht_app | [9] => INFO: Mobile request: 0 cypht_app | [10] => INFO: Page ID: home cypht_app | 127.0.0.1 - 11/Dec/2025:16:24:37 +0000 "GET /index.php" 200 cypht_app | [11] => INFO: Using Hm_Cache for cache cypht_app | [12] => DANGER: Redis connect failed cypht_app | [13] => INFO: CACHE backend using: memcache cypht_app | [14] => INFO: Connecting to dsn: mysql:host=db;port=3306;dbname=cypht cypht_app | [15] => SUCCESS: LOGGED IN cypht_app | [16] => WARNING: CACHE: miss for "feed_read_uids" using memcache cypht_app | [17] => INFO: TYPE CONVERSION: boolean to string for encrypt_ajax_requests cypht_app | [18] => INFO: TYPE CONVERSION: boolean to string for encrypt_local_storage cypht_app | [19] => INFO: TYPE CONVERSION: boolean to string for warn_for_unsaved_changes cypht_app | [20] => WARNING: TRANSLATION NOT FOUND :This action cannot be undone. Are you sure you want to delete this?: cypht_app | [21] => WARNING: TRANSLATION NOT FOUND :You don't have any profile(s): cypht_app | [22] => WARNING: TRANSLATION NOT FOUND :Cypht is a webmail aggregator client. You can use it to access your E-mail accounts from any server or service that offers any of the main protocols: IMAP/SMTP, Exchange Web Services (EWS) or the newest protocol: JMAP (RFC8621).: cypht_app | [23] => WARNING: TRANSLATION NOT FOUND :Edit Permissions: cypht_app | [24] => WARNING: TRANSLATION NOT FOUND :User: cypht_app | [25] => WARNING: TRANSLATION NOT FOUND :Permissions: cypht_app | [26] => WARNING: TRANSLATION NOT FOUND :Actions: cypht_app | [27] => WARNING: TRANSLATION NOT FOUND :Identifier: cypht_app | [28] => WARNING: TRANSLATION NOT FOUND :All users (anyone): cypht_app | [29] => WARNING: TRANSLATION NOT FOUND :Guests (anonymous): cypht_app | [30] => WARNING: TRANSLATION NOT FOUND :Access Rights: cypht_app | [31] => WARNING: TRANSLATION NOT FOUND :Write: cypht_app | [32] => INFO: PHP version 8.1.33 cypht_app | [33] => INFO: Zend version 4.1.33 cypht_app | [34] => INFO: Peak Memory: 4096 cypht_app | [35] => INFO: PID: 25 cypht_app | [36] => INFO: Included files: 145 cypht_app | ) cypht_app | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET /third_party/push.min.js HTTP/1.1" 200 169169 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" cypht_app | 172.18.0.11 - - [11/Dec/2025:16:24:37 +0000] "GET /fonts/bootstrap-icons.woff2?e34853135f9e39acf64315236852cd5a HTTP/1.1" 200 134044 "https://subdomain.mydomain.eu/site.css?v=bFx6Hfbfbbrgous0wBm0wv%2FayWtOiK31nQfxik6ipvg%3D" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" cypht_app | 127.0.0.1 - 11/Dec/2025:16:24:43 +0000 "GET /index.php" 200 cypht_app | NOTICE: PHP message: Array cypht_app | ( cypht_app | [0] => INFO: Using Hm_DB_Session with Hm_Auth_DB cypht_app | [1] => INFO: Using DB user configuration cypht_app | [2] => WARNING: Already registered module for ajax_combined_message_list re-attempted: load_user_data cypht_app | [3] => WARNING: Already registered module for ajax_imap_debug re-attempted: profile_data cypht_app | [4] => WARNING: Already registered module for servers re-attempted: compose_profile_data cypht_app | [5] => INFO: Using sapi: fpm-fcgi cypht_app | [6] => INFO: Request type: HTTP cypht_app | [7] => INFO: Request path: / cypht_app | [8] => INFO: TLS request: 0 cypht_app | [9] => INFO: Mobile request: 0 cypht_app | [10] => INFO: Page ID: home cypht_app | [11] => INFO: Using Hm_Cache for cache cypht_app | [12] => DANGER: Redis connect failed cypht_app | [13] => INFO: CACHE backend using: memcache cypht_app | [14] => WARNING: TRANSLATION NOT FOUND :Cypht: cypht_app | [15] => WARNING: TRANSLATION NOT FOUND :This action cannot be undone. Are you sure you want to delete this?: cypht_app | [16] => INFO: PHP version 8.1.33 cypht_app | [17] => INFO: Zend version 4.1.33 cypht_app | [18] => INFO: Peak Memory: 4096 cypht_app | [19] => INFO: PID: 26 cypht_app | [20] => INFO: Included files: 145 cypht_app | ) [... and then repeating a curl (i guess some kind of hypervisor) ...] cypht_app | 127.0.0.1 - - [11/Dec/2025:16:24:43 +0000] "GET / HTTP/1.1" 200 552096 "-" "curl/7.88.1" cypht_app | 127.0.0.1 - 11/Dec/2025:16:25:13 +0000 "GET /index.php" 200 cypht_app | NOTICE: PHP message: Array cypht_app | ( cypht_app | [0] => INFO: Using Hm_DB_Session with Hm_Auth_DB cypht_app | [1] => INFO: Using DB user configuration cypht_app | [2] => WARNING: Already registered module for ajax_combined_message_list re-attempted: load_user_data cypht_app | [3] => WARNING: Already registered module for ajax_imap_debug re-attempted: profile_data cypht_app | [4] => WARNING: Already registered module for servers re-attempted: compose_profile_data cypht_app | [5] => INFO: Using sapi: fpm-fcgi cypht_app | [6] => INFO: Request type: HTTP cypht_app | [7] => INFO: Request path: / cypht_app | [8] => INFO: TLS request: 0 cypht_app | [9] => INFO: Mobile request: 0 cypht_app | [10] => INFO: Page ID: home cypht_app | [11] => INFO: Using Hm_Cache for cache cypht_app | [12] => DANGER: Redis connect failed cypht_app | [13] => INFO: CACHE backend using: memcache cypht_app | [14] => WARNING: TRANSLATION NOT FOUND :Cypht: cypht_app | [15] => WARNING: TRANSLATION NOT FOUND :This action cannot be undone. Are you sure you want to delete this?: cypht_app | [16] => INFO: PHP version 8.1.33 cypht_app | [17] => INFO: Zend version 4.1.33 cypht_app | [18] => INFO: Peak Memory: 4096 cypht_app | [19] => INFO: PID: 25 cypht_app | [20] => INFO: Included files: 145 cypht_app | ) ```
Author
Owner

@IrAlfred commented on GitHub (Dec 12, 2025):

Thank you @dakky for providing these details

<!-- gh-comment-id:3645044323 --> @IrAlfred commented on GitHub (Dec 12, 2025): Thank you @dakky for providing these details
Author
Owner

@indridieinarsson commented on GitHub (Dec 12, 2025):

@dakky : Have you tried setting the DISABLE_ORIGIN_CHECK environment variable to false? It's explained here :
github.com/cypht-org/cypht@7c4c2bfe32/config/app.php (L256)

I am running cypht behind traefik, and setting this to false was necessary for it to work.

There is a .env.example file in the repo, it is handy to use that as a starting point and include it via

env_file:
  - myenvvars.env
<!-- gh-comment-id:3646959425 --> @indridieinarsson commented on GitHub (Dec 12, 2025): @dakky : Have you tried setting the DISABLE_ORIGIN_CHECK environment variable to false? It's explained here : https://github.com/cypht-org/cypht/blob/7c4c2bfe32b01c405292adffc0fc5225396660a3/config/app.php#L256 I am running cypht behind traefik, and setting this to false was necessary for it to work. There is a .env.example file in the repo, it is handy to use that as a starting point and include it via ``` env_file: - myenvvars.env ```
Author
Owner

@dakky commented on GitHub (Dec 12, 2025):

unfortunetely this does not change anything. And false is the default as your codesnipplet shows. But i tried true too with no change in the behavior.

<!-- gh-comment-id:3647622428 --> @dakky commented on GitHub (Dec 12, 2025): unfortunetely this does not change anything. And `false` is the default as your codesnipplet shows. But i tried `true` too with no change in the behavior.
Author
Owner

@dakky commented on GitHub (Dec 12, 2025):

omfg ... it is working. it seems the latest tag ist totally broken. I set it statically to 2.5.1 and now its working.

examing this on dockerhub looks strange:

latest:

af4d5f5695f0   linux/amd64   284.92 MB

2.5.1:

01aa71740853   linux/386   284.91 MB

when looking deeper the latest tag points to 2.5.0, which seems to have at least an issue.

so basically 2 things need fixing:

  • latest should point to the latest release, which it doesn't
  • 2.5.0 image should be examined and probably be removed/rebuild so that a standard setup is working
<!-- gh-comment-id:3647683631 --> @dakky commented on GitHub (Dec 12, 2025): omfg ... it is working. it seems the latest tag ist totally broken. I set it statically to 2.5.1 and now its working. examing this on dockerhub looks strange: latest: ``` af4d5f5695f0 linux/amd64 284.92 MB ``` 2.5.1: ``` 01aa71740853 linux/386 284.91 MB ``` when looking deeper the latest tag points to 2.5.0, which seems to have at least an issue. so basically 2 things need fixing: * latest should point to the latest release, which it doesn't * 2.5.0 image should be examined and probably be removed/rebuild so that a standard setup is working
Author
Owner

@indridieinarsson commented on GitHub (Dec 13, 2025):

unfortunetely this does not change anything. And false is the default as your codesnipplet shows. But i tried true too with no change in the behavior.

Sorry for messing things up.
DISABLE_ORIGIN_CHECK=true (this time copy-paste from my config, to circumvent my goldfish-memory)
this is how it is in my config. Disable the origin check, since the reverse proxy messes with the origin of the cookies. Or that's the way I understood it when setting things up.

But good thing you got it working anyway, just wanted to clear things up for future error-hunters, since my last comment was factually wrong.

And it's always a good idea to take a look at the logs (docker compose logs) and look out for errors in there.

<!-- gh-comment-id:3648634372 --> @indridieinarsson commented on GitHub (Dec 13, 2025): > unfortunetely this does not change anything. And `false` is the default as your codesnipplet shows. But i tried `true` too with no change in the behavior. Sorry for messing things up. DISABLE_ORIGIN_CHECK=true (this time copy-paste from my config, to circumvent my goldfish-memory) this is how it is in my config. Disable the origin check, since the reverse proxy messes with the origin of the cookies. Or that's the way I understood it when setting things up. But good thing you got it working anyway, just wanted to clear things up for future error-hunters, since my last comment was factually wrong. And it's always a good idea to take a look at the logs (docker compose logs) and look out for errors in there.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cypht#713
No description provided.