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 - Status | Demo | Docs | Install
luckowL

luckow

@luckow
translator
About
Posts
939
Topics
267
Shares
0
Groups
2
Followers
4
Following
0

Posts

Recent Best Controversial

  • Tymeslot
    luckowL luckow

    Update to 0.99.34 - DB migration ERROR 23505 (unique_violation)

    I have two instances of the app. The update went smoothly on one of them, but an error occurred on the other:

    Mar 28 08:52:46 Running database migrations...
    Mar 28 08:52:48 {"message":"== Running 20260323000001 Tymeslot.Repo.Migrations.AddProviderAccountFieldsAndReplaceUniqueness.up/0 forward","time":"2026-03-28T07:52:48.089Z","metadata":{"line":363,"file":"lib/ecto/migration/runner.ex","application":"ecto_sql"},"severity":"info"}
    Mar 28 08:52:48 {"message":"alter table video_integrations","time":"2026-03-28T07:52:48.105Z","metadata":{"line":363,"file":"lib/ecto/migration/runner.ex","application":"ecto_sql"},"severity":"info"}
    Mar 28 08:52:48 {"message":"alter table calendar_integrations","time":"2026-03-28T07:52:48.107Z","metadata":{"line":363,"file":"lib/ecto/migration/runner.ex","application":"ecto_sql"},"severity":"info"}
    Mar 28 08:52:48 {"message":"execute \"UPDATE video_integrations\\nSET provider_account_id = custom_meeting_url\\nWHERE provider = 'custom' AND custom_meeting_url IS NOT NULL\\n\"","time":"2026-03-28T07:52:48.111Z","metadata":{"line":363,"file":"lib/ecto/migration/runner.ex","application":"ecto_sql"},"severity":"info"}
    Mar 28 08:52:48 {"message":"execute \"UPDATE video_integrations\\nSET provider_account_id = base_url\\nWHERE provider = 'mirotalk' AND base_url IS NOT NULL\\n\"","time":"2026-03-28T07:52:48.113Z","metadata":{"line":363,"file":"lib/ecto/migration/runner.ex","application":"ecto_sql"},"severity":"info"}
    Mar 28 08:52:48 {"message":"drop index if exists one_active_integration_per_user_provider","time":"2026-03-28T07:52:48.114Z","metadata":{"line":363,"file":"lib/ecto/migration/runner.ex","application":"ecto_sql"},"severity":"info"}
    Mar 28 08:52:48 {"message":"create index unique_active_video_account_per_user","time":"2026-03-28T07:52:48.118Z","metadata":{"line":363,"file":"lib/ecto/migration/runner.ex","application":"ecto_sql"},"severity":"info"}
    Mar 28 08:52:48 {"message":"create index unique_active_calendar_account_per_user","time":"2026-03-28T07:52:48.122Z","metadata":{"line":363,"file":"lib/ecto/migration/runner.ex","application":"ecto_sql"},"severity":"info"}
    Mar 28 08:52:48 {"message":"create index unique_active_video_null_account_per_user","time":"2026-03-28T07:52:48.124Z","metadata":{"line":363,"file":"lib/ecto/migration/runner.ex","application":"ecto_sql"},"severity":"info"}
    Mar 28 08:52:48 {"message":"create index unique_active_calendar_null_account_per_user","time":"2026-03-28T07:52:48.126Z","metadata":{"line":363,"file":"lib/ecto/migration/runner.ex","application":"ecto_sql"},"severity":"info"}
    Mar 28 08:52:48 ** (Postgrex.Error) ERROR 23505 (unique_violation) could not create unique index "unique_active_calendar_null_account_per_user"
    Mar 28 08:52:48 2026-03-28T08:52:48+01:00
    Mar 28 08:52:48 table: calendar_integrations
    Mar 28 08:52:48 constraint: unique_active_calendar_null_account_per_user
    Mar 28 08:52:48 2026-03-28T08:52:48+01:00
    Mar 28 08:52:48 Key (user_id, provider)=(1, caldav) is duplicated.
    Mar 28 08:52:48 (ecto_sql 3.13.5) lib/ecto/adapters/sql.ex:1113: Ecto.Adapters.SQL.raise_sql_call_error/1
    Mar 28 08:52:48 (elixir 1.19.5) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2
    Mar 28 08:52:48 (ecto_sql 3.13.5) lib/ecto/adapters/sql.ex:1234: Ecto.Adapters.SQL.execute_ddl/4
    Mar 28 08:52:48 (ecto_sql 3.13.5) lib/ecto/migration/runner.ex:348: Ecto.Migration.Runner.log_and_execute_ddl/3
    Mar 28 08:52:48 (elixir 1.19.5) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2
    Mar 28 08:52:48 (elixir 1.19.5) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2
    Mar 28 08:52:57 => Healthcheck error: AbortError: The operation was aborted
    
    Community Apps

  • Cubby search improvement
    luckowL luckow

    Searching for Cloud should return files with Cloudron in the title, rather than requiring an exact match for the full word.

    Cubby

  • Tymeslot
    luckowL luckow

    @ekevu123 But hey, yay! It's working now. Thanks for all your hard work.

    Community Apps

  • Tymeslot
    luckowL luckow

    @ekevu123 There's no update available for an existing app. I was forced to uninstall and reinstall to grab the new package. Not exactly the best experience. 😉
    https://docs.cloudron.io/packaging/publishing#update-a-version

    Community Apps

  • Tymeslot
    luckowL luckow

    oh. there is also a wss error in the browser console:

    app-54s24yx49eq34bc1…3ba451ef.js?vsn=d:2 WebSocket connection to 'wss://tymeslot.example.org/live/websocket?_csrf_token=CRAZY-TOKEN…js%3Fvsn%3Dd&_mounts=0&_mount_attempts=0&_live_referer=undefined&vsn=2.0.0' failed: 
    transportConnect	@	app-54s24yx49eq34bc1…3ba451ef.js?vsn=d:2
    
    Community Apps

  • Tymeslot
    luckowL luckow

    @ekevu123 package version 0.99.31 throws

    OpenID Error
    
    redirect_uri did not match any of the client's registered redirect_uris
    
    

    The redirect_uri shows localhost instead of the valid domain.

    &redirect_uri=https%3A%2F%2Flocalhost%2Fauth%2Foauth%2Fcallback&response_type=code&scope=openid+email+profile&state=

    Community Apps

  • Dify.ai, a self-hosted prompt-management tool
    luckowL luckow

    @timconsidine Yes. Great. The download and installation went smoothly.

    App Wishlist

  • Cloning the app cloned the whole environment
    luckowL luckow

    @nebulon Shame on me. A clone of FreeScout generates an env file with unique database credentials and uses the clone URL as the domain. No idea what happened yesterday. Maybe I had the same environment open twice or it was just computer voodoo.

    FreeScout add-ons added their endpoints and serial numbers to the env file, which was copied into the clone. But that's what I expected.

    FreeScout

  • Cloning the app cloned the whole environment
    luckowL luckow

    @nebulon I'll look into it.

    FreeScout

  • Cloning the app cloned the whole environment
    luckowL luckow

    @ccfu Exactly that. We should use the environment variables for the database and domain CLOUDRON_MYSQL_USERNAME= ... instead of "hard-coded" strings. Cloning an app with identical credentials changes the database on the original instead of the clone. It looks like the FreeScout app package isn't using the variables.

    FreeScout

  • FacilMap
    luckowL luckow

    @timconsidine Woohoo. It looks like it's working. Route is new.

    c1d7eb65-b43a-4871-a16d-b25c3214d121-image.jpeg

    Community Apps

  • Backup quits with
    luckowL luckow

    Cloudron v 9.1.3

    Any idea how to solve the problem? 5fc22e33- is a freescout app instance. Backup site is sshfs (rsync) to hetzner storage box.

    Mar 13 23:20:49 box:backupformat/rsync sync: done processing adds. error: null
    Mar 13 23:20:49 box:syncer finalize: patching in integrity information into /home/yellowtent/platformdata/backup/d25302c6-2b1d-446e-a05d-b5f7cb39eb87/5fc22e33-ac60-4f99-bbe3-2ca8cf9e12c7.sync.cache
    Mar 13 23:20:49 box:backupupload upload completed. error: SyntaxError: Unterminated string in JSON at position 83 (line 1 column 84) at JSON.parse (<anonymous>) at Object.finalize (file:///home/yellowtent/box/src/syncer.js:183:33) at process.processTicksAndRejections (node:internal/process/task_queues:103:5) at async sync (file:///home/yellowtent/box/src/backupformat/rsync.js:211:5) at async Object.upload (file:///home/yellowtent/box/src/backupformat/rsync.js:309:12) at async Object.upload (file:///home/yellowtent/box/src/backuptask.js:101:37)
    Mar 13 23:20:49 box:backuptask runBackupUpload: result - {"errorMessage":"Unterminated string in JSON at position 83 (line 1 column 84)"}
    Mar 13 23:20:50 box:shell backuptask: /usr/bin/sudo --non-interactive -E --close-from=4 /home/yellowtent/box/src/scripts/backupupload.js snapshot/app_5fc22e33-ac60-4f99-bbe3-2ca8cf9e12c7 d25302c6-2b1d-446e-a05d-b5f7cb39eb87 {"localRoot":"/home/yellowtent/appsdata/5fc22e33-ac60-4f99-bbe3-2ca8cf9e12c7","layout":[]} errored BoxError: /usr/bin/sudo exited with code 50 signal null
    Mar 13 23:20:50 at ChildProcess.<anonymous> (file:///home/yellowtent/box/src/shell.js:70:23)
    Mar 13 23:20:50 at ChildProcess.emit (node:events:508:28)
    Mar 13 23:20:50 at maybeClose (node:internal/child_process:1101:16)
    Mar 13 23:20:50 at ChildProcess._handle.onexit (node:internal/child_process:305:5) {
    Mar 13 23:20:50 reason: 'Shell Error',
    Mar 13 23:20:50 details: {},
    Mar 13 23:20:50 stdout: '',
    Mar 13 23:20:50 stdoutString: '',
    Mar 13 23:20:50 stdoutLineCount: 0,
    Mar 13 23:20:50 stderr: '',
    Mar 13 23:20:50 stderrString: '',
    Mar 13 23:20:50 stderrLineCount: 0,
    Mar 13 23:20:50 code: 50,
    Mar 13 23:20:50 signal: null,
    Mar 13 23:20:50 timedOut: false,
    Mar 13 23:20:50 terminated: false
    Mar 13 23:20:50 }
    Mar 13 23:20:50 box:backuptask fullBackup: app support.indielux.com backup finished. Took 1051.191 seconds
    Mar 13 23:20:50 box:locks write: current locks: {"full_backup_task_d25302c6-2b1d-446e-a05d-b5f7cb39eb87":null}
    Mar 13 23:20:50 box:locks release: app_backup_5fc22e33-ac60-4f99-bbe3-2ca8cf9e12c7
    Mar 13 23:20:50 box:tasks setCompleted - 10911: {"result":null,"error":{"message":"Unterminated string in JSON at position 83 (line 1 column 84)","reason":"External Error"},"percent":100}
    Mar 13 23:20:50 box:tasks updating task 10911 with: {"completed":true,"result":null,"error":{"message":"Unterminated string in JSON at position 83 (line 1 column 84)","reason":"External Error"},"percent":100}
    Mar 13 23:20:50 box:taskworker Task took 1246.114 seconds
    Mar 13 23:20:50 BoxError: Unterminated string in JSON at position 83 (line 1 column 84)
    Mar 13 23:20:50 at runBackupUpload (file:///home/yellowtent/box/src/backuptask.js:192:15)
    Mar 13 23:20:50 at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
    Mar 13 23:20:50 at async uploadAppSnapshot (file:///home/yellowtent/box/src/backuptask.js:359:34)
    Mar 13 23:20:50 at async backupAppWithTag (file:///home/yellowtent/box/src/backuptask.js:382:26)
    Mar 13 23:20:50 Exiting with code 0
    
    Support backup

  • Cloning the app cloned the whole environment
    luckowL luckow

    Expected behavior: Cloning FreeScout should result in a 1:1 copy within an isolated environment.

    Actually, the env file remains identical, which is problematic when the clone resides on the same Cloudron instance as the original.

    FreeScout

  • FacilMap
    luckowL luckow

    I followed the instructions at https://forgejo.tcjc.uk/cca/cloudron-facilmap.git "You may want to add your own map tokens in /app/data/config.env."

    First of all: there is no env template in /app/data/. Learned from Cloudron Apps: if there's an option to add something to the app (via env), there's a template. Okay - it's an early version.

    Then I went to https://github.com/FacilMap/facilmap/blob/main/config.env.example and copied the example to /app/data/config.env and added API keys to ORS_TOKEN= and MAPBOX_TOKEN= and restarted the app. But: the app didn't pick up the tokens in config.env. Do you have any other ideas?

    Community Apps

  • Dify.ai, a self-hosted prompt-management tool
    luckowL luckow

    @timconsidine same on the third network:

    curl -fsSL https://customappgateway.appx.uk/install.sh | bash -s -- --install-app "Dify AI"
    CustomAppGateway Universal Installer
    ----------------------------------------
    Detected OS: Linux (x86_64)
    Downloading installer from: https://customappgateway.appx.uk/cag-installer-linux
    Running Installer...
    ----------------------------------------
    Welcome to the Custom App Gateway (CAG) Installer
    -----------------------------------------------
    Fetching catalogue to find app: Dify AI...
    ✔ Found App: Dify AI (undefined)
    NOTE: You will need an API Token from your Cloudron Profile.
          Go to https://my.your-cloudron.com/#/profile to generate one.
    ? Enter your Cloudron Domain (e.g., my.example.com): my.example.org
    ? Enter your Cloudron API Token: ****************************************************************
    ? Enter the subdomain to install the app (e.g., ccai.example.com): dify.example.org
    
    Validating connection...
    ✔ Connection successful
    
    Fetching App Manifest...
    Fetching manifest from: https://customappgateway.appx.uk/deploy/dify/CloudronManifest.json
    ✔ Manifest fetched successfully
    Resolving manifest file references...
    
    Installing App to dify.example.org...
    Image: tcmbp132021/cloudron-dify:latest
    ✘ Installation failed: No such route
    Details: {
      "status": "Not Found",
      "message": "No such route"
    }
    
    ping hub.docker.com 
    PING hub.docker.com (2606:4700:4409::ac40:9045) 56 Datenbytes
    64 Bytes von 2606:4700:4409::ac40:9045: icmp_seq=1 ttl=56 Zeit=43.1 ms
    64 Bytes von 2606:4700:4409::ac40:9045: icmp_seq=2 ttl=56 Zeit=48.4 ms
    64 Bytes von 2606:4700:4409::ac40:9045: icmp_seq=3 ttl=56 Zeit=47.0 ms
    

    I have no idea what the difference is between your network and mine.

    App Wishlist

  • Cloudron v9: huge disk I/O is this normal/safe/needed?
    luckowL luckow

    @imc67 one app instance (4y old)

    +------+----------+
    | hour | sessions |
    +------+----------+
    |    0 |        2 |
    |    2 |        1 |
    |    7 |        2 |
    |    8 |        1 |
    |    9 |        1 |
    |   13 |        3 |
    |   15 |        1 |
    |   17 |        3 |
    |   19 |        1 |
    |   20 |        3 |
    |   21 |        4 |
    |   22 |        1 |
    +------+----------+
    

    different app instance (7y old)

    +------+----------+
    | hour | sessions |
    +------+----------+
    |    3 |        1 |
    |    5 |        2 |
    |   15 |        4 |
    |   18 |        2 |
    |   19 |        2 |
    |   20 |        2 |
    |   21 |        4 |
    |   22 |        2 |
    +------+----------+
    

    health check is every 10 sec.

    Mar 07 18:00:50 - - - [07/Mar/2026:17:00:50 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
    Mar 07 18:00:50 172.18.0.1 - - [07/Mar/2026:17:00:50 +0000] "GET / HTTP/1.1" 302 299 "-" "Mozilla (CloudronHealth)"
    Mar 07 18:01:00 - - - [07/Mar/2026:17:01:00 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
    Mar 07 18:01:00 172.18.0.1 - - [07/Mar/2026:17:01:00 +0000] "GET / HTTP/1.1" 302 299 "-" "Mozilla (CloudronHealth)"
    Mar 07 18:01:10 - - - [07/Mar/2026:17:01:10 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
    Mar 07 18:01:10 172.18.0.1 - - [07/Mar/2026:17:01:10 +0000] "GET / HTTP/1.1" 302 299 "-" "Mozilla (CloudronHealth)"
    Mar 07 18:01:20 - - - [07/Mar/2026:17:01:20 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
    Mar 07 18:01:20 172.18.0.1 - - [07/Mar/2026:17:01:20 +0000] "GET / HTTP/1.1" 302 299 "-" "Mozilla (CloudronHealth)"
    Mar 07 18:01:30 - - - [07/Mar/2026:17:01:30 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
    Mar 07 18:01:30 172.18.0.1 - - [07/Mar/2026:17:01:30 +0000] "GET / HTTP/1.1" 302 299 "-" "Mozilla (CloudronHealth)"
    
    Support graphs

  • Cloudron v9: huge disk I/O is this normal/safe/needed?
    luckowL luckow

    My two cents: as soon as #28 is correct, this should happen with every Cloudron instance that has Matomo (and OIDC enabled). I looked at one of my instances that met the criteria. One of the Matomo instances had about 300 sessions stored in MySQL. The oldest entry is from Feb 26.
    So maybe #28 isn't correct, or it's something that only happens on this instance.

    Support graphs

  • Dify.ai, a self-hosted prompt-management tool
    luckowL luckow

    @timconsidine anything wrong on my side?

    Installing App to diffy.example.org ...
    Image: tcmbp132021/cloudron-dify:latest
    ✘ Installation failed: No such route
    Details: {
      "status": "Not Found",
      "message": "No such route"
    }
    

    This it the output of curl -fsSL https://customappgateway.appx.uk/install.sh | bash -s -- --install-app "Dify AI" but same error from insie CCAI-P

    App Wishlist

  • Anyone having luck with the API endpoint?
    luckowL luckow

    I followed https://docs.castopod.org/next/en/api/ but can't seem to connect to any endpoint. Maybe I just need a little kickstart. 🙂

    Castopod

  • The Matrix is coming
    luckowL luckow

    ups. up for only a few hours.
    this is the original post on instagram: https://www.instagram.com/aicandy.be/reel/DVLE-QJEf0n/

    Off-topic
  • Login

  • Don't have an account? Register

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