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

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. twenty - A Modern Open Source CRM

twenty - A Modern Open Source CRM

Scheduled Pinned Locked Moved App Wishlist
wishlistapp wishlist
43 Posts 18 Posters 6.5k Views 22 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.
  • gobenizzleG Offline
    gobenizzleG Offline
    gobenizzle
    wrote last edited by gobenizzle
    #32

    best open source crm I have seen so far. Miles beyond espo already now.
    I would highly appreciate if this comes to cloudron!

    any word on any plans?

    1 Reply Last reply
    3
    • Z zonzonzon

      @Neiluj
      Currently, I am installing Twenty using Docker Compose as shown below, but I don’t understand what needs to be done when switching to Cloudron. I hope Twenty will be integrated into Cloudron soon. After using it for a while, I found that this CRM is very powerful and customizable to serve different business needs within an enterprise.

      version: '3.8'
      
      services:
        change-vol-ownership:
          image: 'ubuntu:latest'
          user: root
          volumes:
            - 'twenty-server-local-data:/tmp/server-local-data'
            - 'twenty-docker-data:/tmp/docker-data'
          command: |
            bash -c "
              chown -R 1000:1000 /tmp/server-local-data && 
              chown -R 1000:1000 /tmp/docker-data &&
              echo 'Volume ownership changed successfully'
            "
          restart: "no"
          networks:
            - twenty-network
      
        db:
          image: 'twentycrm/twenty-postgres-spilo:latest'
          container_name: twenty-db
          volumes:
            - 'twenty-db-data:/home/postgres/pgdata'
          environment:
            PGUSER: postgres
            POSTGRES_PASSWORD: ${PG_DATABASE_PASSWORD:-ChangeThisPassword123!}
            POSTGRES_DB: postgres
            SPILO_ROLE: master
          networks:
            - twenty-network
          restart: unless-stopped
          healthcheck:
            test: ["CMD-SHELL", "pg_isready -U postgres"]
            interval: 30s
            timeout: 10s
            retries: 5
            start_period: 60s
      
        redis:
          image: 'redis:7-alpine'
          container_name: twenty-redis
          volumes:
            - 'twenty-redis-data:/data'
          networks:
            - twenty-network
          restart: unless-stopped
          healthcheck:
            test: ["CMD", "redis-cli", "ping"]
            interval: 30s
            timeout: 10s
            retries: 5
            start_period: 10s
      
        server:
          image: 'twentycrm/twenty:v1.1'
          container_name: twenty-server
          depends_on:
            change-vol-ownership:
              condition: service_completed_successfully
            db:
              condition: service_healthy
            redis:
              condition: service_healthy
          volumes:
            - 'twenty-server-local-data:/app/packages/twenty-server/.local-storage'
            - 'twenty-docker-data:/app/docker-data'
          ports:
            - "${EXTERNAL_PORT:-3000}:3000"
          environment:
            NODE_PORT: 3000
            PG_DATABASE_URL: 'postgres://${PG_DATABASE_USER:-postgres}:${PG_DATABASE_PASSWORD:-ChangeThisPassword123!}@db:5432/postgres'
            SERVER_URL: '${SERVER_URL:-http://localhost:3000}'
            REDIS_URL: 'redis://redis:6379'
            APP_SECRET: '${APP_SECRET:-please-change-this-secret-key}'
            STORAGE_TYPE: '${STORAGE_TYPE:-local}'
            STORAGE_LOCAL_PATH: '${STORAGE_LOCAL_PATH:-.local-storage}'
            
            # Email Configuration
            EMAIL_DRIVER: '${EMAIL_DRIVER:-logger}'
            EMAIL_FROM_ADDRESS: '${EMAIL_FROM_ADDRESS:-noreply@localhost}'
            EMAIL_FROM_NAME: '${EMAIL_FROM_NAME:-Twenty CRM}'
            EMAIL_SMTP_HOST: '${EMAIL_SMTP_HOST:-}'
            EMAIL_SMTP_PORT: '${EMAIL_SMTP_PORT:-587}'
            EMAIL_SMTP_USER: '${EMAIL_SMTP_USER:-}'
            EMAIL_SMTP_PASSWORD: '${EMAIL_SMTP_PASSWORD:-}'
            EMAIL_SYSTEM_ADDRESS: '${EMAIL_SYSTEM_ADDRESS:-admin@localhost}'
            
            # AI Features
            IS_AI_ENABLED: '${IS_AI_ENABLED:-false}'
            OPENAI_API_KEY: '${OPENAI_API_KEY:-}'
            OPENAI_API_MODEL: '${OPENAI_API_MODEL:-gpt-4}'
            
            # Authentication
            AUTH_PASSWORD_ENABLED: '${AUTH_PASSWORD_ENABLED:-true}'
            IS_EMAIL_VERIFICATION_REQUIRED: '${IS_EMAIL_VERIFICATION_REQUIRED:-false}'
            IS_MULTIWORKSPACE_ENABLED: '${IS_MULTIWORKSPACE_ENABLED:-false}'
            
            # Rate Limiting
            API_RATE_LIMITING_LIMIT: '${API_RATE_LIMITING_LIMIT:-200}'
            API_RATE_LIMITING_TTL: '${API_RATE_LIMITING_TTL:-60}'
            
            # Tokens
            LOGIN_TOKEN_EXPIRES_IN: '${LOGIN_TOKEN_EXPIRES_IN:-30d}'
            PASSWORD_RESET_TOKEN_EXPIRES_IN: '${PASSWORD_RESET_TOKEN_EXPIRES_IN:-5m}'
            EMAIL_VERIFICATION_TOKEN_EXPIRES_IN: '${EMAIL_VERIFICATION_TOKEN_EXPIRES_IN:-24h}'
            
            # Message Queue
            MESSAGE_QUEUE_TYPE: '${MESSAGE_QUEUE_TYPE:-bull-mq}'
            
            # Features
            CALENDAR_PROVIDER_GOOGLE_ENABLED: '${CALENDAR_PROVIDER_GOOGLE_ENABLED:-false}'
            MESSAGING_PROVIDER_GMAIL_ENABLED: '${MESSAGING_PROVIDER_GMAIL_ENABLED:-false}'
            
            # OAuth (Optional)
            AUTH_GOOGLE_ENABLED: '${AUTH_GOOGLE_ENABLED:-false}'
            AUTH_GOOGLE_CLIENT_ID: '${AUTH_GOOGLE_CLIENT_ID:-}'
            AUTH_GOOGLE_CLIENT_SECRET: '${AUTH_GOOGLE_CLIENT_SECRET:-}'
            AUTH_GOOGLE_CALLBACK_URL: '${AUTH_GOOGLE_CALLBACK_URL:-}'
            
            AUTH_MICROSOFT_ENABLED: '${AUTH_MICROSOFT_ENABLED:-false}'
            AUTH_MICROSOFT_CLIENT_ID: '${AUTH_MICROSOFT_CLIENT_ID:-}'
            AUTH_MICROSOFT_CLIENT_SECRET: '${AUTH_MICROSOFT_CLIENT_SECRET:-}'
            AUTH_MICROSOFT_CALLBACK_URL: '${AUTH_MICROSOFT_CALLBACK_URL:-}'
            
          networks:
            - twenty-network
          restart: unless-stopped
          healthcheck:
            test: ["CMD-SHELL", "curl -f http://localhost:3000/healthz || exit 1"]
            interval: 30s
            timeout: 10s
            retries: 5
            start_period: 120s
      
        worker:
          image: 'twentycrm/twenty:v1.1'
          container_name: twenty-worker
          depends_on:
            db:
              condition: service_healthy
            redis:
              condition: service_healthy
            server:
              condition: service_started
          volumes:
            - 'twenty-server-local-data:/app/packages/twenty-server/.local-storage'
            - 'twenty-docker-data:/app/docker-data'
          environment:
            NODE_PORT: 3000
            PG_DATABASE_URL: 'postgres://${PG_DATABASE_USER:-postgres}:${PG_DATABASE_PASSWORD:-ChangeThisPassword123!}@db:5432/postgres'
            SERVER_URL: '${SERVER_URL:-http://localhost:3000}'
            REDIS_URL: 'redis://redis:6379'
            APP_SECRET: '${APP_SECRET:-please-change-this-secret-key}'
            STORAGE_TYPE: '${STORAGE_TYPE:-local}'
            STORAGE_LOCAL_PATH: '${STORAGE_LOCAL_PATH:-.local-storage}'
            
            # Email Configuration (same as server)
            EMAIL_DRIVER: '${EMAIL_DRIVER:-logger}'
            EMAIL_FROM_ADDRESS: '${EMAIL_FROM_ADDRESS:-noreply@localhost}'
            EMAIL_FROM_NAME: '${EMAIL_FROM_NAME:-Twenty CRM}'
            EMAIL_SMTP_HOST: '${EMAIL_SMTP_HOST:-}'
            EMAIL_SMTP_PORT: '${EMAIL_SMTP_PORT:-587}'
            EMAIL_SMTP_USER: '${EMAIL_SMTP_USER:-}'
            EMAIL_SMTP_PASSWORD: '${EMAIL_SMTP_PASSWORD:-}'
            
            # Features
            MESSAGE_QUEUE_TYPE: '${MESSAGE_QUEUE_TYPE:-bull-mq}'
            
          command: ["yarn", "worker:start"]
          networks:
            - twenty-network
          restart: unless-stopped
      
      volumes:
        twenty-db-data:
          driver: local
        twenty-redis-data:
          driver: local
        twenty-server-local-data:
          driver: local
        twenty-docker-data:
          driver: local
      
      networks:
        twenty-network:
          driver: bridge
          name: twenty-network
      
      N Offline
      N Offline
      Neiluj
      wrote last edited by
      #33

      @zonzonzon the good word of @ekevu123 in a different thread:

      The biggest issue is that the deployment needs to happen in one docker container only.

      For postgres, you use this: https://docs.cloudron.io/packaging/addons/#postgresql

      For local storage, this:
      https://docs.cloudron.io/packaging/addons/#localstorage

      If you don't know how to use these add-ons, go here: https://docs.cloudron.io/packaging/manifest/

      But essentially, if you can package it in one dockerfile only, creating the cloudron manifest is piece of cake.

      Hopefully this helps a bit.

      marcusquinnM 1 Reply Last reply
      3
      • N Neiluj

        @zonzonzon the good word of @ekevu123 in a different thread:

        The biggest issue is that the deployment needs to happen in one docker container only.

        For postgres, you use this: https://docs.cloudron.io/packaging/addons/#postgresql

        For local storage, this:
        https://docs.cloudron.io/packaging/addons/#localstorage

        If you don't know how to use these add-ons, go here: https://docs.cloudron.io/packaging/manifest/

        But essentially, if you can package it in one dockerfile only, creating the cloudron manifest is piece of cake.

        Hopefully this helps a bit.

        marcusquinnM Offline
        marcusquinnM Offline
        marcusquinn
        wrote last edited by marcusquinn
        #34

        Does look nice, and Typescript does seem to be the future for web apps.

        Screenshots:

        60c2a682-694c-43a9-a53e-1d4543d49406-image.png

        b669c3d9-c25f-482f-9095-61cf949429c2-image.png

        d53950bf-8722-4565-95a2-934ac9d1535a-image.png

        5b77c5ea-66b3-447f-b1b7-eca1b962ff31-image.png

        55454ffe-1a4e-4ba3-89ba-a0ea8ce96e60-image.png

        4ed811b8-ef16-485b-b100-3eee20beb0c2-image.png

        63331663-e053-44ae-a13a-4d0a75ed4c6d-image.png

        46f9339b-3070-4c21-b0e9-edfbfeb06422-image.png

        a18d8f58-0bf6-4320-af23-375febe7918b-image.png

        Web Design & Development: https://www.evergreen.je
        Technology & Apps: https://www.marcusquinn.com

        marcusquinnM 1 Reply Last reply
        3
        • marcusquinnM marcusquinn

          Does look nice, and Typescript does seem to be the future for web apps.

          Screenshots:

          60c2a682-694c-43a9-a53e-1d4543d49406-image.png

          b669c3d9-c25f-482f-9095-61cf949429c2-image.png

          d53950bf-8722-4565-95a2-934ac9d1535a-image.png

          5b77c5ea-66b3-447f-b1b7-eca1b962ff31-image.png

          55454ffe-1a4e-4ba3-89ba-a0ea8ce96e60-image.png

          4ed811b8-ef16-485b-b100-3eee20beb0c2-image.png

          63331663-e053-44ae-a13a-4d0a75ed4c6d-image.png

          46f9339b-3070-4c21-b0e9-edfbfeb06422-image.png

          a18d8f58-0bf6-4320-af23-375febe7918b-image.png

          marcusquinnM Offline
          marcusquinnM Offline
          marcusquinn
          wrote last edited by marcusquinn
          #35

          Few open-source apps say to me; "these guys get it". This is definitely one of those that does.

          Giving this my seal of approval as a high-value app to have on Cloudron, and for attracting people to Cloudron.

          Web Design & Development: https://www.evergreen.je
          Technology & Apps: https://www.marcusquinn.com

          1 Reply Last reply
          3
          • Z Online
            Z Online
            zonzonzon
            wrote last edited by
            #36

            I’m trying out Twenty and really looking forward to seeing it available on Cloudron soon. Its interface is friendly and modern, and the recent updates have significantly improved loading speed. Its API is very easy to integrate with external apps. Another standout point is its data model, which lets us freely customize and create objects and fields, making it simple to tailor deeply to a company’s operations.

            1 Reply Last reply
            3
            • D Offline
              D Offline
              david.opalia
              wrote last edited by
              #37

              We hope to see this app available soon. We are already using it in a self-hosted setup on our systems, but for convenience we would like to migrate it to Cloudron.
              How can we help you make this happen?

              1 Reply Last reply
              4
              • Z Online
                Z Online
                zonzonzon
                wrote last edited by
                #38

                Release v1.5.0

                https://github.com/twentyhq/twenty/releases/tag/v1.5.0

                1 Reply Last reply
                4
                • phillipwilhelmP Offline
                  phillipwilhelmP Offline
                  phillipwilhelm
                  wrote last edited by
                  #39

                  I would love to see this added

                  1 Reply Last reply
                  1
                  • C Online
                    C Online
                    ccfu
                    wrote last edited by
                    #40

                    +1 for this to be added to Cloudron

                    marcusquinnM 1 Reply Last reply
                    1
                    • C ccfu

                      +1 for this to be added to Cloudron

                      marcusquinnM Offline
                      marcusquinnM Offline
                      marcusquinn
                      wrote last edited by
                      #41

                      Got someone working on this. Will share with Cloudron when ready to test.

                      Web Design & Development: https://www.evergreen.je
                      Technology & Apps: https://www.marcusquinn.com

                      jdaviescoatesJ C 2 Replies Last reply
                      4
                      • marcusquinnM marcusquinn

                        Got someone working on this. Will share with Cloudron when ready to test.

                        jdaviescoatesJ Offline
                        jdaviescoatesJ Offline
                        jdaviescoates
                        wrote last edited by
                        #42

                        @marcusquinn said in twenty - A Modern Open Source CRM:

                        Got someone working on this. Will share with Cloudron when ready to test.

                        Great! Thanks! 👏 🙏

                        I use Cloudron with Gandi & Hetzner

                        1 Reply Last reply
                        1
                        • marcusquinnM marcusquinn

                          Got someone working on this. Will share with Cloudron when ready to test.

                          C Online
                          C Online
                          ccfu
                          wrote last edited by
                          #43

                          @marcusquinn Fantastic!

                          1 Reply Last reply
                          1
                          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