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
V

Valexico

@Valexico
About
Posts
30
Topics
7
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • Support for n8n task runners (Python native mode) in Cloudron package
    V Valexico

    Hi everyone,

    I’m using n8n deployed via Cloudron and I’m interested in testing the new native Python support, which is currently in beta. According to the n8n documentation, enabling this feature requires setting up task runners, either in internal or external mode. The external mode involves running a sidecar container (n8nio/runners) alongside the main n8n instance, and enabling the feature via environment variables like N8N_NATIVE_PYTHON_RUNNER=true and N8N_RUNNERS_ENABLED=true.

    My question:

    Does the current Cloudron packaging for n8n support enabling task runners (especially for native Python execution)? If not, are there plans to update the package to allow this configuration, or is there a workaround to deploy the sidecar container within Cloudron?

    For reference, the external mode setup requires:

    • A sidecar container running the n8nio/runners image.
    • Specific environment variables and configuration files to allowlist Python packages for the Code node.

    I’d love to hear if anyone has experience with this, or if the Cloudron team has insights on future support for this feature.

    Thanks in advance for your help!

    N8N

  • First try app packaging : librechat - issue with postgresql extention (pgvector)
    V Valexico

    I agree with you @firmansi
    the problem is there are 2 topics discussed in this thread :

    • Topic #1: Packaging of librechat
    • Topic #2: How to build an AI agent to automate the process of packaging Cloudron app

    I think that lead to our misunderstanding

    LibreChat

  • First try app packaging : librechat - issue with postgresql extention (pgvector)
    V Valexico

    We should split in 2 different thread
    Yes Librechat needs RAG API to have all its feature

    No a cloudron packaging agent does not need a RAG knowledge bases to be efficient (I think)

    Those are 2 totally different subjects

    LibreChat

  • First try app packaging : librechat - issue with postgresql extention (pgvector)
    V Valexico

    I think building a RAG-like knowledge base is not the best approach for this use case.
    It would be much mode efficient an agent with

    • General knowledge about cloudron packaging
    • Toolset (sub agent) to retrieve relevant files from repositories (dockerfile, docker-compose...)
    • Toolset to retrieve additional context for each addon needed
    • Toolset to retrieve relevant example (existing cloudron packaged apps)

    The process is complex but quite straightforward and I see no need for a RAG knowledge base

    LibreChat

  • First try app packaging : librechat - issue with postgresql extention (pgvector)
    V Valexico

    Hi @LoudLemur
    Thanks

    For those who want to dig "AI assisted packaging", here is how I proceeded

    • I use Zed Editor which has a nice prompt library tool allowing prompt nesting (prompts in prompts. Sins Zed last "agentic" update, you need to use what they call "text thread" to have this feature/behaviour
    • I have a main big prompt with all main specificities of packaging (Cloudron documentation mainly)
    • I have smaller prompts about addon to be loaded only when needed
    • And then I made specific prompts loading target app source files, and the same for example of packaged apps to guide the AI

    I did this in 2024. This could be largely improved in 2025 with more agentic behaviour to let the AI fetch the context it needs šŸ™‚

    dbbfa877-1653-4bde-a4e5-81131168daf1-digi-studio 2025-07-08 at 09.12.31.png

    1851dda3-585f-4c90-9535-6b299fb8c808-digi-studio 2025-07-08 at 09.13.39.png

    22c5517a-f79b-477d-aa18-fa820472b819-digi-studio 2025-07-08 at 09.13.50.png

    b7816f6c-ffeb-4b26-b9ea-be74684179ef-digi-studio 2025-07-08 at 09.13.17.png

    LibreChat

  • App stuck in error when editing location (domain) while app is shut down
    V Valexico

    I don't know, didn't try to reproduce on last versions šŸ™‚

    Support box

  • First try app packaging : librechat - issue with postgresql extention (pgvector)
    V Valexico

    @canadaduane
    Yes no problem

    LibreChat

  • First try app packaging : librechat - issue with postgresql extention (pgvector)
    V Valexico

    Hi @canadaduane
    I think I did have a working app at the end but not 100% features. And then I didn't had time (and interest) to finish the setup
    If somebody is interested I can share my past work but I guess litellm have change quite a bit since

    LibreChat

  • Missing editable .env for superset
    V Valexico

    So it seem the environment variable is not required.

    Superset

  • Missing editable .env for superset
    V Valexico

    My mistake, it actually seem to enable the feature. Let me check

    digi-studio 2025-03-28 at 16.07.18.png

    Superset

  • Missing editable .env for superset
    V Valexico

    Hi @nebulon
    No it does not.

    This allows to make public URLs

    AUTH_ROLE_PUBLIC = 'Public'
    PUBLIC_ROLE_LIKE = 'Gamma'
    
    FEATURE_FLAGS = {
        'DASHBOARD_RBAC': True
    }
    

    But it does not permits to use the embed sdk
    https://www.npmjs.com/package/@superset-ui/embedded-sdk

    The embed SDK references a EMBEDDED_SUPERSET feature flag but the Superset documentation references a SUPERSET_FEATURE_EMBEDDED_SUPERSET=true environment variable

    I guess Superset docs is more accurate because I did try the feature flag and it does not activate the embed feature.

    Superset

  • Missing editable .env for superset
    V Valexico

    Based on the documentation, the "embedded mode" require to add an environment variable:

    https://superset.apache.org/docs/configuration/networking-settings/#enabling-embedding-via-the-sdk

    SUPERSET_FEATURE_EMBEDDED_SUPERSET=true
    

    I found other sources online speaking of a config.py parameter, but this approach seems outdated and is not mentioned in the docs:

    https://medium.com/@nandwalritik/embed-superset-dashboard-react-843b0a60a31f

    FEATURE_FLAGS = {
        # Paste this along with other feature flag options
        "EMBEDDED_SUPERSET": True,
    }
    

    Unfortunately, env.sh is located in /app/pkg and is read-only

    https://git.cloudron.io/packages/superset-app/-/blob/main/start.sh?ref_type=heads#L17

    Could you change the packaging in order to be able to configure the environment variables ?

    Could be related to this post
    https://forum.cloudron.io/topic/12830/superset-public-access/5

    Superset

  • Cannot upload GCP service account key to restore app
    V Valexico

    Hi @girish
    Any news on this matter. I had the same issue yesterday and had to use your workaround to restore a backup

    However, if this is an import UI issue, that means it is maybe also impossible to set up a new GCP backup ?
    Could you adress this issue ?

    Support restore gcp

  • Validation error, cannot save post.", "context": "Failed to convert HTML to Mobiledoc The html-to-mobiledoc package was not installed
    V Valexico

    Since recent update, I can't any more create new posts from HTML with API.

    Did something change in the package ?

    digi-studio 2025-03-06 at 16.16.14.png

    Ghost

  • Error when trying to connect a Postgresql database : could not open certificate file "/root/.postgresql/postgresql.crt": Permission denied
    V Valexico

    @girish I confirm after update id works

    Superset

  • Error when trying to connect a Postgresql database : could not open certificate file "/root/.postgresql/postgresql.crt": Permission denied
    V Valexico

    @joseph Sorry it was a bit rough but in short

    • Install Superset
    • Connect to a PostgreSQL database with SSL :

    digi-studio 2024-12-18 at 18.05.17.png

    d41a6002-444c-464e-a00b-a2379b2ab95b-digi-studio 2024-12-18 at 18.05.59.png

    Workaround :
    Use SQLalchemy URI

    digi-studio 2024-12-18 at 18.06.38.png

    I think the issue is that there is no /root/.postgresql/postgresql.crt inside the container app

    Superset

  • Error when trying to connect a Postgresql database : could not open certificate file "/root/.postgresql/postgresql.crt": Permission denied
    V Valexico

    This error occurs with default engine (psycopg2)

    (psycopg2.OperationalError) connection to server at "**********" (151.80.10.***), port 5432 failed: could not open certificate file "/root/.postgresql/postgresql.crt": Permission denied
    
    (Background on this error at: https://sqlalche.me/e/14/e3q8)
    

    I think it is a cloudron app issue

    You can workaround using sqlalchemy.

    Superset

  • First try app packaging : librechat - issue with postgresql extention (pgvector)
    V Valexico

    Wow thanks @nebulon . I think it would have been necessary one day or another with the current AI hype.

    By the way I'd be glad to share my "cloudron packaging prompt engineering" techniques some when. I'll make a second try with another app, I am thinking appsmith šŸ™‚

    LibreChat

  • First try app packaging : librechat - issue with postgresql extention (pgvector)
    V Valexico

    Hmm I tried a sed and could create a vectors extension instead of vector

    But then it cascaded to more errors. And with the different abstraction layers (langchain, sqlalchemy...) I couln't solve the issue.

    I think current implementation tries to ceate a table with a VECTOR type anv vecto.rs expects VECTOR(dimension) (or is maybe not loaded properly)

    The above exception was the direct cause of the following exception:
    Nov 27 16:17:11 2024-11-27T15:17:11Z
    Nov 27 16:17:11 Traceback (most recent call last):
    Nov 27 16:17:11 File "/app/code/rag_api/main.py", line 46, in <module>
    Nov 27 16:17:11 from psql import PSQLDatabase, ensure_custom_id_index_on_embedding, pg_health_check
    Nov 27 16:17:11 File "/app/code/rag_api/psql.py", line 3, in <module>
    Nov 27 16:17:11 from config import DSN, logger
    Nov 27 16:17:11 File "/app/code/rag_api/config.py", line 232, in <module>
    Nov 27 16:17:11 vector_store = get_vector_store(
    Nov 27 16:17:11 File "/app/code/rag_api/store_factory.py", line 20, in get_vector_store
    Nov 27 16:17:11 return AsyncPgVector(
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/langchain_core/_api/deprecation.py", line 183, in warn_if_direct_instance
    Nov 27 16:17:11 return wrapped(self, *args, **kwargs)
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/langchain_community/vectorstores/pgvector.py", line 341, in __init__
    Nov 27 16:17:11 self.__post_init__()
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/langchain_community/vectorstores/pgvector.py", line 355, in __post_init__
    Nov 27 16:17:11 self.create_tables_if_not_exists()
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/langchain_community/vectorstores/pgvector.py", line 390, in create_tables_if_not_exists
    Nov 27 16:17:11 Base.metadata.create_all(session.get_bind())
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/schema.py", line 5825, in create_all
    Nov 27 16:17:11 bind._run_ddl_visitor(
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 3254, in _run_ddl_visitor
    Nov 27 16:17:11 conn._run_ddl_visitor(visitorcallable, element, **kwargs)
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 2460, in _run_ddl_visitor
    Nov 27 16:17:11 visitorcallable(self.dialect, self, **kwargs).traverse_single(element)
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/visitors.py", line 664, in traverse_single
    Nov 27 16:17:11 return meth(obj, **kw)
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/ddl.py", line 918, in visit_metadata
    Nov 27 16:17:11 self.traverse_single(
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/visitors.py", line 664, in traverse_single
    Nov 27 16:17:11 return meth(obj, **kw)
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/ddl.py", line 956, in visit_table
    Nov 27 16:17:11 )._invoke_with(self.connection)
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/ddl.py", line 314, in _invoke_with
    Nov 27 16:17:11 return bind.execute(self)
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1421, in execute
    Nov 27 16:17:11 return meth(
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/sql/ddl.py", line 180, in _execute_on_connection
    Nov 27 16:17:11 return connection._execute_ddl(
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1532, in _execute_ddl
    Nov 27 16:17:11 ret = self._execute_context(
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1849, in _execute_context
    Nov 27 16:17:11 return self._exec_single_context(
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1989, in _exec_single_context
    Nov 27 16:17:11 self._handle_dbapi_exception(
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 2356, in _handle_dbapi_exception
    Nov 27 16:17:11 raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/base.py", line 1970, in _exec_single_context
    Nov 27 16:17:11 self.dialect.do_execute(
    Nov 27 16:17:11 File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/default.py", line 924, in do_execute
    Nov 27 16:17:11 cursor.execute(statement, parameters)
    Nov 27 16:17:11 sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedObject) type "vector" does not exist
    Nov 27 16:17:11 LINE 4: embedding VECTOR,
    Nov 27 16:17:11 ^
    Nov 27 16:17:11 2024-11-27T15:17:11Z
    Nov 27 16:17:11 [SQL:
    Nov 27 16:17:11 CREATE TABLE langchain_pg_embedding (
    Nov 27 16:17:11 collection_id UUID,
    Nov 27 16:17:11 embedding VECTOR,
    Nov 27 16:17:11 document VARCHAR,
    Nov 27 16:17:11 cmetadata JSON,
    Nov 27 16:17:11 custom_id VARCHAR,
    Nov 27 16:17:11 uuid UUID NOT NULL,
    Nov 27 16:17:11 PRIMARY KEY (uuid),
    Nov 27 16:17:11 FOREIGN KEY(collection_id) REFERENCES langchain_pg_collection (uuid) ON DELETE CASCADE
    Nov 27 16:17:11 )
    
    LibreChat
  • Login

  • Don't have an account? Register

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