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

Offical apps | Community apps | Demo | Docs | Install
rosanoR

rosano

@rosano
Unfollow Follow
About
Posts
131
Topics
31
Shares
0
Groups
0
Followers
1
Following
1

Posts

Recent Best Controversial

  • Crash on edit
    rosanoR rosano
    Grist

    I tried twice to install it and edit a field, it seems to immediately alert "Still working…" and show a bunch of errors. Looking at the logs it seems to be crashing/restarting repeatedly.

    Oct 04 11:45:23 2026-10-04 15:45:23.400 - debug: DocWorkerMap.setWorkerLoad workerId=172.18.18.212_8484, load=0
    Oct 04 11:45:27 2026-10-04 15:45:27.501 - debug: DocWorkerMap.setWorkerLoad workerId=172.18.18.212_8484, load=0
    Oct 04 11:45:29 2026-10-04 15:45:29.759 - info: RestartShell: child exited code=null signal=SIGKILL
    Oct 04 11:45:29 2026-10-04 15:45:29.760 - error: RestartShell: child crashed unexpectedly, shutting down
    Oct 04 11:45:30 => Healthcheck error: Error: connect ECONNREFUSED 172.18.18.212:8484
    Oct 04 11:45:30 ==> Changing ownership
    Oct 04 11:45:30 ==> Starting Grist
    Oct 04 11:45:34 2026-10-04 15:45:34.476 - info: RestartShell: starting
    Oct 04 11:45:34 2026-10-04 15:45:34.487 - info: RestartShell: listening on port 8484
    Oct 04 11:45:34 2026-10-04 15:45:34.488 - info: RestartShell: spawning child
    Oct 04 11:45:36 Welcome to Grist.
    Oct 04 11:45:36 Logging at level "debug" (set GRIST_LOG_LEVEL to change)
    Oct 04 11:45:36 2026-10-04 15:45:36.809 - info: Setting up database...
    Oct 04 11:45:37 2026-10-04 15:45:37.173 - info: Database setup complete.
    Oct 04 11:45:37 2026-10-04 15:45:37.181 - info: == Grist version is 1.7.20 (commit unknown)
    Oct 04 11:45:37 2026-10-04 15:45:37.190 - debug: skipping incomplete language ar (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.191 - debug: skipping incomplete language bci (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.196 - debug: skipping incomplete language ca (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.245 - debug: skipping incomplete language en-GB (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.264 - debug: skipping incomplete language fa (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.298 - debug: skipping incomplete language ig (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.336 - debug: skipping incomplete language nl (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.416 - debug: skipping incomplete language th (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.417 - debug: skipping incomplete language tr (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.429 - debug: skipping incomplete language ur (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.448 - debug: skipping incomplete language zun (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:37 2026-10-04 15:45:37.499 - warn: did not find an appropriately named example workspace in deployment
    Oct 04 11:45:37 2026-10-04 15:45:37.536 - info: OIDCConfig: initialized with issuer https://my.cloud.•••••.•••••/openid
    Oct 04 11:45:37 2026-10-04 15:45:37.537 - info: Creating Redis-based DocWorker
    Oct 04 11:45:37 2026-10-04 15:45:37.541 - info: No plugins found in directory: /app/code/.grist/plugins
    Oct 04 11:45:37 2026-10-04 15:45:37.553 - info: Found 1 valid plugins on the system
    Oct 04 11:45:37 2026-10-04 15:45:37.553 - debug: PLUGIN builtIn/core -- /app/code/plugins/core
    Oct 04 11:45:37 ┌────────────────────────────────────────┐
    Oct 04 11:45:37 │                                        │
    Oct 04 11:45:37 │   BOOT KEY: •••••   │
    Oct 04 11:45:37 │                                        │
    Oct 04 11:45:37 │   Use this key at /boot to sign in.    │
    Oct 04 11:45:37 │                                        │
    Oct 04 11:45:37 └────────────────────────────────────────┘
    Oct 04 11:45:37 2026-10-04 15:45:37.631 - info: activity docCount=1, orgCount=0, orgInGoodStandingCount=0, userCount=5, userWithLoginCount=5
    Oct 04 11:45:37 2026-10-04 15:45:37.660 - warn: Failed to create GoogleAuth endpoint: GOOGLE_CLIENT_SECRET is not defined
    Oct 04 11:45:37 2026-10-04 15:45:37.663 - info: Configured OAuth2 clients: []
    Oct 04 11:45:37 2026-10-04 15:45:37.672 - info: DocWorkerMap.addWorker 172.18.18.212_8484
    Oct 04 11:45:37 2026-10-04 15:45:37.677 - info: DocWorkerMap.setWorkerAvailability 172.18.18.212_8484 true
    Oct 04 11:45:37 2026-10-04 15:45:37.681 - info: Attachment store backend availability { available: [], unavailable: [ 'snapshots' ] }
    Oct 04 11:45:37 2026-10-04 15:45:37.681 - warn: External attachment store 'snapshots' requested, but no snapshot storage is configured.
    Oct 04 11:45:37 2026-10-04 15:45:37.681 - info: AttachmentStoreProvider initialised with stores:
    Oct 04 11:45:37 2026-10-04 15:45:37.682 - info: Creating Redis-based DocWorkerLoadTracker
    Oct 04 11:45:37 2026-10-04 15:45:37.682 - debug: DocWorkerMap.setWorkerLoad workerId=172.18.18.212_8484, load=0
    Oct 04 11:45:37 2026-10-04 15:45:37.693 - info: Server timeouts: requestTimeout 306000 keepAliveTimeout 305000 headersTimeout 306000
    Oct 04 11:45:37 2026-10-04 15:45:37.696 - info: pluginServer available at 0.0.0.0:35077
    Oct 04 11:45:37 2026-10-04 15:45:37.699 - info: == appRoot: /app/code
    Oct 04 11:45:37 2026-10-04 15:45:37.699 - info: == i18:namespace: client,server
    Oct 04 11:45:37 2026-10-04 15:45:37.699 - info: == docsRoot: /app/data/docs
    Oct 04 11:45:37 2026-10-04 15:45:37.699 - info: == defaultBaseDomain: grist.cloud.•••••.•••••
    Oct 04 11:45:37 2026-10-04 15:45:37.699 - info: == database: postgres://postgresql:5432/•••••
    Oct 04 11:45:37 2026-10-04 15:45:37.700 - info: == tag: unknown
    Oct 04 11:45:37 2026-10-04 15:45:37.700 - info: == userRoot: /app/code/.grist
    Oct 04 11:45:37 2026-10-04 15:45:37.700 - info: == instanceRoot: /app/code
    Oct 04 11:45:37 2026-10-04 15:45:37.700 - info: == proxy: enabled
    Oct 04 11:45:37 2026-10-04 15:45:37.700 - info: == loginMiddlewareComment: oidc
    Oct 04 11:45:37 2026-10-04 15:45:37.700 - info: == docWorkerId: 172.18.18.212_8484
    Oct 04 11:45:37 2026-10-04 15:45:37.700 - info: == docWorkerInternalUrl: http://172.18.18.212:8484/
    Oct 04 11:45:37 2026-10-04 15:45:37.700 - info: == docWorkerAddressSource: redis
    Oct 04 11:45:37 2026-10-04 15:45:37.700 - info: == pluginUrl: http://0.0.0.0:35077/
    Oct 04 11:45:37 2026-10-04 15:45:37.700 - info: == willServePlugins: true
    Oct 04 11:45:37 2026-10-04 15:45:37.701 - info: == grist.access.defaultEmail: you@example.com [GRIST_DEFAULT_EMAIL]
    Oct 04 11:45:37 2026-10-04 15:45:37.701 - info: == grist.access.docAuthCacheTTL: 5000 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.701 - info: == grist.access.listPublicSites: false [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.access.supportEmail: support@getgrist.com [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.assistant.apiKey: - [ASSISTANT_API_KEY]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.attachmentStores.mode: snapshots [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.attachmentStores.threshold: 50 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.boot.key: ••••• [GRIST_BOOT_KEY]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.client.broadcastTimeoutMs: 60000 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.db.postgres.usePreparedStatements: false [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.docApi.maxParallelRequestsPerDoc: 10 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.docStorage.vacuumOnClose: true [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.docWorker.updateLoadIntervalMs: 5000 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.docWorker.updateLoadVarianceMs: 1000 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.externalStorage.active: false
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.externalStorage.activeDocTimeout: 5 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.702 - info: == grist.externalStorage.minio.bucket: - [GRIST_DOCS_S3_BUCKET]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.features.formFraming: border [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.features.sqlite.mode: nosync [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.history.action.maxBytes: 1000000000 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.history.action.maxRows: 1000 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.homeUrl: https://grist.cloud.•••••.••••• [APP_HOME_URL]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.integrations.sql.timeout: 1000 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.log.apiDetails: false [default] [GRIST_LOG_API_DETAILS]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.log.json: false [default] [GRIST_LOG_AS_JSON]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.log.level: debug [GRIST_LOG_LEVEL]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.active: oidc
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.forced: true [GRIST_FORCE_LOGIN]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.system.oidc.clientId: b187683d-8430-422c-be13-8a4dbdac6bc7-oidc [GRIST_OIDC_IDP_CLIENT_ID]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.system.oidc.clientSecret: ***** [GRIST_OIDC_IDP_CLIENT_SECRET]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.system.oidc.emailPropertyKey: email [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.system.oidc.enabledProtections: PKCE,STATE [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.system.oidc.endSessionEndpoint:  [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.system.oidc.ignoreEmailVerified: true [GRIST_OIDC_SP_IGNORE_EMAIL_VERIFIED]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.system.oidc.issuer: https://my.cloud.•••••.•••••/openid [GRIST_OIDC_IDP_ISSUER]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.system.oidc.skipEndSessionEndpoint: true [GRIST_OIDC_IDP_SKIP_END_SESSION_ENDPOINT]
    Oct 04 11:45:37 2026-10-04 15:45:37.703 - info: == grist.login.system.oidc.spHost: https://grist.cloud.•••••.••••• [GRIST_OIDC_SP_HOST]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.login.type: oidc [GRIST_LOGIN_SYSTEM_TYPE]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.mcp.enabled: false [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.oauth2.redirectHost: https://grist.cloud.•••••.••••• [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.orgs.canAnyoneCreateOrgs: true [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.orgs.enablePersonalOrgs: true [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.proxy: - [GRIST_PROXY_FOR_UNTRUSTED_URLS]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.server.headersTimeoutMs: 306000 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.server.keepAliveTimeoutMs: 305000 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.server.requestTimeoutMs: 306000 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.telemetry.syncWork.breakMs: 50 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.telemetry.syncWork.limitMs: 50 [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.userPresence.enable: true [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: == grist.userPresence.iconPerTab: false [default]
    Oct 04 11:45:37 2026-10-04 15:45:37.704 - info: FlexServer is ready
    Oct 04 11:45:37 Grist is available at https://grist.cloud.•••••.•••••
    Oct 04 11:45:37 2026-10-04 15:45:37.706 - info: RestartShell: child ready
    Oct 04 11:45:40 2026-10-04 15:45:40.114 - debug: Auth[GET]: grist.cloud.•••••.••••• / customHostSession=, method=GET, host=grist.cloud.•••••.•••••, path=/, org=, email=anon@getgrist.com, userId=1, altSessionId=uLd2DueSpVpWm6HJazBmZ3
    Oct 04 11:45:40 2026-10-04 15:45:40.115 - debug: Authorizer: redirecting to sign up
    Oct 04 11:45:42 2026-10-04 15:45:42.164 - debug: Auth[GET]: grist.cloud.•••••.••••• /worker/3HGkKt4kriGw11bHP2YXDZ customHostSession=, method=GET, host=grist.cloud.•••••.•••••, path=/worker/3HGkKt4kriGw11bHP2YXDZ, org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24
    Oct 04 11:45:42 2026-10-04 15:45:42.168 - info: DocWorkerMap.assignDocWorker 3HGkKt4kriGw11bHP2YXDZ undefined
    Oct 04 11:45:42 2026-10-04 15:45:42.169 - info: DocWorkerMap.assignDocWorker 3HGkKt4kriGw11bHP2YXDZ already assigned to 172.18.18.212_8484
    Oct 04 11:45:42 2026-10-04 15:45:42.531 - debug: allowHost:  req=http://grist.cloud.•••••.•••••/?clientId=27ab43afa3d95277&counter=1&newClient=0&lastSeqId=3&browserSettings=%7B%22timezone%22%3A%22America%2FToronto%22%7D&user=cloudron.•••••.•••••%40•••••.•••••&doc=3HGkKt4kriGw11bHP2YXDZ, origin=https://grist.cloud.•••••.•••••, actualUrl=grist.cloud.•••••.•••••, allowedUrl=grist.cloud.•••••.•••••
    Oct 04 11:45:42 2026-10-04 15:45:42.551 - info: Comm: Got Websocket connection clientId=792a2c00a19d52ac, counter=null, urlPath=/?clientId=27ab43afa3d95277&counter=1&newClient=0&lastSeqId=3&browserSettings=%7B%22timezone%22%3A%22America%2FToronto%22%7D&user=cloudron.•••••.•••••%40•••••.•••••&doc=3HGkKt4kriGw11bHP2YXDZ, reuseClient=false
    Oct 04 11:45:42 2026-10-04 15:45:42.554 - debug: Client sending clientConnect newClient=false, needReload=true, docsClosed=0, missedMessages=undefined, org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=1
    Oct 04 11:45:42 2026-10-04 15:45:42.677 - info: Client websocket closed; will discard client in 300 sec org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=1
    Oct 04 11:45:42 2026-10-04 15:45:42.712 - debug: Auth[GET]: grist.cloud.•••••.••••• /docs/3HGkKt4kriGw customHostSession=, method=GET, host=grist.cloud.•••••.•••••, path=/docs/3HGkKt4kriGw, org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24
    Oct 04 11:45:42 2026-10-04 15:45:42.732 - debug: Auth[POST]: grist.cloud.•••••.••••• /log customHostSession=, method=POST, host=grist.cloud.•••••.•••••, path=/log, org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24
    Oct 04 11:45:42 2026-10-04 15:45:42.732 - debug: allowHost:  req=http://grist.cloud.•••••.•••••/log, origin=https://grist.cloud.•••••.•••••, actualUrl=grist.cloud.•••••.•••••, allowedUrl=grist.cloud.•••••.•••••
    Oct 04 11:45:42 2026-10-04 15:45:42.746 - warn: client error message=Comm: pending with outdated clientId, stack=_resendPendingRequest@https://grist.cloud.•••••.•••••/v/unknown/main.bundle.js:2:159242
    Oct 04 11:45:42 _onServerMessage@https://grist.cloud.•••••.•••••/v/unknown/main.bundle.js:2:158593
    Oct 04 11:45:42 y@https://grist.cloud.•••••.•••••/v/unknown/main.bundle.js:2:1612047
    Oct 04 11:45:42 g@https://grist.cloud.•••••.•••••/v/unknown/main.bundle.js:2:1611839
    Oct 04 11:45:42 d@https://grist.cloud.•••••.•••••/v/unknown/main.bundle.js:2:1609793
    Oct 04 11:45:42 95216/r</c.trigger@https://grist.cloud.•••••.•••••/v/unknown/main.bundle.js:2:1611733
    Oct 04 11:45:42 _processReceivedMessage@https://grist.cloud.•••••.•••••/v/unknown/main.bundle.js:2:152052
    Oct 04 11:45:42 onmessage@https://grist.cloud.•••••.•••••/v/unknown/main.bundle.js:2:150648
    Oct 04 11:45:42 _onWSMessage@https://grist.cloud.•••••.•••••/v/unknown/main.bundle.js:2:147273
    Oct 04 11:45:42 , status=undefined, details=undefined, docId=undefined, page=https://grist.cloud.•••••.•••••/o/docs/3HGkKt4kriGw/Untitled-document, language=en-US, platform=MacIntel, userAgent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:146.0) Gecko/20100101 Firefox/146.0, org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24
    Oct 04 11:45:42 2026-10-04 15:45:42.891 - debug: Auth[GET]: grist.cloud.•••••.••••• /worker/3HGkKt4kriGw11bHP2YXDZ customHostSession=, method=GET, host=grist.cloud.•••••.•••••, path=/worker/3HGkKt4kriGw11bHP2YXDZ, org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24
    Oct 04 11:45:42 2026-10-04 15:45:42.891 - info: DocWorkerMap.assignDocWorker 3HGkKt4kriGw11bHP2YXDZ undefined
    Oct 04 11:45:42 2026-10-04 15:45:42.892 - info: DocWorkerMap.assignDocWorker 3HGkKt4kriGw11bHP2YXDZ already assigned to 172.18.18.212_8484
    Oct 04 11:45:43 2026-10-04 15:45:43.271 - debug: allowHost:  req=http://grist.cloud.•••••.•••••/?clientId=792a2c00a19d52ac&counter=2&newClient=1&browserSettings=%7B%22timezone%22%3A%22America%2FToronto%22%7D&user=cloudron.•••••.•••••%40•••••.•••••&doc=3HGkKt4kriGw11bHP2YXDZ, origin=https://grist.cloud.•••••.•••••, actualUrl=grist.cloud.•••••.•••••, allowedUrl=grist.cloud.•••••.•••••
    Oct 04 11:45:43 2026-10-04 15:45:43.296 - info: Comm: Got Websocket connection org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=1, urlPath=/?clientId=792a2c00a19d52ac&counter=2&newClient=1&browserSettings=%7B%22timezone%22%3A%22America%2FToronto%22%7D&user=cloudron.•••••.•••••%40•••••.•••••&doc=3HGkKt4kriGw11bHP2YXDZ, reuseClient=true
    Oct 04 11:45:43 2026-10-04 15:45:43.296 - debug: Client sending clientConnect newClient=true, needReload=false, docsClosed=0, missedMessages=undefined, org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2
    Oct 04 11:45:43 2026-10-04 15:45:43.383 - debug: DocWorkerMap.setWorkerLoad workerId=172.18.18.212_8484, load=0
    Oct 04 11:45:43 2026-10-04 15:45:43.448 - debug: DocManager.fetchDoc 3HGkKt4kriGw11bHP2YXDZ
    Oct 04 11:45:43 2026-10-04 15:45:43.491 - info: ActiveDoc loadDoc org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2, access=owners, docId=3HGkKt4kriGw11bHP2YXDZ
    Oct 04 11:45:43 2026-10-04 15:45:43.493 - info: DocWorkerMap.assignDocWorker 3HGkKt4kriGw11bHP2YXDZ 172.18.18.212_8484
    Oct 04 11:45:43 2026-10-04 15:45:43.495 - info: DocWorkerMap.assignDocWorker 3HGkKt4kriGw11bHP2YXDZ already assigned to 172.18.18.212_8484
    Oct 04 11:45:43 2026-10-04 15:45:43.534 - debug: DB 3HGkKt4kriGw11bHP2YXDZ open successfully
    Oct 04 11:45:43 2026-10-04 15:45:43.550 - info: Launching Pyodide sandbox via spawn command=undefined, args=[run, --allow-read=/app/code/sandbox/pyodide, --allow-read=/app/code/sandbox/grist, --allow-read=/app/code/sandbox/requirements.txt, --allow-write=/app/code/sandbox/pyodide/_build/cache, --allow-env, /app/code/sandbox/pyodide/pipe.js], cwd=/app/code/sandbox, stdio=[pipe, pipe, pipe], PYTHONPATH=/app/code/sandbox/grist, IMPORTDIR=undefined, ELECTRON_RUN_AS_NODE=1, PIPE_MODE=minimal
    Oct 04 11:45:43 2026-10-04 15:45:43.556 - info: 3-pipe Sandbox started sandboxPid=44, flavor=pyodide, command=undefined, entryPoint=(default), docId=3HGkKt4kriGw11bHP2YXDZ
    Oct 04 11:45:43 2026-10-04 15:45:43.596 - debug: DocClients now 1 clients; new client is 792a2c00a19d52ac (fd 0) org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2, access=owners, docId=3HGkKt4kriGw11bHP2YXDZ
    Oct 04 11:45:43 2026-10-04 15:45:43.598 - debug: ActiveDoc will stay open org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2, access=owners, docId=3HGkKt4kriGw11bHP2YXDZ
    Oct 04 11:45:43 2026-10-04 15:45:43.609 - debug: Time taken in getRecentMinimalActionGroups: 0 ms
    Oct 04 11:45:43 2026-10-04 15:45:43.610 - debug: DocManager openDoc done startTs=1791128743413, start=2026-10-04T15:45:43.413Z, org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2, docId=3HGkKt4kriGw11bHP2YXDZ, mark_openDocAuth=35, mark_fetchDoc=183, mark_fetchOther=196, mark_getDocUsage=196, mark_end=197
    Oct 04 11:45:43 2026-10-04 15:45:43.671 - debug: DocClients skip broadcastDocMessage because it is not allowed for this client org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2, access=owners, docId=3HGkKt4kriGw11bHP2YXDZ
    Oct 04 11:45:43 2026-10-04 15:45:43.748 - info: activeDocMethod org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2, access=owners, docId=3HGkKt4kriGw11bHP2YXDZ, docMethod=listActiveUserProfiles, durationMs=1
    Oct 04 11:45:43 2026-10-04 15:45:43.762 - debug: ActiveDoc fetchQuery {"tableId":"Table1","filters":{}} (regular) org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2, access=owners, docId=3HGkKt4kriGw11bHP2YXDZ
    Oct 04 11:45:43 2026-10-04 15:45:43.766 - debug: ActiveDoc fetchQuery -> 0 rows, cols: manualSort, A, B, C org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2, access=owners, docId=3HGkKt4kriGw11bHP2YXDZ
    Oct 04 11:45:43 2026-10-04 15:45:43.766 - debug: activeDocMethod org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2, access=owners, docId=3HGkKt4kriGw11bHP2YXDZ, docMethod=fetchTable, durationMs=7
    Oct 04 11:45:43 2026-10-04 15:45:43.855 - debug: activeDocMethod org=docs, email=cloudron.•••••.•••••@•••••.•••••, userId=5, altSessionId=9S7vSYt64Coa7wiVjYzm24, age=0, clientId=792a2c00a19d52ac, counter=2, access=owners, docId=3HGkKt4kriGw11bHP2YXDZ, docMethod=getUsersForViewAs, durationMs=76
    Oct 04 11:45:44 ==> Changing ownership
    Oct 04 11:45:44 ==> Starting Grist
    Oct 04 11:45:48 2026-10-04 15:45:48.839 - info: RestartShell: starting
    Oct 04 11:45:48 2026-10-04 15:45:48.852 - info: RestartShell: listening on port 8484
    Oct 04 11:45:48 2026-10-04 15:45:48.853 - info: RestartShell: spawning child
    Oct 04 11:45:50 => Healthcheck error got response status 503
    Oct 04 11:45:51 Welcome to Grist.
    Oct 04 11:45:51 Logging at level "debug" (set GRIST_LOG_LEVEL to change)
    Oct 04 11:45:51 2026-10-04 15:45:51.458 - info: Setting up database...
    Oct 04 11:45:51 2026-10-04 15:45:51.863 - info: Database setup complete.
    Oct 04 11:45:51 2026-10-04 15:45:51.874 - info: == Grist version is 1.7.20 (commit unknown)
    Oct 04 11:45:51 2026-10-04 15:45:51.884 - debug: skipping incomplete language ar (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:51 2026-10-04 15:45:51.885 - debug: skipping incomplete language bci (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:51 2026-10-04 15:45:51.891 - debug: skipping incomplete language ca (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:51 2026-10-04 15:45:51.925 - debug: skipping incomplete language en-GB (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:51 2026-10-04 15:45:51.947 - debug: skipping incomplete language fa (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:52 2026-10-04 15:45:52.003 - debug: skipping incomplete language ig (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:52 2026-10-04 15:45:52.031 - debug: skipping incomplete language nl (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:52 2026-10-04 15:45:52.110 - debug: skipping incomplete language th (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:52 2026-10-04 15:45:52.111 - debug: skipping incomplete language tr (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:52 2026-10-04 15:45:52.120 - debug: skipping incomplete language ur (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:52 2026-10-04 15:45:52.142 - debug: skipping incomplete language zun (set GRIST_OFFER_ALL_LANGUAGES if you want it)
    Oct 04 11:45:52 2026-10-04 15:45:52.208 - warn: did not find an appropriately named example workspace in deployment
    Oct 04 11:45:52 2026-10-04 15:45:52.263 - info: OIDCConfig: initialized with issuer https://my.cloud.•••••.•••••/openid
    Oct 04 11:45:52 2026-10-04 15:45:52.265 - info: Creating Redis-based DocWorker
    Oct 04 11:45:52 2026-10-04 15:45:52.271 - info: No plugins found in directory: /app/code/.grist/plugins
    Oct 04 11:45:52 2026-10-04 15:45:52.285 - info: Found 1 valid plugins on the system
    Oct 04 11:45:52 2026-10-04 15:45:52.285 - debug: PLUGIN builtIn/core -- /app/code/plugins/core
    Oct 04 11:45:52 ┌────────────────────────────────────────┐
    Oct 04 11:45:52 │                                        │
    Oct 04 11:45:52 │   BOOT KEY: •••••   │
    
    

  • remotestorage.io
    rosanoR rosano
    Discuss

    @seeker Community app now available https://forum.cloudron.io/topic/15473/bind-git-backed-web-apps


  • Bind: Git-backed web apps
    rosanoR rosano
    Community Packages

    Self-hostable remoteStorage server that enables connecting web apps to git. I'm currently using it to sync web apps to my Gitea instance on Cloudron but it's still in development. So far you can connect a GitHub account and choose a repo.

    main.gif

    Be welcome to discuss also on the remoteStorage forum: https://community.remotestorage.io/t/bind-remotestorage-server-backed-by-git/967


    Bind

    Detail Link / Info
    Wishlist topic https://forum.cloudron.io/post/7030
    Author @rosano
    Repository https://github.com/0dataapp/bind
    Install CloudronVersions.json

  • Backup seems to fail for community app
    rosanoR rosano
    Community Packages

    @james I tried installing the app on a different name and the issue was still there, but now it's not for some reason. Will try what you suggest if it happens again and report back.


  • Backup seems to fail for community app
    rosanoR rosano
    Community Packages

    @james said:

    Depending on how the community app it is packaged it could be magnitude of things.
    When we introduced community apps, we explicitly stated that we can not offer support for these.

    I'm not sure it has anything to do with the app. Seems like it's just a permissions issue on Cloudron? Two other installation of the same build (one via cloudron install and one via Community App) have no issue.


  • Backup seems to fail for community app
    rosanoR rosano
    Community Packages

    Not sure why this would be the case, other apps are fine.

    2026-04-29T08:24:40.883Z taskworker: Starting task 16691. Logs are at /home/yellowtent/platformdata/logs/tasks/16691.log
    2026-04-29T08:24:40.931Z taskworker: Running task of type appBackup
    2026-04-29T08:24:40.958Z tasks: updating task 16691 with: {"percent":1,"message":"Backing up •••••.•••••.•••••.•••••. Waiting for lock"}
    2026-04-29T08:24:40.982Z locks: write: current locks: {"app_backup_3c57c93b-7c67-40ad-bd65-27a18e073a68":"16691"}
    2026-04-29T08:24:40.982Z locks: acquire: app_backup_3c57c93b-7c67-40ad-bd65-27a18e073a68
    2026-04-29T08:24:40.983Z tasks: updating task 16691 with: {"message":"Snapshotting app •••••.•••••.•••••.•••••"}
    2026-04-29T08:24:40.984Z tasks: setCompleted - 16691: {"result":null,"error":{"message":"Error creating config.json: EACCES: permission denied, open '/home/yellowtent/appsdata/3c57c93b-7c67-40ad-bd65-27a18e073a68/config.json'","reason":"FileSystem Error"},"percent":100}
    2026-04-29T08:24:40.985Z tasks: updating task 16691 with: {"completed":true,"result":null,"error":{"message":"Error creating config.json: EACCES: permission denied, open '/home/yellowtent/appsdata/3c57c93b-7c67-40ad-bd65-27a18e073a68/config.json'","reason":"FileSystem Error"},"percent":100}
    2026-04-29T08:24:40.992Z taskworker: Task took 0.112 seconds
    BoxError: Error creating config.json: EACCES: permission denied, open '/home/yellowtent/appsdata/3c57c93b-7c67-40ad-bd65-27a18e073a68/config.json'
        at Object.writeConfig (file:///home/yellowtent/box/src/apps.js:1603:15)
        at snapshotApp (file:///home/yellowtent/box/src/backuptask.js:328:16)
        at uploadAppSnapshot (file:///home/yellowtent/box/src/backuptask.js:340:11)
        at backupAppWithTag (file:///home/yellowtent/box/src/backuptask.js:382:32)
        at backupApp (file:///home/yellowtent/box/src/backuptask.js:430:24)
        at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
        at async appBackup (file:///home/yellowtent/box/src/backuptask.js:594:20)
    2026-04-29T08:24:40.993Z Exiting with code 0
    
    

  • `cloudron versions update` returns cli version
    rosanoR rosano
    Support cli

    I was trying to update an existing version of my community app via

    cloudron versions update --version 0.0.1
    

    and it seems to return 8.2.1 which is my cli version.

    Not sure if I did something incorrect or if this is a bug.


  • CLI ignores cloudron/Dockerfile
    rosanoR rosano
    Support cli build

    Just tried updating the CLI via npm install -g cloudron@8.2.1 and it seems to work now 👍🏽 Thanks for looking into it.


  • CLI ignores cloudron/Dockerfile
    rosanoR rosano
    Support cli build

    @james My fix at the moment is to make a temporary commit moving Cloudron stuff into /Dockerfile and then deleting the commit after successful install. Seems to look only there.


  • Community App: CloudronVersions.json Response timeout
    rosanoR rosano
    Support community

    Similarly described in Unusable application:

    Pushing/pulling an image from a remote works correctly. However, attempting to pull an image from the same server doesn't work at all.

    I tried upgrading to Ubuntu 24.04 and it seems to work as expected now (versions file + icon on the same server without issue).


  • Can't run cloudron update for an app in error state
    rosanoR rosano
    Support docker custom image

    rosano said:

    I'm currently very stuck on updating those custom apps when the registry is inaccessible and would appreciate any help.

    I've solved my issue by pushing an image to an external registry (docker hub) and then tagging the unreachable image:

    docker pull alfa/bravo:charlie
    docker tag alfa/bravo:charlie docker.cloudron.example.com/bravo:latest
    docker push docker.cloudron.example.com/bravo:latest
    

    But I've learned that I need to phase out the self-hosted Docker registry due to those same-server network issues and migrate to Cloudron's CLI's built-in uploading and building.


  • Can't run cloudron update for an app in error state
    rosanoR rosano
    Support docker custom image

    @nebulon said:

    So you are not able to reach the docker registry to install apps or are you referring to a specific registry used by some community packages?

    My registry is on the same Cloudron. I have built images with the Builder app and pushed there to install custom apps in the past. But it seems recently my Cloudron can no longer make network requests to the same Cloudron (maybe I've misconfigured something?).

    Maybe the thread is mixing issues

    I suppose for this thread I would only want to know if there's a way to force update an app in error state. The network issue is documented here. I'm currently very stuck on updating those custom apps when the registry is inaccessible and would appreciate any help.


  • Can't run cloudron update for an app in error state
    rosanoR rosano
    Support docker custom image

    @nebulon I don't see any reference to hairpin:

    [OK]	node version is correct
    [OK]	IPv6 is enabled and public IPv6 address is working
    [OK]	docker is running
    [OK]	docker version is correct
    [OK]	MySQL is running
    [OK]	netplan is good
    [OK]	DNS is resolving via systemd-resolved
    [OK]	unbound is running
    [OK]	nginx is running
    [OK]	dashboard cert is valid
    [OK]	dashboard is reachable via loopback
    [OK]	No pending database migrations
    [OK]	Service 'mysql' is running and healthy
    [OK]	Service 'postgresql' is running and healthy
    [OK]	Service 'mongodb' is running and healthy
    [OK]	Service 'mail' is running and healthy
    [OK]	Service 'graphite' is running and healthy
    [OK]	Service 'sftp' is running and healthy
    [OK]	box v9.1.5 is running
    [OK]	Dashboard is reachable via domain name
    

  • Can't run cloudron update for an app in error state
    rosanoR rosano
    Support docker custom image

    @ekevu123 I'm in the same situation now and I'm wondering if your registry is on a separate Cloudron or everything's on one? I have issues whenever my Cloudron makes requests to URLs hosted on the same Cloudron and now it seems I can no longer install because the image can't be reached for that reason 😵


  • CLI ignores cloudron/Dockerfile
    rosanoR rosano
    Support cli build

    I just tried cloudron install --file platform/cloudron/Dockerfile in another project and it seems to still be ignoring the --file argument.

    No build detected. This package will be built on the server.
    Location: test-build
    App is being installed.
    
     => Queued ...
     => Deleting old containers 
     => Building image 
    
    App installation error: Installation failed: Unable to build image from /home/yellowtent/appsdata/f84d72bb-bbbb-4f2e-a731-30b8cf399128/source.tar.gz: (HTTP code 500) server error - Cannot locate specified Dockerfile: Dockerfile
    

    Is this a bug or have I missed something?


  • CLI ignores cloudron/Dockerfile
    rosanoR rosano
    Support cli build

    With v8.0.2 cloudron update seems to only look for Dockerfile at the root even though my project has cloudron/Dockerfile. I tried deleting the Dockerfile at the root and/or setting --file cloudron/Dockerfile but it still seems to be stuck looking at the root.

    Cannot locate specified Dockerfile: Dockerfile 
    

  • Community App: CloudronVersions.json Response timeout
    rosanoR rosano
    Support community

    Ok, I've solved this for my purposes.

    Seems like when I try curl -v https://bind.0data.app/CloudronVersions.json from my Cloudron, it fails.

    *   Trying •••.••.••.••:443...
    * connect to •••.••.••.•• port 443 failed: Connection timed out
    * Failed to connect to bind.0data.app port 443 after 129437 ms: Connection timed out
    * Closing connection 0
    curl: (28) Failed to connect to bind.0data.app port 443 after 129437 ms: Connection timed out
    

    Which tells me there's some issue with loading URLs from the same server.

    Interestingly, if I find the internal IP via

    docker inspect <process> | grep '"IPAddress"'
    

    and port via

    docker inspect <process> | grep -A5 '"Ports"'
    

    I can call successfully load the file with

    curl -v -H "Host: bind.0data.app" http://<ip>:<port>/CloudronVersions.json
    

    But I have decided it's easier for me to simply host a kind of URL masking thing on another server. Anyway thanks for the help and attention from everyone who chimed in 🙏🏽☀️


  • Community App: CloudronVersions.json Response timeout
    rosanoR rosano
    Support community

    Actually I spoke too soon, it did timeout but then it kept going and installed the app. And now it seems to work with the SVG as well. Just seem to not work when my server uses a versions file on the same server.


  • Community App: CloudronVersions.json Response timeout
    rosanoR rosano
    Support community

    @robi I tried with png in case you mean SVG is an issue, same thing.

    Mar 23 09:51:19 tasks: updating task 16295 with: {"percent":15,"message":"Downloading icon"}
    Mar 23 09:51:19 apptask: downloadIcon: Downloading community icon https://static.rosano.ca/0data/identity.png
    Mar 23 09:52:19 community: Attempt 1 failed. Will retry: Network error downloading icon: The operation was aborted
    

  • Community App: CloudronVersions.json Response timeout
    rosanoR rosano
    Support community

    @joseph said:

    If it's important, write to us on support@cloudron.io and we will have to debug further.

    I just wrote and was told to post here because it's a technical request?

  • Login

  • Don't have an account? Register

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