<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[OIDC customization settings not persistent]]></title><description><![CDATA[<p dir="auto">Hello,<br />
I want to comment out the following entries in <code>homeserver.yaml</code> so that users can define their matrix usernames.</p>
<pre><code class="language-yaml">user_mapping_provider:
      config:
        #localpart_template: '{{ user.sub }}'
        #display_name_template: '{{ user.name }}'
        email_template: '{{ user.email }}'
</code></pre>
<p dir="auto">But when restarting the app, the two lines are added again, uncommented, overwriting my changes.</p>
]]></description><link>https://forum.cloudron.io/topic/14999/oidc-customization-settings-not-persistent</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 08:46:04 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/14999.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 01 Feb 2026 20:34:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to OIDC customization settings not persistent on Wed, 04 Feb 2026 10:35:03 GMT]]></title><description><![CDATA[<p dir="auto">The latest package will only set those now on installation, so it is possible to configure those and they will persists.</p>
]]></description><link>https://forum.cloudron.io/post/119641</link><guid isPermaLink="true">https://forum.cloudron.io/post/119641</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Wed, 04 Feb 2026 10:35:03 GMT</pubDate></item><item><title><![CDATA[Reply to OIDC customization settings not persistent on Mon, 02 Feb 2026 13:36:26 GMT]]></title><description><![CDATA[<p dir="auto">Yes, this makes perfect sense to me. That's also why I only want to change two specific parameters (<code>localpart_template</code> and <code>display_name_template</code>) and not the whole OIDC setup, which should be unmutable so to say. And in my case, I also wanted to ensure that <code>email_template</code> is kept in sync with the Cloudron account email, only giving freedom to set a desired handle and display name (although that one can be modified afterwards by the user).</p>
<p dir="auto">P.S.: I did not test yet if other settings are persistent or not, as I intend to set a retention policy for synapse as well.</p>
]]></description><link>https://forum.cloudron.io/post/119558</link><guid isPermaLink="true">https://forum.cloudron.io/post/119558</guid><dc:creator><![CDATA[mononym]]></dc:creator><pubDate>Mon, 02 Feb 2026 13:36:26 GMT</pubDate></item><item><title><![CDATA[Reply to OIDC customization settings not persistent on Mon, 02 Feb 2026 12:58:12 GMT]]></title><description><![CDATA[<p dir="auto">Since the OIDC settings like the endpoint origin may change, if an app was installed with OIDC through Cloudron enabled, we always have to ensure this.</p>
<p dir="auto">If the user management should be left to the admin to configure, an app has to be installed without Cloudron usermanagement.</p>
<p dir="auto">Unless we make this a post-install setting, reinstallation is the only way to persistently change those bits. Think of it similarily like the database setup of an app. Either Cloudron ensures the setup or it would require each admin to manually tweak those if changed by the platform or through an app update.</p>
]]></description><link>https://forum.cloudron.io/post/119556</link><guid isPermaLink="true">https://forum.cloudron.io/post/119556</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Mon, 02 Feb 2026 12:58:12 GMT</pubDate></item><item><title><![CDATA[Reply to OIDC customization settings not persistent on Mon, 02 Feb 2026 12:18:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a> Yes, that would be perfect. The upper part of the <code>start.sh</code> script is checking if <code>homeserver.yaml</code> exists but the OIDC settings are not in that block.</p>
]]></description><link>https://forum.cloudron.io/post/119555</link><guid isPermaLink="true">https://forum.cloudron.io/post/119555</guid><dc:creator><![CDATA[mononym]]></dc:creator><pubDate>Mon, 02 Feb 2026 12:18:45 GMT</pubDate></item><item><title><![CDATA[Reply to OIDC customization settings not persistent on Mon, 02 Feb 2026 10:00:38 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/mononym" aria-label="Profile: mononym">@<bdi>mononym</bdi></a></p>
<p dir="auto">When packaging a Cloudron app with OIDC support we make the app start up always handle the OIDC set up to ensure it is working.<br />
You would like a change to the Matrix/Synapse app that if the <code>/app/data/configs/homeserver.yaml</code> was initially set up it should not be touched again to prevent reverting changes by the user.<br />
Is that correct?</p>
]]></description><link>https://forum.cloudron.io/post/119542</link><guid isPermaLink="true">https://forum.cloudron.io/post/119542</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Mon, 02 Feb 2026 10:00:38 GMT</pubDate></item><item><title><![CDATA[Reply to OIDC customization settings not persistent on Mon, 02 Feb 2026 00:28:12 GMT]]></title><description><![CDATA[<p dir="auto">Guess it has something to do with <code>app/pkg/start.sh</code></p>
<pre><code class="language-bash"># oidc
if [[ -n "${CLOUDRON_OIDC_ISSUER:-}" ]]; then
    echo " ==&gt; Configuring OIDC auth"
    yq eval -i ".oidc_providers[0].idp_id=\"cloudron\"" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].idp_name=\"${CLOUDRON_OIDC_PROVIDER_NAME:-Cloudron}\"" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].issuer=\"${CLOUDRON_OIDC_ISSUER}\"" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].client_id=\"${CLOUDRON_OIDC_CLIENT_ID}\"" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].client_secret=\"${CLOUDRON_OIDC_CLIENT_SECRET}\"" /app/data/configs/homeserver.yaml

    yq eval -i ".oidc_providers[0].scopes=[\"openid\", \"email\", \"profile\"]" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].authorization_endpoint=\"${CLOUDRON_OIDC_AUTH_ENDPOINT}\"" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].token_endpoint=\"${CLOUDRON_OIDC_TOKEN_ENDPOINT}\"" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].userinfo_endpoint=\"${CLOUDRON_OIDC_PROFILE_ENDPOINT}\"" /app/data/configs/homeserver.yaml
    # https://s3lph.me/ldap-to-oidc-migration-3-matrix.html
    yq eval -i ".oidc_providers[0].allow_existing_users=true" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].skip_verification=true" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].user_mapping_provider.config.localpart_template=\"{{ user.sub }}\"" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].user_mapping_provider.config.display_name_template=\"{{ user.name }}\"" /app/data/configs/homeserver.yaml
    yq eval -i ".oidc_providers[0].user_mapping_provider.config.email_template=\"{{ user.email }}\"" /app/data/configs/homeserver.yaml
else
</code></pre>
<p dir="auto">Basically, the script should not update the <code>homeserver.yaml</code> <code>localpart_template</code> key, if its value was set (manually) to <code>null</code> (changing it to <code>null</code> is maybe easier to detect than just commenting it out).</p>
]]></description><link>https://forum.cloudron.io/post/119526</link><guid isPermaLink="true">https://forum.cloudron.io/post/119526</guid><dc:creator><![CDATA[mononym]]></dc:creator><pubDate>Mon, 02 Feb 2026 00:28:12 GMT</pubDate></item></channel></rss>