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.
  • necrevistonnezrN necrevistonnezr

    Despite the last stable release being two years old, this project is very actively developed in dev-master (https://github.com/jasonmunro/cypht) and the Docker imaged referenced by @nebulon is regularly updated as well.

    Some of the modules are interesting as well (https://cypht.org/modules.html) :

    • 2fa: TOTP based 2 factor authentication using the Google Authenticator mobile app
    • api_login: Login using an API to provide single sign on ability
      contacts: Contact management. Requires at least one contact backend module set to be enabled
    • ldap_contacts: Support for contacts stored in LDAP
    • dynamic_login: Allows user to authenticate against a list of popular mail services, or to auto-discover the services for the specified E-mail address
    • feeds: RSS/ATOM feed support
    • imap: IMAP E-mail account support
    • imap_folders: IMAP E-mail folder management support
      pop3: POP3 E-mail account support
    • profiles: Profiles to set reply-to, name, and signature to associated E-mail accounts
    • saved_searches: Save and re-run searches easily
    • tags: Tag content for easy searching/filtering. Not yet functional

    @jdaviescoates was looking for tags...?

    jdaviescoatesJ Online
    jdaviescoatesJ Online
    jdaviescoates
    wrote on last edited by
    #7

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

    tags: Tag content for easy searching/filtering. Not yet functional

    I was indeed. Shame they aren't yet functional. But at least they are working on them!

    I use Cloudron with Gandi & Hetzner

    robiR 1 Reply Last reply
    0
    • jdaviescoatesJ jdaviescoates

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

      tags: Tag content for easy searching/filtering. Not yet functional

      I was indeed. Shame they aren't yet functional. But at least they are working on them!

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

      @jdaviescoates it's impressive it's on the list, and poking them on it may raise visibility and chance of a present for the holidays.

      Conscious tech

      necrevistonnezrN 1 Reply Last reply
      1
      • robiR robi

        @jdaviescoates it's impressive it's on the list, and poking them on it may raise visibility and chance of a present for the holidays.

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

        Some older screenshots from 2016: https://unencumberedbyfacts.com/2016/09/08/cypht-webmail-screen-shots/
        Some interesting comparisons: https://wikisuite.org/Why-Cyrus-IMAP-and-Cypht

        1 Reply Last reply
        1
        • 32463 Offline
          32463 Offline
          3246
          wrote on last edited by
          #10

          Has anyone gotten this to work either as an app or via the LAMP app?

          I am struggling to get it working with either LDAP or MySQL 😒

          πŸ‘‰ Find our more www.bebraver.online

          32463 1 Reply Last reply
          2
          • 32463 3246

            Has anyone gotten this to work either as an app or via the LAMP app?

            I am struggling to get it working with either LDAP or MySQL 😒

            32463 Offline
            32463 Offline
            3246
            wrote on last edited by
            #11

            Got it working using IMAP auth, logging in using an email account (my Cloudron one) and storing the session.

            πŸ‘‰ Find our more www.bebraver.online

            necrevistonnezrN 1 Reply Last reply
            5
            • 32463 3246

              Got it working using IMAP auth, logging in using an email account (my Cloudron one) and storing the session.

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

              @3246 Cool - maybe you can share a quick how-to?

              32463 1 Reply Last reply
              3
              • necrevistonnezrN necrevistonnezr

                @3246 Cool - maybe you can share a quick how-to?

                32463 Offline
                32463 Offline
                3246
                wrote on last edited by 3246
                #13

                @necrevistonnezr πŸ‘

                1. Install Cypht app (d'uh)

                2. Open the Filemanager for the app and navigate to cypht / hm3.ini

                3. On line 55 change the value to auth_type = IMAP

                4. In the 'IMAP Authentication' section (from line 77 onwards), amend the IMAP server settings to suit your server. I have used the Cloudron one - simples.

                ; IMAP Authentication
                ; -------------------
                ; If auth_type is set to IMAP, configure the IMAP server to authenticate against
                ; with the following settings, otherwise these are ignored.
                ;
                ; This is just a label used in the UI. It can be set to anything
                imap_auth_name=Cloudron
                
                ; The hostname or IP address of the IMAP server to authenticate to
                imap_auth_server=mysupercoolcloudron.server
                
                ; The port the IMAP server is listening on.
                imap_auth_port=993
                
                ; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to
                ; true to enable TLS connections. If you want to use IMAP STARTTLS, do NOT
                ; enable this. This is only for TLS enabled sockets (typically on port 993).
                imap_auth_tls=true
                
                1. On line 157 change the value to user_config_type=file

                This way no db is needed and settings are kept in files.

                1. Make sure that the location for where cypht will place the files exists. For example, on line 165, change the value to user_settings_dir=/app/data/hm3/users

                Line 173 attachment_dir=/app/data/hm3/attachments

                Line 181 app_data_dir=/app/data/hm3/app_data

                1. Save the file and close the Filemanager

                2. Open the Terminal for the app and change to the cypht directory: cd ../data/cypht/

                3. Run the following command to update the config for cypht: sudo php ./scripts/config_gen.php

                4. Get out of the Terminal and restart the app

                5. Login using an appropriate account that authenticates against the IMAP server you added to the config.

                Enjoy and let me know how you get on πŸ™‚

                πŸ‘‰ Find our more www.bebraver.online

                necrevistonnezrN 1 Reply Last reply
                6
                • 32463 3246

                  @necrevistonnezr πŸ‘

                  1. Install Cypht app (d'uh)

                  2. Open the Filemanager for the app and navigate to cypht / hm3.ini

                  3. On line 55 change the value to auth_type = IMAP

                  4. In the 'IMAP Authentication' section (from line 77 onwards), amend the IMAP server settings to suit your server. I have used the Cloudron one - simples.

                  ; IMAP Authentication
                  ; -------------------
                  ; If auth_type is set to IMAP, configure the IMAP server to authenticate against
                  ; with the following settings, otherwise these are ignored.
                  ;
                  ; This is just a label used in the UI. It can be set to anything
                  imap_auth_name=Cloudron
                  
                  ; The hostname or IP address of the IMAP server to authenticate to
                  imap_auth_server=mysupercoolcloudron.server
                  
                  ; The port the IMAP server is listening on.
                  imap_auth_port=993
                  
                  ; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to
                  ; true to enable TLS connections. If you want to use IMAP STARTTLS, do NOT
                  ; enable this. This is only for TLS enabled sockets (typically on port 993).
                  imap_auth_tls=true
                  
                  1. On line 157 change the value to user_config_type=file

                  This way no db is needed and settings are kept in files.

                  1. Make sure that the location for where cypht will place the files exists. For example, on line 165, change the value to user_settings_dir=/app/data/hm3/users

                  Line 173 attachment_dir=/app/data/hm3/attachments

                  Line 181 app_data_dir=/app/data/hm3/app_data

                  1. Save the file and close the Filemanager

                  2. Open the Terminal for the app and change to the cypht directory: cd ../data/cypht/

                  3. Run the following command to update the config for cypht: sudo php ./scripts/config_gen.php

                  4. Get out of the Terminal and restart the app

                  5. Login using an appropriate account that authenticates against the IMAP server you added to the config.

                  Enjoy and let me know how you get on πŸ™‚

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

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

                  @necrevistonnezr πŸ‘

                  1. Install Cypht app (d'uh)

                  Thanks!
                  You left out one juicy part - did you like install this… into the LAMP app? Is there any special folder to use for the source (as per https://cypht.org/install.html)?

                  32463 1 Reply Last reply
                  1
                  • necrevistonnezrN necrevistonnezr

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

                    @necrevistonnezr πŸ‘

                    1. Install Cypht app (d'uh)

                    Thanks!
                    You left out one juicy part - did you like install this… into the LAMP app? Is there any special folder to use for the source (as per https://cypht.org/install.html)?

                    32463 Offline
                    32463 Offline
                    3246
                    wrote on last edited by
                    #15

                    @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.

                    πŸ‘‰ Find our more www.bebraver.online

                    necrevistonnezrN 1 Reply Last reply
                    1
                    • humptydumptyH Offline
                      humptydumptyH Offline
                      humptydumpty
                      wrote on last edited by
                      #16

                      Is there a demo of Cypht somewhere? I can't find any on their site.

                      1 Reply Last reply
                      0
                      • 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 Offline
                        necrevistonnezrN Offline
                        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
                                          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