Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Does Baserow automation work in Cloudron?

    Baserow
    5
    2 Votes
    5 Posts
    82 Views
    klawitterbK
    @james i've noticed that my baserow instance now runs into out of memory after update to 1.33.3 (or .4, not sure). Either it now needs loads of more memory or there's something wrong, had increased memory limit from 5gb to 6.5 gb and it still wasn't enough.
  • Logging - targets, retention etc

    Feature Requests
    11
    2 Votes
    11 Posts
    1k Views
    jamesJ
    Hello @charlesnw @charlesnw said in Logging - targets, retention etc: I believe that anything done in the GUI is also available via API? I think the GUI uses the API behind the scenes? That is correct.
  • Kudos regarding a great restore/migration experience

    Moved Solved Discuss
    2
    2 Votes
    2 Posts
    3 Views
    jamesJ
    Hello @jadudm On behalf of the Cloudron team, thank you very much. If there is anything in the process, you think, we could further improve, please let us know.
  • Is Evcc functional?

    Unsolved evcc
    6
    0 Votes
    6 Posts
    42 Views
    C
    Thank you both @robi and @nebulon Got it working. Here are the steps in case if anybody wishes to replicate the process. It would help a lot to the new Evcc users if the package includes the mentioned changes already. Steps: Installed Evcc Click: File Manager Click: New > New File Name it this text: evcc.yaml Click: Restart App Refresh the web browser window. A new file will be created named: evcc.db Open the file: evcc.yaml There is already a text like this inside: network: schema: http port: 7070 host: evcc.demo.cloudron.io database: type: sqlite dsn: /app/data/evcc.db Click enter 2 times to be able to write to a new line bellow Copy-paste the text from here: https://docs.evcc.io/en/docs/installation/configuration#manual This is the text: ## minimal configuration example site: title: Home # display name for UI meters: grid: my_grid pv: - my_pv battery: - my_battery # define your loadpoints according your needs # see https://docs.evcc.io/en/docs/reference/configuration/loadpoints loadpoints: - title: Garage # display name for UI charger: my_charger # charger vehicle: my_car # default vehicle # meter definitions # name can be freely chosen and is used as reference when assigning meters to site and loadpoints # for documentation see https://docs.evcc.io/docs/devices/meters meters: # replace with your real grid meter - name: my_grid type: template template: demo-meter usage: grid power: -1000 # 1 kW feed-in # replace with your real solar system - name: my_pv type: template template: demo-meter usage: pv power: 4000 # 4 kW production # replace with your real battery - name: my_battery type: template template: demo-battery usage: battery power: -1000 # 1 kW battery charging soc: 50 # 50 % state of charge # replace with your real charger # see https://docs.evcc.io/docs/devices/chargers chargers: - name: my_charger type: template template: demo-charger status: C # charging power: 2000 # 2 kW charging power enabled: true # optional # replace with your real vehicle (optional) # see https://docs.evcc.io/docs/devices/vehicles vehicles: - name: my_car type: template template: offline title: blue e-Golf capacity: 50 # in kWh # enter your real grid tariff and feed-in price # see https://docs.evcc.io/docs/tariffs tariffs: currency: EUR grid: type: fixed price: 0.29 # EUR/kWh feedin: type: fixed price: 0.10 # EUR/kWh Click: Save + Restart App Click on Evcc (URL) There we can see Demo data for: blue e-Golf - charging Add a new Admin password Click: Configuration + Add the password again Click to activate the Experimental features After this hopefully, the changes can be performed directly inside Evcc via the web browser UI. If not, the evcc.yaml file will have to be edited manually, because these terminal commands still aren't working: evcc detect + evcc configure Hope that was useful
  • NTP configuration in UI

    Feature Requests ntp
    3
    5 Votes
    3 Posts
    579 Views
    C
    Any possibility of getting NTP configuration (via API/GUI) into Cloudron 10 roadmap?
  • 1 Votes
    5 Posts
    64 Views
    humptydumptyH
    Idk much about the sec vulnerabilities but RC has never been down for me. The last thing you want is the inability to access your email. Iirc I’ve seen sogo app issues.
  • CCAI : Cloudron Custom App Installer

    App Wishlist
    25
    16 Votes
    25 Posts
    3k Views
    timconsidineT
    I have no doubt that Cloudron team would do a much better job of implementing a custom app installer. Technically not difficult and they have the benefit of working it into and inside the platform. But I acknowledge that a decision to do so is not technically driven, but strategic. Making it easier to install custom apps to Cloudron will, in my opinion, support strong Cloudron growth. But it comes with the risk of low-quality custom apps harming Cloudron reputation and increasing support loads. If it’s an official platform-based installer, it could be difficult to push back against support tickets, even if the app is marked UNSTABLE or CUSTOM. Maybe some community based app ranking or scoring could help, but I acknowledge these are not robust answers to the issue.
  • max instances, no feedback

    Unsolved Support
    2
    0 Votes
    2 Posts
    28 Views
    jamesJ
    Hello @user123456 The demo instance is limited to a certain amount of installed apps. If the limit is reached, an app needs to be uninstalled. There should have been an error message, but seems it is missing. Thanks for reporting this. I have uninstalled some apps and you should be able to install your app for testing. Since it is a demo server, you can also uninstall any app.
  • 2 Votes
    9 Posts
    71 Views
    nebulonN
    Usually databases don't flush immediately to disk on write, this means if a backup is taken from the persistent storage, it may not contain all the latest data at that point in time, but more importantly the database engine might even write to disk, while Cloudron is backing up the files, which can lead to inconsistency on restore.
  • Beszel - Package Updates

    Pinned Beszel
    29
    1 Votes
    29 Posts
    3k Views
    Package UpdatesP
    [1.5.1] Fix app URLs in notifications
  • MiroTalk - Package Updates

    Pinned MiroTalk
    541
    2 Votes
    541 Posts
    296k Views
    Package UpdatesP
    [2.5.34] Update mirotalksfu to 2.0.84
  • Customize Group Full Name to use in Mail

    Moved Solved SOGo mail
    3
    0 Votes
    3 Posts
    39 Views
    V
    @james thank you so much! SOGoMailCustomFromEnabled worked prefectly!
  • Bluesky Personal Data Server

    App Wishlist
    32
    13 Votes
    32 Posts
    9k Views
    E
    Okay, find below information about how the app runs. What I haven't tested: Setting up notification e-mails (should be simple using SMTP) Actually transferring the data (a test account could be set up) Handling the integrated update mechanism: so far, all updates would need to be done manually. The Core Concept Standard deployment (Bluesky PDS original): Docker Compose file with 3 separate containers: pds - The main application caddy - Reverse proxy and TLS termination watchtower - Automatic container updates Cloudron deployment: Only 1 container - The main application (pds) Cloudron provides everything else: Reverse proxy (TLS, HTTPS) Health monitoring Storage management Update mechanism Remove from the application: Caddy service - Cloudron's reverse proxy handles HTTPS/TLS Watchtower service - Cloudron's update system handles updates Docker Compose file - Cloudron doesn't use compose; it builds from Dockerfile Keep from the application: The main app (Node.js + PDS in this case) The Dockerfile (but modify it to use a startup script) All application code and logic Files You Need to Create Three new files are required: 1. startup.sh - Environment validation and initialization 2. CloudronManifest.json - Cloudron deployment configuration 3. Modifications to Dockerfile - Add startup script and health check #!/bin/bash set -e # Startup script for Bluesky PDS on Cloudron # This script validates required environment variables and initializes the application # Required environment variables REQUIRED_VARS=( "PDS_HOSTNAME" "PDS_JWT_SECRET" "PDS_ADMIN_PASSWORD" "PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX" ) # Check required variables echo "Validating environment variables..." for var in "${REQUIRED_VARS[@]}"; do if [[ -z "${!var:-}" ]]; then echo "ERROR: Required environment variable $var is not set" exit 1 fi done # Set default data directory if not specified PDS_DATA_DIRECTORY="${PDS_DATA_DIRECTORY:-/app/data}" PDS_BLOBSTORE_DISK_LOCATION="${PDS_BLOBSTORE_DISK_LOCATION:-$PDS_DATA_DIRECTORY/blocks}" PDS_BLOB_UPLOAD_LIMIT="${PDS_BLOB_UPLOAD_LIMIT:-104857600}" # Set default service URLs (point to public AT Protocol network) PDS_DID_PLC_URL="${PDS_DID_PLC_URL:-https://plc.directory}" PDS_BSKY_APP_VIEW_URL="${PDS_BSKY_APP_VIEW_URL:-https://api.bsky.app}" PDS_BSKY_APP_VIEW_DID="${PDS_BSKY_APP_VIEW_DID:-did:web:api.bsky.app}" PDS_REPORT_SERVICE_URL="${PDS_REPORT_SERVICE_URL:-https://mod.bsky.app}" PDS_REPORT_SERVICE_DID="${PDS_REPORT_SERVICE_DID:-did:plc:ar7c4by46qjdydhdevvrndac}" PDS_CRAWLERS="${PDS_CRAWLERS:-https://bsky.network}" # Set defaults for optional variables LOG_ENABLED="${LOG_ENABLED:-true}" PDS_PORT="${PDS_PORT:-3000}" NODE_ENV="${NODE_ENV:-production}" # Create required directories echo "Initializing data directories..." mkdir -p "$PDS_DATA_DIRECTORY" mkdir -p "$PDS_BLOBSTORE_DISK_LOCATION" # Export all PDS variables for the application export PDS_HOSTNAME export PDS_JWT_SECRET export PDS_ADMIN_PASSWORD export PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX export PDS_DATA_DIRECTORY export PDS_BLOBSTORE_DISK_LOCATION export PDS_BLOB_UPLOAD_LIMIT export PDS_DID_PLC_URL export PDS_BSKY_APP_VIEW_URL export PDS_BSKY_APP_VIEW_DID export PDS_REPORT_SERVICE_URL export PDS_REPORT_SERVICE_DID export PDS_CRAWLERS export LOG_ENABLED export PDS_PORT export NODE_ENV # Optional environment variables (only export if set) if [[ -n "${PDS_EMAIL_SMTP_URL:-}" ]]; then export PDS_EMAIL_SMTP_URL fi if [[ -n "${PDS_EMAIL_FROM_ADDRESS:-}" ]]; then export PDS_EMAIL_FROM_ADDRESS fi if [[ -n "${PDS_PRIVACY_POLICY_URL:-}" ]]; then export PDS_PRIVACY_POLICY_URL fi if [[ -n "${LOG_DESTINATION:-}" ]]; then export LOG_DESTINATION fi if [[ -n "${LOG_LEVEL:-}" ]]; then export LOG_LEVEL fi echo "Starting Bluesky PDS on Cloudron" echo " Hostname: $PDS_HOSTNAME" echo " Data directory: $PDS_DATA_DIRECTORY" echo " Blob storage: $PDS_BLOBSTORE_DISK_LOCATION" echo " Port: $PDS_PORT" # Start the application exec node --enable-source-maps index.js FROM node:20.19-alpine3.22 as build RUN corepack enable # Build goat binary ENV CGO_ENABLED=0 ENV GODEBUG="netdns=go" WORKDIR /tmp RUN apk add --no-cache git go RUN git clone https://github.com/bluesky-social/goat.git && cd goat && git checkout v0.1.2 && go build -o /tmp/goat-build . # Move files into the image and install WORKDIR /app COPY ./service ./ RUN corepack prepare --activate RUN pnpm install --production --frozen-lockfile > /dev/null # Uses assets from build stage to reduce build size FROM node:20.19-alpine3.22 RUN apk add --update dumb-init bash # Avoid zombie processes, handle signal forwarding ENTRYPOINT ["dumb-init", "--"] WORKDIR /app COPY --from=build /app /app COPY --from=build /tmp/goat-build /usr/local/bin/goat COPY startup.sh /app/startup.sh RUN chmod +x /app/startup.sh EXPOSE 3000 ENV PDS_PORT=3000 ENV NODE_ENV=production # potential perf issues w/ io_uring on this version of node ENV UV_USE_IO_URING=0 # Health check to verify PDS is running and responsive HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ CMD node -e "require('http').get('http://localhost:3000/xrpc/_health', (r) => {if (r.statusCode !== 200) throw new Error(r.statusCode)})" || exit 1 CMD ["/app/startup.sh"] LABEL org.opencontainers.image.source=https://github.com/bluesky-social/pds LABEL org.opencontainers.image.description="AT Protocol PDS" LABEL org.opencontainers.image.licenses=MIT { "id": "io.cloudron.bluesky-pds", "version": "1.0.0", "manifestVersion": 2, "title": "Bluesky PDS", "description": "A Personal Data Server for AT Protocol and Bluesky", "tagline": "Self-hosted Bluesky server", "author": "Bluesky Social", "website": "https://github.com/bluesky-social/pds", "documentationUrl": "https://github.com/bluesky-social/pds", "tags": ["chat", "sync"], "httpPort": 3000, "healthCheckPath": "/xrpc/_health", "addons": { "localstorage": { "volumePath": "/app/data" }, "sendmail": {} } } Make sure to change all hardcoded references for the data directory /pds to /app/data! Then make sure to set all the required env variables. The admin password is for the server app, not your bluesky account. As I said, this gets the app to run and report positively to the healthcheck, now does someone want to test this? P.S.: I have now created and deleted a user via curl, and verified that it persists a server restart.
  • 1 Votes
    8 Posts
    140 Views
    O
    Hi @james, here is a redacted screenshot that should match my description at the beginning of this thread: [image: 1766853996763-742d9edb-e7fc-4770-91d5-bd880cab3fe7-image-resized.png]
  • OpenID Connect Error on iOS

    Solved Traccar oidc
    24
    0 Votes
    24 Posts
    3k Views
    H
    I can confirm that this issue was fixed with the changes made in the Cloudron app as well as upstream by the Traccar developers several months ago.
  • How to install plugins ?

    Solved Etherpad Lite
    7
    1
    0 Votes
    7 Posts
    73 Views
    M
    Add plugin info The plugin info is {"name":"ep_author_neat2","version":"2.0.11"} and has to be added to app/data/data/installed_plugins.json I think that the above step is the only one needed to install plugins. Simply add the wanted plugins into /data/data/installed_plugins.json and a restart will install them. Tested with the demo server: I installed Etherpad and modified the following files: /data/data/installed_plugins.json {"plugins":[ {"name":"ep_button_link","version":"1.0.11"}, {"name":"ep_delete_empty_pads","version":"0.0.11"}, {"name":"ep_author_hover","version":"1.0.12"}, {"name":"ep_spellcheck","version":"0.0.65"}, {"name":"ep_disable_reset_authorship_colours","version":"0.0.27"}, {"name":"ep_image_upload","version":"1.0.105"}, {"name":"ep_disable_delete_button","version":"0.0.1"}, {"name":"ep_prompt_for_name","version":"1.0.25"}, {"name":"ep_table_of_contents","version":"0.3.89"}, {"name":"ep_prefer_color_scheme","version":"0.0.10"}, {"name":"ep_countable","version":"0.0.15"}, {"name":"ep_default_colors_off","version":"0.0.1"}, {"name":"ep_align","version":"10.0.2"}, {"name":"ep_comments_page","version":"10.0.4"}, {"name":"ep_embedded_hyperlinks2","version":"1.2.4"}, {"name":"ep_font_color","version":"0.0.89"}, {"name":"ep_headings2","version":"0.2.68"}, {"name":"ep_markdown","version":"10.0.1"}, {"name":"ep_openid_connect","version":"3.0.13"}, {"name":"ep_user_displayname","version":"1.0.7"}, {"name":"ep_stable_authorid","version":"1.0.5"}, {"name":"ep_guest","version":"1.0.37"}, {"name":"ep_etherpad-lite","version":"2.5.3"} ] } data/settings.json { "requireAuthentication": false, "ep_spellcheck": { "disabledByDefault" : false }, "ep_toc": { "disable_by_default": false, "show_button": true }, "ep_button_link": { "link": "https://www.cloudron.io/", "text": "Cloudron", "after": "[data-key='home']" }, "ep_author_hover": { "disabledByDefault": false } } Logs Dec 27 10:17:58 [2025-12-27T09:17:58.576] [INFO] server - Starting Etherpad... Dec 27 10:17:58 [2025-12-27T09:17:58.605] [INFO] plugins - pnpm --version: 10.20.0 Dec 27 10:17:58 [2025-12-27T09:17:58.619] [INFO] plugins - check installed plugins for migration Dec 27 10:17:59 [2025-12-27T09:17:59.059] [INFO] plugins - Loading plugin ep_button_link... Dec 27 10:17:59 [2025-12-27T09:17:59.059] [INFO] plugins - Loading plugin ep_delete_empty_pads... Dec 27 10:17:59 [2025-12-27T09:17:59.059] [INFO] plugins - Loading plugin ep_author_hover... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_spellcheck... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_disable_reset_authorship_colours... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_image_upload... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_disable_delete_button... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_prompt_for_name... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_table_of_contents... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_prefer_color_scheme... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_countable... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_default_colors_off... Dec 27 10:17:59 [2025-12-27T09:17:59.060] [INFO] plugins - Loading plugin ep_align... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_comments_page... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_embedded_hyperlinks2... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_font_color... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_headings2... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_markdown... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_openid_connect... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_user_displayname... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_stable_authorid... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_guest... Dec 27 10:17:59 [2025-12-27T09:17:59.061] [INFO] plugins - Loading plugin ep_etherpad-lite... Dec 27 10:17:59 [2025-12-27T09:17:59.068] [INFO] plugins - Loaded 23 plugins https://pad.demo.cloudron.io
  • Jellyfin - Package Updates

    Pinned Jellyfin
    60
    1 Votes
    60 Posts
    16k Views
    Package UpdatesP
    [1.13.0] Migrate from LDAP to OpenID
  • Metabase - Package Updates

    Pinned Metabase
    484
    1 Votes
    484 Posts
    316k Views
    Package UpdatesP
    [2.29.7] Update metabase to 0.57.7.10 Full Changelog
  • TriliumNext - Package Updates

    Pinned TriliumNext
    103
    0 Votes
    103 Posts
    52k Views
    Package UpdatesP
    [1.27.1] Update Trilium to 0.101.1 Full Changelog A new layout was introduced which heavily changes both existing UI elements, as well as adds some new ones (by @eliandoran and @adoriandoran, with special thanks for @rom1dep for the valuable suggestions). Near the tab bar now there are built-in buttons to go the previous or the next note in history (only if the back/forward buttons are not already placed in the launch bar). Scripting overhaul: Custom widgets and Render note can now be written in Preact using JSX instead of the legacy format (jQuery + custom component framework). For more information, see documentation on Preact in Trilium. Right pane toggle missing on macOS vertical layout Launchpad Note Launcher hoisting no longer working Toggle right pane keyboard button not working on new layout Tabs do not appear when using vertical layout and legacy theme by @adoriandoran Text in headings do not respond to being bolded by @adoriandoran Table of contents in new layout: not displaying correctly on first render. The text editor keeps crashing in non-HTTPS
  • Cal.com - Package Updates

    Pinned Cal.com
    308
    1 Votes
    308 Posts
    90k Views
    Package UpdatesP
    [2.10.4] Update cal.com to 6.0.6 Full Changelog refactor: Add dedicated setup-db job to eliminate cache race condition by @keithwillcode in #26171 refactor: Remove buildjet cache from cache-build action by @keithwillcode in #26181 fix: flaky E2E tests on filter segment by @anikdhabal in #26182 fix: add 'use client' directive to embed-react build for Next.js App Router compatibility by @hariombalhara in #26184 fix: prevent WelcomeToCalcomModal footer overflow by @yashhhguptaaa in #26186 feat(companion): implement comprehensive booking actions system by @dhairyashiil in #26185 fix: improve mobile responsiveness for workflows page by @KartikLabhshetwar in #24257 fix: add hover transparency and rounded top to ApiKeyListItem actions by @KartikLabhshetwar in #26150 fix: GH based cronjobs in EU by @emrysal in #25992 feat(companion): linkedin plugin by @dhairyashiil in #26193