Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. Cypht - Lightweight open source webmail application written in PHP and JavaScript

Cypht - Lightweight open source webmail application written in PHP and JavaScript

Scheduled Pinned Locked Moved App Wishlist
44 Posts 16 Posters 7.9k Views 15 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.
  • 32463 3246

    @necrevistonnezr ah, yes 🙂 I just followed the install guide on their website. It's pretty straight forward I found: https://cypht.org/install.html

    The approach is slightly more complex than downloading an archive and pointing it to a database but actually pretty neat and quick.

    necrevistonnezrN Online
    necrevistonnezrN Online
    necrevistonnezr
    wrote on last edited by
    #17

    @3246 said in Cypht - Lightweight open source webmail application written in PHP and JavaScript:

    @necrevistonnezr ah, yes 🙂 I just followed the install guide on their website. It's pretty straight forward I found: https://cypht.org/install.html

    The approach is slightly more complex than downloading an archive and pointing it to a database but actually pretty neat and quick.

    • Installed Lamp App
    • Downloaded the Code to /app/data/ and unzipped, cd to the unzipped dir
    • Tried to run composer install, getting an error [LogicException] No lockfile found. Unable to read locked packages
    • Run composer diagnose: Getting the error
    Checking pubkeys: FAIL
    Missing pubkey for tags verification
    Missing pubkey for dev verification
    Run composer self-update --update-keys to set them up
    
    • run composer self-update --update-keys, I have to open https://composer.github.io/pubkeys.html to find the latest keys (WTF?!)
    • copy and paste the public key, get an error [ErrorException] file_put_contents(/root/.config/composer/keys.dev.pub): failed to open stream: No such file or directory

    Grrrrr....

    robiR 1 Reply Last reply
    1
    • D Offline
      D Offline
      dozod
      wrote on last edited by
      #18

      Would really like to see this on Cloudron. It's a powerful unified inbox solution + rss reader.

      1 Reply Last reply
      2
      • girishG Offline
        girishG Offline
        girish
        Staff
        wrote on last edited by
        #19

        This does look good! Has sieve support, imap etc. All the things we need to get it working out of the box with Cloudron mail. Will check it out.

        1 Reply Last reply
        4
        • necrevistonnezrN necrevistonnezr

          @3246 said in Cypht - Lightweight open source webmail application written in PHP and JavaScript:

          @necrevistonnezr ah, yes 🙂 I just followed the install guide on their website. It's pretty straight forward I found: https://cypht.org/install.html

          The approach is slightly more complex than downloading an archive and pointing it to a database but actually pretty neat and quick.

          • Installed Lamp App
          • Downloaded the Code to /app/data/ and unzipped, cd to the unzipped dir
          • Tried to run composer install, getting an error [LogicException] No lockfile found. Unable to read locked packages
          • Run composer diagnose: Getting the error
          Checking pubkeys: FAIL
          Missing pubkey for tags verification
          Missing pubkey for dev verification
          Run composer self-update --update-keys to set them up
          
          • run composer self-update --update-keys, I have to open https://composer.github.io/pubkeys.html to find the latest keys (WTF?!)
          • copy and paste the public key, get an error [ErrorException] file_put_contents(/root/.config/composer/keys.dev.pub): failed to open stream: No such file or directory

          Grrrrr....

          robiR Offline
          robiR Offline
          robi
          wrote on last edited by robi
          #20

          @necrevistonnezr said in Cypht - Lightweight open source webmail application written in PHP and JavaScript:

          copy and paste the public key, get an error [ErrorException] file_put_contents(/root/.config/composer/keys.dev.pub): failed to open stream: No such file or directory

          set the HOME=/app/data env var to make this work

          LAMP app and terminal session should do that automagically IMO @staff

          Conscious tech

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

            @staff Was investigating this independently. Should have realized that Team Cloudron has been scoping it out for years. +1 for bundling this. Seems like a better email option that some others we already have.

            1 Reply Last reply
            1
            • robiR Offline
              robiR Offline
              robi
              wrote on last edited by
              #22

              @Kubernetes ?

              Conscious tech

              1 Reply Last reply
              1
              • KubernetesK Offline
                KubernetesK Offline
                Kubernetes
                App Dev
                wrote on last edited by Kubernetes
                #23

                I started to create a package in my Repo

                • It is not yet working
                • PHP needs to be activated in nginx
                • The hm3.ini is very basic and needs improvement (missing SMTP config, Database Config, LDAP Config)
                • there might be more issues when PHP is running
                • easy installer will not be ready before the package is usable
                1 Reply Last reply
                3
                • KubernetesK Offline
                  KubernetesK Offline
                  Kubernetes
                  App Dev
                  wrote on last edited by Kubernetes
                  #24

                  Grmpf.... I am totally lost with getting nginx up and running....

                  I receive these error logs:

                  root@b64767c7-9e50-475e-9f57-40b454d06b97:/app/code# ./start.sh 
                  ==> Starting App
                  2024-02-06 17:29:06,821 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 this message.
                  2024-02-06 17:29:06,824 INFO supervisord started with pid 35
                  2024-02-06 17:29:07,829 INFO spawned: 'nginx' with pid 46
                  nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (30: Read-only file system)
                  2024/02/06 17:29:07 [warn] 46#46: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
                  2024/02/06 17:29:07 [emerg] 46#46: mkdir() "/run/client_body" failed (13: Permission denied)
                  2024-02-06 17:29:07,863 INFO exited: nginx (exit status 1; not expected)
                  

                  I don't understand why it still tries to use /var/log/nginx/error.log

                  I am using supervisord to start, in nginx.conf the access and error logs are directed to /run . even in the nginx default I refer to /run for the logging.

                  I have updated the source in my repo, if someone want to have a look

                  girishG 1 Reply Last reply
                  1
                  • timconsidineT Offline
                    timconsidineT Offline
                    timconsidine
                    App Dev
                    wrote on last edited by timconsidine
                    #25

                    I'm not sure, so genuine question : does /run/client_body need to be created in the Dockerfile or start.sh ?

                    The error log is strange as you have set it explicitly.
                    Is this line include /etc/nginx/conf.d/*.conf; including a master conf which overrides the nginx.conf ?
                    Not an nginx expoert, just taking guesses.

                    KubernetesK 1 Reply Last reply
                    2
                    • timconsidineT timconsidine

                      I'm not sure, so genuine question : does /run/client_body need to be created in the Dockerfile or start.sh ?

                      The error log is strange as you have set it explicitly.
                      Is this line include /etc/nginx/conf.d/*.conf; including a master conf which overrides the nginx.conf ?
                      Not an nginx expoert, just taking guesses.

                      KubernetesK Offline
                      KubernetesK Offline
                      Kubernetes
                      App Dev
                      wrote on last edited by
                      #26

                      @timconsidine Thanks for sharing ideas, the path /etc/nginx/conf.d/ is empty

                      1 Reply Last reply
                      0
                      • timconsidineT Offline
                        timconsidineT Offline
                        timconsidine
                        App Dev
                        wrote on last edited by
                        #27

                        Hmmm.
                        I notice that /run/access.log and /run/error.log are owned root:root and are rw-r--r--
                        But processes are running as www-data or cloudron ?
                        Still just chucking stuff around

                        1 Reply Last reply
                        1
                        • robiR Offline
                          robiR Offline
                          robi
                          wrote on last edited by robi
                          #28

                          Perhaps it's looking for an environment variable and when not found it uses a default. Set HOME and whatever else nginx looks for with supervisor.

                          Conscious tech

                          KubernetesK 1 Reply Last reply
                          0
                          • robiR robi

                            Perhaps it's looking for an environment variable and when not found it uses a default. Set HOME and whatever else nginx looks for with supervisor.

                            KubernetesK Offline
                            KubernetesK Offline
                            Kubernetes
                            App Dev
                            wrote on last edited by
                            #29

                            @robi I already tried with HOME, didn't help

                            robiR 1 Reply Last reply
                            0
                            • KubernetesK Offline
                              KubernetesK Offline
                              Kubernetes
                              App Dev
                              wrote on last edited by Kubernetes
                              #30

                              Okay, I got one step further after using a symlink in Dockerfile for the error.log

                              It seems the document root is still broken, because I get
                              Feb 06 20:22:40=> Healtheck error got response status 502

                              Okay, this is because of not properly working php

                              root@da491a6f-01a2-4d9c-859a-e34799e1c3cf:/app/code# tail -f /run/error.log 
                              2024/02/06 19:25:20 [crit] 24#24: *37 connect() to unix:/run/php/php8.1-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 172.18.0.1, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php8.1-fpm.sock:", host: "a101.
                              
                              1 Reply Last reply
                              1
                              • KubernetesK Kubernetes

                                Grmpf.... I am totally lost with getting nginx up and running....

                                I receive these error logs:

                                root@b64767c7-9e50-475e-9f57-40b454d06b97:/app/code# ./start.sh 
                                ==> Starting App
                                2024-02-06 17:29:06,821 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 this message.
                                2024-02-06 17:29:06,824 INFO supervisord started with pid 35
                                2024-02-06 17:29:07,829 INFO spawned: 'nginx' with pid 46
                                nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (30: Read-only file system)
                                2024/02/06 17:29:07 [warn] 46#46: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
                                2024/02/06 17:29:07 [emerg] 46#46: mkdir() "/run/client_body" failed (13: Permission denied)
                                2024-02-06 17:29:07,863 INFO exited: nginx (exit status 1; not expected)
                                

                                I don't understand why it still tries to use /var/log/nginx/error.log

                                I am using supervisord to start, in nginx.conf the access and error logs are directed to /run . even in the nginx default I refer to /run for the logging.

                                I have updated the source in my repo, if someone want to have a look

                                girishG Offline
                                girishG Offline
                                girish
                                Staff
                                wrote on last edited by
                                #31

                                @Kubernetes Can you tell me why cypht requires nginx? You can just modphp like other apps no? Atleast, that's what I see from https://www.cypht.org/install.html . Does it not work in the LAMP app?

                                As for apache itself, see cryptpad or discourse or nginx. They have a readonly config for nginx. They configure various paths that nginx wants to write to.

                                KubernetesK 1 Reply Last reply
                                3
                                • girishG girish

                                  @Kubernetes Can you tell me why cypht requires nginx? You can just modphp like other apps no? Atleast, that's what I see from https://www.cypht.org/install.html . Does it not work in the LAMP app?

                                  As for apache itself, see cryptpad or discourse or nginx. They have a readonly config for nginx. They configure various paths that nginx wants to write to.

                                  KubernetesK Offline
                                  KubernetesK Offline
                                  Kubernetes
                                  App Dev
                                  wrote on last edited by
                                  #32

                                  @girish haha, good question! In fact I prefer nginx because I have "more" experience with it than with apache. I got a bit further now, if that keep failing I may change from nginx to apache 🙂

                                  1 Reply Last reply
                                  1
                                  • KubernetesK Kubernetes

                                    @robi I already tried with HOME, didn't help

                                    robiR Offline
                                    robiR Offline
                                    robi
                                    wrote on last edited by
                                    #33

                                    @Kubernetes hmm, try some debug set commands https://www.baeldung.com/linux/nginx-log-variable-output

                                    this was interesting too:
                                    https://www.baeldung.com/linux/nginx-config-environment-variables
                                    https://stackoverflow.com/questions/21866477/nginx-use-environment-variables

                                    or just stick them in a cyclic memory:2m
                                    https://adamtheautomator.com/nginx-logs/

                                    Conscious tech

                                    1 Reply Last reply
                                    0
                                    • KubernetesK Offline
                                      KubernetesK Offline
                                      Kubernetes
                                      App Dev
                                      wrote on last edited by
                                      #34

                                      @girish thanks for pointing me to Apache. I was able to get it running now. Next problem is the authentication.

                                      1 Reply Last reply
                                      2
                                      • girishG Offline
                                        girishG Offline
                                        girish
                                        Staff
                                        wrote on last edited by
                                        #35

                                        If it has IMAP or SMTP auth, use the "email" addon. Like in roundcube - https://git.cloudron.io/cloudron/roundcube-app/-/blob/master/config.inc.php?ref_type=heads#L9

                                        1 Reply Last reply
                                        3
                                        • KubernetesK Offline
                                          KubernetesK Offline
                                          Kubernetes
                                          App Dev
                                          wrote on last edited by
                                          #36

                                          No luck today, now I just get an error from the App that Invalid auth configuration.

                                          robiR 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

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