@james I would suggest adding a section in the Ollama or Discourse documentation explaining how to reach the Ollama service, internally and externally. For now, I only test whatever comes to my mind but unfortunately, I can't figure it out. Feels like magic 
mononym
Posts
-
Discourse AI (translation) -
Discourse AI (translation)First trial and error.
Added a new LLM entry in
/admin/plugins/discourse-ai/ai-llms/new?llmTemplate=none.- Named it "Ollama" and selected OpenAI as provider and qwen3.5:2b (pulled) as model.
- Set the URL to the Ollama instance and put the API key from it's
cat /app/data/.api_key. - Chose QwenTokenizer and 262000 context.
- Saved settings with the Submit button.
The "Run test" fails with
Non-streaming request failed: <html> <head><title>405 Not Allowed</title></head> <body> <center><h1>405 Not Allowed</h1></center> <hr><center>nginx/1.24.0 (Ubuntu)</center> </body> </html>- Changed URL to Ollama's
ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{print $2}', likehttp://172.18.16.111:11434
The "Run test" fails with "Internal Server Error"
Jul 06 20:35:43 172.18.0.1 - - [06/Jul/2026:18:35:43 +0000] "POST /admin/plugins/discourse-ai/ai-llms/test.json HTTP/1.1" 500 46 "https://eupalinos.eu/admin/plugins/discourse-ai/ai-llms/1/edit" "Mozilla/5.0 (X11; Linux x86_64; rv:152.0) Gecko/20100101 Firefox/152.0" Jul 06 20:35:43 Started POST "/admin/plugins/discourse-ai/ai-llms/test.json" for 185.244.213.58 at 2026-07-06 18:35:43 +0000 Jul 06 20:35:43 Processing by DiscourseAi::Admin::AiLlmsController#test as JSON Jul 06 20:35:43 Parameters: {"ai_llm" => {"max_prompt_tokens" => "262000", "max_output_tokens" => "", "ai_secret_id" => "2", "tokenizer" => "DiscourseAi::Tokenizer::QwenTokenizer", "url" => "http://172.18.16.111:11434", "display_name" => "Ollama", "name" => "qwen3.5:2b", "provider" => "open_ai", "vision_enabled" => "false", "input_cost" => "", "output_cost" => "", "cached_input_cost" => "", "cache_write_cost" => "0", "provider_params" => {"organization" => "", "disable_native_tools" => "", "reasoning_effort" => "default", "disable_streaming" => "false", "service_tier" => "default"}}} Jul 06 20:35:43 Completed 500 Internal Server Error in 22ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms) Jul 06 20:35:44 172.18.0.1 - - [06/Jul/2026:18:35:44 +0000] "POST /message-bus/99cb84f5c8754d6caf75a4140828e566/poll HTTP/1.1" 200 2 "https://eupalinos.eu/admin/plugins/discourse-ai/ai-llms/1/edit" "Mozilla/5.0 (X11; Linux x86_64; rv:152.0) Gecko/20100101 Firefox/152.0"More reading:
https://forum.cloudron.io/topic/14645/how-to-configure-ollama-in-openwebui
https://forum.cloudron.io/topic/13066/auto-tagging-ollama-setup -
Discourse AI (translation)Came across the topic Self-Hosting an OpenSource LLM for DiscourseAI and will maybe give it a try with an Ollama instance if possible.
-
Discourse AI (translation)Hello.
Some time ago, I came across a blog post from Discourse where they present a translation feature using the AI plugin. It basically enables that each user can converse seamlessly in a chosen language: https://blog.discourse.org/2026/03/building-for-every-language/
The Discourse AI plugin is now bundled and can be enabled manually for available features.
As I take care of a multilingual forum, I was wondering if it is doable to have the AI translation run with a Cloudron Ollama instance:
- Did someone manage connect a local Ollama instance to the Discourse AI Plugin ?
- What would be a recommended requirement in RAM and model (SotA ?) to make this work gracefully ?
- Otherwise, which third-party provider would you recommend using for a low traffic Discourse site ?
Thanks.
-
Login Security WarningHello. The updates did solve it and the banner disappeared. Thx.
-
Login Security WarningHello. I get the following warning on my GRAV CMS Dashboard:
Login security: no trusted host is configured, so password reset and activation email links are built from the request host and can be spoofed. Set a Site Host in the Login plugin settings, or a Custom Base URL in System settings.

None of "Site Host" and "Custom Base URL" fields has a value for now. The app is installed under a different domain name than the Cloudron Dashboard. Any advice what to do ?
Thanks !
-
Cheezy PizzaThere's a fork with additional features in the news : https://itsfoss.com/cheezy-pizza/
Git : https://github.com/hariharjeevan/cheezypizza -
LinkStack (was Littlelink-Custom)@jdaviescoates Thanks. I can only confirm. Should have read the right posts.
I get the feeling that LAMP-doable apps need their show window as well. -
CloudronHealth check not a crawlerIt's perfect. Thank you, @james !
-
LinkStack (was Littlelink-Custom)@girish I absolutely agree with you. Though it is a little bit more complicated if I wanna host a linktree page to be used by someone else who has only little technical know-how. Therefore, wants to get and manage something as simple as a linktree page by themself.

-
CloudronHealth check not a crawlerHello. May it be possible that the CloudronHealth check uses the
/srv/statusendpoint ? It looks like that it shows up as a crawler in the site pageview statistics otherwise. Thanks. -
POP3 settingsJust to let you know, I still get the error " Connection to the POP3 server is failing with an authentication error. Please check your POP3 settings." in the admin dashboard. Though everything looks to work perfectly fine.
-
WebSocket Connection ErrorIs there something 'unique' about your Cloudron set up? Also no Cloudflare.
Not that I'm aware of. The check looks good.
Vendor: QEMU Product: Standard PC (i440FX + PIIX, 1996) Linux: 6.8.0-111-generic Ubuntu: noble 24.04 Cloudron: 9.1.7 Execution environment: kvm Processor: Intel(R) Xeon(R) Gold 6126 CPU @ 2.60GHz BIOS pc-i440fx-9.2 CPU @ 2.0GHz x 4 RAM: 12248260KB Disk: /dev/sda2 232G [OK] node version is correct [OK] IPv6 is enabled in kernel. No public IPv6 address [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.7 is running [OK] Dashboard is reachable via domain name [WARN] Domain *******.com expiry check skipped because whois does not have this information -
WebSocket Connection ErrorI tried to look into why queued documents are not processed. In the end, it was only a question of enough patience.
But I noticed an error inSettings>System Status(top right) > "WebSocket Connection"{ "pngx_version": "2.20.15", "server_os": "Linux-6.8.0-111-generic-x86_64-with-glibc2.39", "install_type": "bare-metal", "storage": { "total": 92342554660, "available": 43966247799 }, "database": { "type": "postgresql", "url": "dbd53e3dca2edd46f2b70b12cc2d9b0c26", "status": "OK", "error": null, "migration_status": { "latest_migration": "documents.1075_workflowaction_order", "unapplied_migrations": [] } }, "tasks": { "redis_url": "redis://redis-d53e3dca-2edd-46f2-b70b-12cc2d9b0c26:6379", "redis_status": "OK", "redis_error": null, "celery_status": "OK", "celery_url": "celery@d53e3dca-2edd-46f2-b70b-12cc2d9b0c26", "celery_error": null, "index_status": "OK", "index_last_modified": "2026-05-17T12:53:29.784656Z", "index_error": null, "classifier_status": "OK", "classifier_last_trained": "2026-05-17T12:05:02.705492Z", "classifier_error": null, "sanity_check_status": "OK", "sanity_check_last_run": "2026-05-17T00:30:02.789882Z", "sanity_check_error": null }, "websocket_connected": "ERROR" }Don't know how critical that is...
-
Discourse 2026.4.0 does not start SidekiqA pity that this does not show up in the
/srv/statusendpoint as well. -
Discourse 2026.4.0 does not start SidekiqThe admin dashboard on our instance indicates "Translation missing: en.dashboard.problem.sidekiq_check" maybe corroborating the findings.
-
What's coming in Cloudron 10As this is about email, I wonder if there's a way to have a chatmail relay. Kind of "batteries included" for the couldron email addresses or so. But I guess that's out of scope. Just came across that project again because it got some larger grant: https://www.sovereign.tech/tech/chatmail
c.f. https://forum.cloudron.io/topic/13952/chatmail -
LAUTI - Open Source Community Calendar for events, groups and placesI found a docker compose.yaml which could maybe be helpful.
-
Cryptgeon - note / file sharing service written in rust & svelte.- Main Page: https://cryptgeon.org/
- Git: https://github.com/cupcakearmy/cryptgeon
- Licence: MIT
- Dockerfile: Yes
- Demo: https://cryptgeon.org/
- Summary: Easily send fully encrypted, secure notes or files with one click. Just create a note and share the link.
- Alternative to: jirafeau, microbin, privatebin

-
Medama - Self-hostable, privacy-focused website analytics- Main Page: https://oss.medama.io/
- Git: https://github.com/medama-io/medama
- Licence: Apache License 2.0 + MIT
- Dockerfile: Yes
- Demo: https://demo.medama.io/
- Summary: Medama Analytics is an open-source project dedicated to providing self-hostable, cookie-free website analytics. With a lightweight tracker of less than 1KB, it aims to offer useful analytics while prioritising user privacy.
- Alternative to link: https://alternativeto.net/software/medama/
