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. Keila
  3. First two quick questions

First two quick questions

Scheduled Pinned Locked Moved Keila
12 Posts 4 Posters 280 Views 4 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.
  • andreasduerenA Offline
    andreasduerenA Offline
    andreasdueren
    wrote last edited by
    #3

    This should work for the start.sh:

    #!/bin/bash
    
    set -euo pipefail
    
    echo "==> Creating directories"
    mkdir -p /app/data/uploads
    chown -R cloudron:cloudron /app/data
    
    # Generate secret key on first run
    if [ ! -f /app/data/secret_key.txt ]; then
        echo "==> Generating new secret key"
        head -c 48 /dev/urandom | base64 > /app/data/secret_key.txt
    fi
    
    # Create .env file on first run with user-configurable options
    if [ ! -f /app/data/.env ]; then
        echo "==> Creating .env file with default configuration"
        cat > /app/data/.env <<'EOF'
    # Keila Configuration
    # This file contains user-configurable options. System-critical settings
    # (database, URL, deployment) are managed by Cloudron and cannot be changed here.
    
    # Logging
    # Options: debug, info, warning, error
    LOG_LEVEL=info
    
    # User Registration
    # Set to true to disable new user registration
    DISABLE_REGISTRATION=false
    
    # Captcha Configuration (optional)
    # Providers: hcaptcha, friendly_captcha
    # CAPTCHA_PROVIDER=
    # CAPTCHA_SITE_KEY=
    # CAPTCHA_SECRET_KEY=
    
    # System Mailer Configuration (optional - uses Cloudron defaults)
    # Only uncomment if you need to override Cloudron's email settings
    # MAILER_TYPE=smtp
    # MAILER_SMTP_FROM_EMAIL=
    # MAILER_SMTP_HOST=
    # MAILER_SMTP_PORT=587
    # MAILER_SMTP_USER=
    # MAILER_SMTP_PASSWORD=
    # MAILER_ENABLE_STARTTLS=true
    
    # Additional Options
    # See https://www.keila.io/docs/configuration for more options
    EOF
        chown cloudron:cloudron /app/data/.env
    fi
    
    # Load user-configurable environment from .env file
    if [ -f /app/data/.env ]; then
        set -a
        source /app/data/.env
        set +a
    fi
    
    # Export environment variables for Keila
    # Note: System-critical variables below override any values from .env
    export PORT=4000
    export DB_URL=${CLOUDRON_POSTGRESQL_URL}
    export SECRET_KEY_BASE=$(cat /app/data/secret_key.txt)
    
    # Configure URLs from Cloudron environment variables
    export URL_HOST=${CLOUDRON_APP_DOMAIN}
    export URL_PATH="/"
    export URL_SCHEMA="https"
    export URL_PORT="443"
    
    # Configure email settings
    export MAILER_TYPE=smtp
    export MAILER_SMTP_FROM_EMAIL=${CLOUDRON_MAIL_FROM}
    export MAILER_SMTP_HOST=${CLOUDRON_MAIL_SMTP_SERVER}
    export MAILER_SMTP_PORT=${CLOUDRON_MAIL_SMTP_PORT}
    export MAILER_SMTP_USER=${CLOUDRON_MAIL_SMTP_USERNAME}
    export MAILER_SMTP_PASSWORD=${CLOUDRON_MAIL_SMTP_PASSWORD}
    export MAILER_ENABLE_STARTTLS=false
    
    # Configure user content directory
    export USER_CONTENT_DIR=/app/data/uploads
    
    export PGPASSWORD=${CLOUDRON_POSTGRESQL_PASSWORD}
    USER_TABLE_EXISTS=$(psql ${CLOUDRON_POSTGRESQL_URL} -XAwt -c "SELECT EXISTS ( SELECT FROM pg_tables WHERE schemaname = 'public' AND tablename = 'users')")
    if [[ $USER_TABLE_EXISTS == "t" ]]; then
        ADMIN_EXISTS=$(PGPASSWORD=${CLOUDRON_POSTGRESQL_PASSWORD} psql -h ${CLOUDRON_POSTGRESQL_HOST} -p ${CLOUDRON_POSTGRESQL_PORT} -U ${CLOUDRON_POSTGRESQL_USERNAME} -d ${CLOUDRON_POSTGRESQL_DATABASE} -AXqtc "SELECT count(*) FROM users u JOIN user_groups ug ON ug.user_id=u.id JOIN groups g ON ug.group_id=g.id WHERE g.name='root'")
    fi
    if [[ ${USER_TABLE_EXISTS:-} == "f" || ${ADMIN_EXISTS:-} -eq 0 ]]; then
        echo "==> Exporting default admin credentials on first run"
        export KEILA_USER="admin@cloudron.local"
        export KEILA_PASSWORD="changeme123"
    fi
    
    echo "==> Starting Keila"
    exec gosu cloudron:cloudron /app/code/bin/keila start
    
    andreasduerenA 1 Reply Last reply
    3
    • andreasduerenA andreasdueren

      This should work for the start.sh:

      #!/bin/bash
      
      set -euo pipefail
      
      echo "==> Creating directories"
      mkdir -p /app/data/uploads
      chown -R cloudron:cloudron /app/data
      
      # Generate secret key on first run
      if [ ! -f /app/data/secret_key.txt ]; then
          echo "==> Generating new secret key"
          head -c 48 /dev/urandom | base64 > /app/data/secret_key.txt
      fi
      
      # Create .env file on first run with user-configurable options
      if [ ! -f /app/data/.env ]; then
          echo "==> Creating .env file with default configuration"
          cat > /app/data/.env <<'EOF'
      # Keila Configuration
      # This file contains user-configurable options. System-critical settings
      # (database, URL, deployment) are managed by Cloudron and cannot be changed here.
      
      # Logging
      # Options: debug, info, warning, error
      LOG_LEVEL=info
      
      # User Registration
      # Set to true to disable new user registration
      DISABLE_REGISTRATION=false
      
      # Captcha Configuration (optional)
      # Providers: hcaptcha, friendly_captcha
      # CAPTCHA_PROVIDER=
      # CAPTCHA_SITE_KEY=
      # CAPTCHA_SECRET_KEY=
      
      # System Mailer Configuration (optional - uses Cloudron defaults)
      # Only uncomment if you need to override Cloudron's email settings
      # MAILER_TYPE=smtp
      # MAILER_SMTP_FROM_EMAIL=
      # MAILER_SMTP_HOST=
      # MAILER_SMTP_PORT=587
      # MAILER_SMTP_USER=
      # MAILER_SMTP_PASSWORD=
      # MAILER_ENABLE_STARTTLS=true
      
      # Additional Options
      # See https://www.keila.io/docs/configuration for more options
      EOF
          chown cloudron:cloudron /app/data/.env
      fi
      
      # Load user-configurable environment from .env file
      if [ -f /app/data/.env ]; then
          set -a
          source /app/data/.env
          set +a
      fi
      
      # Export environment variables for Keila
      # Note: System-critical variables below override any values from .env
      export PORT=4000
      export DB_URL=${CLOUDRON_POSTGRESQL_URL}
      export SECRET_KEY_BASE=$(cat /app/data/secret_key.txt)
      
      # Configure URLs from Cloudron environment variables
      export URL_HOST=${CLOUDRON_APP_DOMAIN}
      export URL_PATH="/"
      export URL_SCHEMA="https"
      export URL_PORT="443"
      
      # Configure email settings
      export MAILER_TYPE=smtp
      export MAILER_SMTP_FROM_EMAIL=${CLOUDRON_MAIL_FROM}
      export MAILER_SMTP_HOST=${CLOUDRON_MAIL_SMTP_SERVER}
      export MAILER_SMTP_PORT=${CLOUDRON_MAIL_SMTP_PORT}
      export MAILER_SMTP_USER=${CLOUDRON_MAIL_SMTP_USERNAME}
      export MAILER_SMTP_PASSWORD=${CLOUDRON_MAIL_SMTP_PASSWORD}
      export MAILER_ENABLE_STARTTLS=false
      
      # Configure user content directory
      export USER_CONTENT_DIR=/app/data/uploads
      
      export PGPASSWORD=${CLOUDRON_POSTGRESQL_PASSWORD}
      USER_TABLE_EXISTS=$(psql ${CLOUDRON_POSTGRESQL_URL} -XAwt -c "SELECT EXISTS ( SELECT FROM pg_tables WHERE schemaname = 'public' AND tablename = 'users')")
      if [[ $USER_TABLE_EXISTS == "t" ]]; then
          ADMIN_EXISTS=$(PGPASSWORD=${CLOUDRON_POSTGRESQL_PASSWORD} psql -h ${CLOUDRON_POSTGRESQL_HOST} -p ${CLOUDRON_POSTGRESQL_PORT} -U ${CLOUDRON_POSTGRESQL_USERNAME} -d ${CLOUDRON_POSTGRESQL_DATABASE} -AXqtc "SELECT count(*) FROM users u JOIN user_groups ug ON ug.user_id=u.id JOIN groups g ON ug.group_id=g.id WHERE g.name='root'")
      fi
      if [[ ${USER_TABLE_EXISTS:-} == "f" || ${ADMIN_EXISTS:-} -eq 0 ]]; then
          echo "==> Exporting default admin credentials on first run"
          export KEILA_USER="admin@cloudron.local"
          export KEILA_PASSWORD="changeme123"
      fi
      
      echo "==> Starting Keila"
      exec gosu cloudron:cloudron /app/code/bin/keila start
      
      andreasduerenA Offline
      andreasduerenA Offline
      andreasdueren
      wrote last edited by
      #4

      @girish I don’t have permission to clone repos or anything on the git. Could you test this and deploy if it works?

      1 Reply Last reply
      1
      • jamesJ Offline
        jamesJ Offline
        james
        Staff
        wrote last edited by
        #5

        Hello @andreasdueren
        The git repo https://git.cloudron.io/packages/keila-app is publicly accessible and can be cloned publicly:

        git clone https://git.cloudron.io/packages/keila-app
        

        Did you mean you have no permission to fork the repository?

        andreasduerenA 1 Reply Last reply
        0
        • jamesJ james

          Hello @andreasdueren
          The git repo https://git.cloudron.io/packages/keila-app is publicly accessible and can be cloned publicly:

          git clone https://git.cloudron.io/packages/keila-app
          

          Did you mean you have no permission to fork the repository?

          andreasduerenA Offline
          andreasduerenA Offline
          andreasdueren
          wrote last edited by
          #6

          @james Nope can't fork, can't create repros either

          1 Reply Last reply
          2
          • girishG Do not disturb
            girishG Do not disturb
            girish
            Staff
            wrote last edited by
            #7

            @andreasdueren can you check again now?

            andreasduerenA 2 Replies Last reply
            1
            • girishG girish

              @andreasdueren can you check again now?

              andreasduerenA Offline
              andreasduerenA Offline
              andreasdueren
              wrote last edited by
              #8

              @girish Works, thanks

              1 Reply Last reply
              0
              • girishG girish

                @andreasdueren can you check again now?

                andreasduerenA Offline
                andreasduerenA Offline
                andreasdueren
                wrote last edited by
                #9

                @girish Actually, still not. Just tried to fork Element but it returns Limit reached You've reached your limit of 100 projects created. Contact your GitLab administrator.

                1 Reply Last reply
                0
                • girishG Do not disturb
                  girishG Do not disturb
                  girish
                  Staff
                  wrote last edited by
                  #10

                  @andreasdueren I made your limit 1000 now. Does that help?

                  1 Reply Last reply
                  0
                  • andreasduerenA Offline
                    andreasduerenA Offline
                    andreasdueren
                    wrote last edited by
                    #11

                    Nope, must be a different thing blocking it then.

                    Screenshot 2025-11-06 at 09.49.43.png

                    1 Reply Last reply
                    0
                    • girishG Do not disturb
                      girishG Do not disturb
                      girish
                      Staff
                      wrote last edited by
                      #12

                      @andreasdueren oh sorry 😕 checking.

                      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