<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Quollix</title><link>https://quollix.org/</link><description>Recent content on Quollix</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://quollix.org/index.xml" rel="self" type="application/rss+xml"/><item><title>Motivation</title><link>https://quollix.org/docs/introduction/motivation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/introduction/motivation/</guid><description>&lt;p&gt;Citizens and small and medium-sized enterprises (SMEs) need digital infrastructure, such as servers for data storage, chatting and wikis. However, none of the existing options for acquiring such infrastructure meets all the following needs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;privacy&lt;/li&gt;
&lt;li&gt;convenience&lt;/li&gt;
&lt;li&gt;long-term security&lt;/li&gt;
&lt;li&gt;option for customization&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;rsquo;s look at some typical approaches, why they fall short, and what a better solution should provide.&lt;/p&gt;
&lt;h3 id="option-1-hosted-services"&gt;Option 1: Hosted Services&lt;/h3&gt;
&lt;p&gt;Although outsourcing to an external cloud offers the convenience of taking over server management, there are serious trade-offs.&lt;/p&gt;</description></item><item><title>Features</title><link>https://quollix.org/docs/introduction/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/introduction/features/</guid><description>&lt;p&gt;Quollix is offered in two editions. The Community Edition (CE) is designed for casual and small-scale users. The Premium Edition (PE) adds commercial features for users who require more advanced functionality.&lt;/p&gt;
&lt;h3 id="business-philosophy"&gt;Business Philosophy&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CE is fully usable&lt;/strong&gt;: The CE supports real, long-term self-hosting without artificial limits.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PE is for professional operation&lt;/strong&gt;: Paid features of PE focus on organizational control, governance, and compliance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No artificial upgrade pressure&lt;/strong&gt;: Premium features are purely additive. Community functionality is never removed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="features-by-edition"&gt;Features by Edition&lt;/h3&gt;
&lt;p&gt;Below are the key features. A check mark means the feature is available, and a cross means it’s not available in the associated edition.&lt;/p&gt;</description></item><item><title>Server Host</title><link>https://quollix.org/docs/usage/settings/host/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/settings/host/</guid><description>&lt;p&gt;The server host value is needed to access installed apps. For example, if you set the host to &lt;strong&gt;company.com&lt;/strong&gt; and click Open on the forgejo app on the &lt;strong&gt;Installed Apps&lt;/strong&gt; page, &lt;strong&gt;forgejo.company.com&lt;/strong&gt; will open in a new tab. For local testing, you can simply use &lt;strong&gt;localhost&lt;/strong&gt; as the host value.&lt;/p&gt;
&lt;p&gt;Note: This proxying requires that the domain (e.g. forgejo.company.com) resolves to the server where Quollix is installed, either via a DNS record or an entry in your system&amp;rsquo;s hosts file.&lt;/p&gt;</description></item><item><title>Apps</title><link>https://quollix.org/docs/introduction/apps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/introduction/apps/</guid><description>&lt;p&gt;Quollix only takes care of the system administration. The actual day-to-day functionality like chat or data cloud comes from the installed apps.&lt;/p&gt;
&lt;h3 id="app-store"&gt;App Store&lt;/h3&gt;
&lt;p&gt;Digital infrastructure can be installed as apps, much like a smartphone. An app store simplifies the process of discovering and installing new apps, while allowing anyone to upload their own apps.&lt;/p&gt;
&lt;h3 id="list-of-official-apps"&gt;List of Official Apps&lt;/h3&gt;
&lt;p&gt;These are the apps of the official maintainer &lt;strong&gt;quollix&lt;/strong&gt; available in the App Store.&lt;/p&gt;</description></item><item><title>Certificate</title><link>https://quollix.org/docs/usage/settings/certificate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/settings/certificate/</guid><description>&lt;p&gt;There are multiple ways to operate certificates in Quollix.&lt;/p&gt;
&lt;h3 id="1-default-certificate"&gt;1) Default Certificate&lt;/h3&gt;
&lt;p&gt;By default, Quollix is available on port 443 via HTTPS using a universal self-signed wildcard certificate. This default certificate works for all domains or IP addresses through which you access Quollix and any host configured in the Settings. This option may be sufficient for test deployments or private LAN networks. However, for most real-world use cases, a valid, properly signed wildcard certificate is recommended.&lt;/p&gt;</description></item><item><title>Getting started</title><link>https://quollix.org/docs/getting-started/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/getting-started/</guid><description>&lt;h2 id="local-test-setup"&gt;Local Test Setup&lt;/h2&gt;
&lt;p&gt;Install Docker and run Quollix as described below. Visit &lt;a href="http://localhost"&gt;http://localhost&lt;/a&gt; in your browser, log in with the default credentials (admin/password).&lt;/p&gt;
&lt;h2 id="production-setup"&gt;Production Setup&lt;/h2&gt;
&lt;p&gt;This is a quick guide for a production installation of Quollix. For the sake of example, assume you have a domain like &lt;code&gt;example.com&lt;/code&gt;, which we will call &lt;code&gt;&amp;lt;SERVER_HOST&amp;gt;&lt;/code&gt; in the instructions below.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Choose a server&lt;/strong&gt;: for example, a virtual private server (VPS) from a hosting provider, or a physical server at home.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Set DNS records&lt;/strong&gt;: Create a wildcard A DNS record pointing to the IP address of the Quollix server for your domain: &lt;code&gt;*.&amp;lt;SERVER_HOST&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Install Docker&lt;/strong&gt;: For installation instructions, see the &lt;a href="https://docs.docker.com/get-docker/" target="_blank" rel="noopener noreferrer"&gt;Docker Installation Guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Create a &lt;code&gt;docker-compose.yml&lt;/code&gt; file with the following content:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;quollix&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;quollix/quollix:latest&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;quollix&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;80:80&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;443:443&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/tmp:/tmp&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/var/run/docker.sock:/var/run/docker.sock&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;unless-stopped&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;If you want extra security to prevent other people or bots logging in with the default credentials, add the following environment variables:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;quollix&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# ...&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;environment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;INITIAL_ADMIN_NAME&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;&amp;lt;replace-me&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;INITIAL_ADMIN_PASSWORD&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;&amp;lt;replace-me&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;INITIAL_ADMIN_EMAIL&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;&amp;lt;replace-me&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="5"&gt;
&lt;li&gt;Run the following command in the same directory as the &lt;code&gt;docker-compose.yml&lt;/code&gt; file:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol start="6"&gt;
&lt;li&gt;Visit the Quollix web interface at &lt;code&gt;https://quollix.&amp;lt;SERVER_HOST&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Log in using the default credentials (&lt;code&gt;admin&lt;/code&gt; / &lt;code&gt;password&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Go to the Settings page, set &lt;strong&gt;Server Host&lt;/strong&gt; to &lt;code&gt;&amp;lt;SERVER_HOST&amp;gt;&lt;/code&gt;, and save.&lt;/li&gt;
&lt;li&gt;Set up certificate by either:
&lt;ul&gt;
&lt;li&gt;uploading your own wildcard certificate covering the domains above&lt;/li&gt;
&lt;li&gt;or generating a wildcard certificate via DNS-01 challenge and restarting the browser afterwards&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="next-steps"&gt;Next Steps&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://quollix.org/docs/operations/"&gt;Operations&lt;/a&gt; section provides additional guidance for running Quollix in a self-hosted environment, including configuration and security best practices.&lt;/p&gt;</description></item><item><title>Maintenance</title><link>https://quollix.org/docs/usage/settings/maintenance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/settings/maintenance/</guid><description>&lt;p&gt;The features &lt;strong&gt;Automatic Updates&lt;/strong&gt; and &lt;strong&gt;Automatic Backups&lt;/strong&gt; are enabled by default and are handled by the Maintenance Agent in the background. The Maintenance Agent runs once a day.&lt;/p&gt;
&lt;p&gt;If both options are enabled, the Maintenance Agent compares the version of each locally installed app with the latest version in the App Store. If an update is available, a backup is created, then the update is applied. If the update fails, you can restore the previous version.&lt;/p&gt;</description></item><item><title>Roadmap</title><link>https://quollix.org/docs/introduction/roadmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/introduction/roadmap/</guid><description>&lt;p&gt;The following milestones outline the upcoming release phases for Quollix:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;First release&lt;/strong&gt;: Initial public version of Quollix with open-source core functionality, alongside selected premium features.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Completing feature set&lt;/strong&gt;: Implementing all planned features for the current major version.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Opening App Store for everyone&lt;/strong&gt;: Allowing third-party developers to publish and distribute apps.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Launching managed SaaS offering&lt;/strong&gt;: Providing a fully hosted version of Quollix with automated setup and maintenance.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Users</title><link>https://quollix.org/docs/usage/users/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/users/</guid><description>&lt;p&gt;To access private apps in the Quollix, you need a local account. The Users page enables you to create and delete these accounts. Users with the &amp;ldquo;User&amp;rdquo; role can only access apps and their own account and have no access to administrative features.&lt;/p&gt;
&lt;h3 id="inviting-users-and-password-reset"&gt;Inviting Users and Password Reset&lt;/h3&gt;
&lt;p&gt;Administrators can generate an invitation link for a user. When the user opens the link, they are prompted to set a password, which completes the account creation process. If a user forgets his password, an administrator can generate a new link to allow them to set a new one.&lt;/p&gt;</description></item><item><title>Automatic Updates</title><link>https://quollix.org/docs/operations/automatic-updates/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/operations/automatic-updates/</guid><description>&lt;p&gt;This article is on automatic updates of Quollix itself. The apps installed in Quollix are already automatically updated by Quollix. On the server, run:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo crontab -e
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Add a cronjob automatically updating &lt;code&gt;quollix&lt;/code&gt; image, for example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt; * * * /usr/bin/bash -c &lt;span class="s2"&gt;&amp;#34;docker pull quollix/quollix:latest &amp;amp;&amp;amp; docker compose -f /path/to/docker-compose.yml up -d&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Is it recommended to test the bash command above for correct execution by manually running it.&lt;/p&gt;</description></item><item><title>Backups</title><link>https://quollix.org/docs/usage/backups/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/backups/</guid><description>&lt;p&gt;Once a backup server has been configured in the settings, users can create backups of each app on the Installed Apps page. The Backups page allows you to view and restore backups of apps.&lt;/p&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Note&lt;/div&gt;


Restoring an app backup will erase any previously existing app data that was not backed up. Consider creating a current backup before restoring an old backup.
&lt;/div&gt;</description></item><item><title>FAQ</title><link>https://quollix.org/docs/introduction/frequently-asked-questions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/introduction/frequently-asked-questions/</guid><description>&lt;details style="--faqlink: #3a73a0;"&gt;
 &lt;summary style="color: var(--faqlink);"&gt;&lt;span class="faq-question"&gt;How difficult is it to install Quollix?&lt;/span&gt;&lt;/summary&gt;
 Quollix can be installed on any device that supports a widely used technology called &amp;lsquo;Docker&amp;rsquo;, making it largely hardware and operating system independent. Installation requires only a single Docker command on the command line. All server maintenance tasks are done automatically by Quollix in the background.
 &lt;div style="margin-top: 0.5em;"&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;details style="--faqlink: #3a73a0;"&gt;
 &lt;summary style="color: var(--faqlink);"&gt;&lt;span class="faq-question"&gt;Is Quollix secure?&lt;/span&gt;&lt;/summary&gt;
 Quollix is designed with security as a priority, and we have built in extensive protections. See the &lt;a href="https://quollix.org/docs/operations/threat-model/"&gt;Threat Model article&lt;/a&gt; for details. No system can be guaranteed to be 100% secure, but we use a security-by-design approach and continue improving the platform over time.
 &lt;div style="margin-top: 0.5em;"&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;details style="--faqlink: #3a73a0;"&gt;
 &lt;summary style="color: var(--faqlink);"&gt;&lt;span class="faq-question"&gt;How does Quollix compare to Nextcloud?&lt;/span&gt;&lt;/summary&gt;
 &lt;p&gt;Nextcloud is primarily an application focused on file storage and collaboration. Quollix, by contrast, is a general-purpose platform for installing and managing multiple applications.&lt;/p&gt;</description></item><item><title>Pricing</title><link>https://quollix.org/docs/pricing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/pricing/</guid><description>&lt;p&gt;Quollix is available in community and premium editions. A complete feature comparison by edition is available on the &lt;a href="https://quollix.org/docs/introduction/features/"&gt;Features&lt;/a&gt; page.&lt;/p&gt;
&lt;h3 id="editions"&gt;Editions&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Community Edition&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Price: Free&lt;/li&gt;
&lt;li&gt;No subscription required&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Premium Edition&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Price: 15 € per month&lt;/li&gt;
&lt;li&gt;Billed monthly&lt;/li&gt;
&lt;li&gt;VAT or applicable sales tax is calculated at checkout by Paddle, the Merchant of Record.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="billing-and-cancellation"&gt;Billing and Cancellation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Subscriptions are billed on a monthly basis&lt;/li&gt;
&lt;li&gt;You can cancel your subscription at any time&lt;/li&gt;
&lt;li&gt;After cancellation, access to premium features remains available until the end of the current billing period&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="purchase-and-payment"&gt;Purchase and Payment&lt;/h3&gt;
&lt;p&gt;Payments are processed by &lt;a href="https://www.paddle.com" target="_blank" rel="noopener noreferrer"&gt;Paddle&lt;/a&gt;, which acts as the Merchant of Record.&lt;/p&gt;</description></item><item><title>Remote Backup</title><link>https://quollix.org/docs/usage/settings/remote-backup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/settings/remote-backup/</guid><description>&lt;p&gt;By default, when you create a backup of an app, Quollix will create a local backup of it. However, if remote backups are enabled, an additional remote backup is created and sent to an external SSH server.&lt;/p&gt;
&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Note&lt;/div&gt;


We strongly recommend that you enable this feature. If your hard drive becomes irreversibly damaged, remote backup may be the only way to recover your data.
&lt;/div&gt;

&lt;p&gt;Quollix uses the &lt;strong&gt;restic&lt;/strong&gt; tool in the backend, which provides end-to-end encryption. This means that even if someone intercepts the traffic or gains access to the backup server, they cannot read your encrypted backup data.&lt;/p&gt;</description></item><item><title>Feedback</title><link>https://quollix.org/docs/feedback/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/feedback/</guid><description>&lt;p&gt;We welcome feedback about Quollix and the website.&lt;/p&gt;
&lt;p&gt;
 Send feedback to
 &lt;a href="mailto:quollix-feedback@mailbox.org" onclick="window.openWebsiteFeedbackMail(); return false;"&gt;quollix-feedback@mailbox.org&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;You can use this for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ideas for improving the website&lt;/li&gt;
&lt;li&gt;information that is missing or hard to find&lt;/li&gt;
&lt;li&gt;unclear explanations or confusing wording&lt;/li&gt;
&lt;li&gt;suggestions for better documentation&lt;/li&gt;
&lt;li&gt;general product feedback about Quollix&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Positive feedback is also welcome and motivates us.&lt;/p&gt;
&lt;p&gt;Please keep in mind: while we do appreciate your feedback, this is not a support channel, and we will very likely not reply.&lt;/p&gt;</description></item><item><title>Glossary</title><link>https://quollix.org/docs/glossary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/glossary/</guid><description>&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Abbreviation&lt;/th&gt;
 &lt;th&gt;Meaning&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;0BSD&lt;/td&gt;
 &lt;td&gt;Zero-Clause BSD (License)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AGPL&lt;/td&gt;
 &lt;td&gt;GNU Affero General Public License&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;AI&lt;/td&gt;
 &lt;td&gt;Artificial Intelligence&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;BIOS&lt;/td&gt;
 &lt;td&gt;Basic Input/Output System&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;CE&lt;/td&gt;
 &lt;td&gt;Community Edition&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;CI&lt;/td&gt;
 &lt;td&gt;Continuous Integration&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;CLI&lt;/td&gt;
 &lt;td&gt;Command-Line Interface&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;CRUD&lt;/td&gt;
 &lt;td&gt;Create, read, update and delete&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;EULA&lt;/td&gt;
 &lt;td&gt;End-User License Agreement&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;FAQ&lt;/td&gt;
 &lt;td&gt;Frequently Asked Questions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;FDE&lt;/td&gt;
 &lt;td&gt;Full-Disk Encryption&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;GUI&lt;/td&gt;
 &lt;td&gt;Graphical User Interface&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;HTTP&lt;/td&gt;
 &lt;td&gt;Hypertext Transfer Protocol&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;HTTPS&lt;/td&gt;
 &lt;td&gt;Hypertext Transfer Protocol Secure&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LAN&lt;/td&gt;
 &lt;td&gt;Local Area Network&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;LLM&lt;/td&gt;
 &lt;td&gt;Large Language Model&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;MITM&lt;/td&gt;
 &lt;td&gt;Man-in-the-middle&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OIDC&lt;/td&gt;
 &lt;td&gt;OpenID Connect&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OS&lt;/td&gt;
 &lt;td&gt;Operating System&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;PE&lt;/td&gt;
 &lt;td&gt;Premium Edition&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;PR&lt;/td&gt;
 &lt;td&gt;Pull Request&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SaaS&lt;/td&gt;
 &lt;td&gt;Software as a Service&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;QSC&lt;/td&gt;
 &lt;td&gt;Quollix Store Client&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SSO&lt;/td&gt;
 &lt;td&gt;Single Sign-On&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;SSR&lt;/td&gt;
 &lt;td&gt;Server-Side Rendering&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;UEFI&lt;/td&gt;
 &lt;td&gt;Unified Extensible Firmware Interface&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;WSL&lt;/td&gt;
 &lt;td&gt;Windows Subsystem for Linux&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title/><link>https://quollix.org/docs/community/developer-guides/quollix/frontend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/community/developer-guides/quollix/frontend/</guid><description>&lt;h2 id="frontend-development-workflow"&gt;Frontend Development Workflow&lt;/h2&gt;
&lt;h2 id="persistent-development-state"&gt;Persistent Development State&lt;/h2&gt;
&lt;p&gt;When starting Quollix in TEST mode, you can use the &lt;code&gt;-k&lt;/code&gt; flag which preserves database is preserved across restarts and preserves Login state, so you do not need to log in again after each backend code change and restart.&lt;/p&gt;
&lt;p&gt;Quollix uses SSR with Go HTML templates.&lt;/p&gt;
&lt;p&gt;When running in TEST mode:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Backend code changes still require a container restart&lt;/li&gt;
&lt;li&gt;Frontend resource changes &lt;strong&gt;do not require a restart&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Instead, the GUI provides a &lt;strong&gt;Reload Frontend&lt;/strong&gt; button:&lt;/p&gt;</description></item><item><title>'NETWORK_CHANGED' error and 'TypeError: Failed to fetch'</title><link>https://quollix.org/docs/community/developer-guides/quollix/special-cases/network-changed-error/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/community/developer-guides/quollix/special-cases/network-changed-error/</guid><description>&lt;p&gt;During some operations such as starting an app, browsers may report a &lt;code&gt;NETWORK_CHANGED&lt;/code&gt; or &lt;code&gt;TypeError: Failed to fetch&lt;/code&gt; error. This is expected behavior and does not indicate a failed operation.&lt;/p&gt;
&lt;h2 id="why-this-happens"&gt;Why this happens&lt;/h2&gt;
&lt;p&gt;Quollix runs inside a Docker container and dynamically connects to and disconnects from app-specific Docker networks during certain operations. If a browser request is in flight while Docker reconfigures the container’s network, the browser may abort the request and report one of the above errors, even though the backend operation completes successfully.&lt;/p&gt;</description></item><item><title>App Design Recommendations</title><link>https://quollix.org/docs/app-store/app-design-recommendations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/app-store/app-design-recommendations/</guid><description>&lt;p&gt;This document is intended for developers who develop software and want to distribute it through the Quollix App Store. You are free to design your app in any way you like. However, following the recommendations ensures smooth integration with Quollix and improves the experience for administrators and end users.&lt;/p&gt;
&lt;h2 id="introduction-and-development-model"&gt;Introduction and development model&lt;/h2&gt;
&lt;p&gt;Any software that provides a web interface can be published as an app in the Quollix App Store. At a high level, the development and distribution flow looks like this:&lt;/p&gt;</description></item><item><title>Architecture</title><link>https://quollix.org/docs/community/developer-guides/quollix/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/community/developer-guides/quollix/architecture/</guid><description>&lt;p&gt;Quollix is a monolithic application that runs on a single server. Each HTTP request from users is either processed by Quollix directly or passes through Quollix and is proxied to an app. The apps are &amp;ldquo;hidden&amp;rdquo; behind Quollix. This way, Quollix serves as an extra layer of security, as only authenticated users have access to the apps by default.&lt;/p&gt;
&lt;img src="https://quollix.org/images/quollix-architecture.png" alt="Flow Diagram" width="500"&gt;
&lt;p&gt;For security reasons, each app runs in its own isolated space with its unique Docker network and volumes. So, apps are isolated from each other.&lt;/p&gt;</description></item><item><title>Code of Conduct</title><link>https://quollix.org/docs/community/code-of-conduct/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/community/code-of-conduct/</guid><description>&lt;p&gt;We are committed to a professional, productive, and welcoming environment for everyone involved in this project - contributors, maintainers, and users alike.&lt;/p&gt;
&lt;h3 id="expected-behavior"&gt;Expected Behavior&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Act with courtesy, respect, and empathy.&lt;/li&gt;
&lt;li&gt;Foster an inclusive atmosphere that values diverse perspectives.&lt;/li&gt;
&lt;li&gt;Offer constructive, actionable feedback oriented toward improving the project.&lt;/li&gt;
&lt;li&gt;Collaborate in good faith.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="unacceptable-behavior"&gt;Unacceptable Behavior&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Harassment, discrimination, or personal attacks.&lt;/li&gt;
&lt;li&gt;Derogatory, inflammatory, or otherwise abusive language.&lt;/li&gt;
&lt;li&gt;Sustained disruption of discussions or workflows.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enforcement"&gt;Enforcement&lt;/h3&gt;
&lt;p&gt;Violations will result in consequences proportionate to the severity and frequency of the behavior, ranging from a warning to temporary or permanent removal from project spaces.&lt;/p&gt;</description></item><item><title>Contributing</title><link>https://quollix.org/docs/community/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/community/contributing/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Note&lt;/div&gt;


GitHub is the right place for contributions and development discussions, but not for user support requests.
&lt;/div&gt;

&lt;h3 id="improve-the-website"&gt;Improve the Website&lt;/h3&gt;
&lt;p&gt;Website contributions are welcome as well. The website repository is &lt;a href="https://github.com/quollix/website"&gt;github.com/quollix/website&lt;/a&gt;. Website content contributions only require basic Markdown knowledge and knowing how to contribute through GitHub, so non-programmers are welcome. Read the &lt;code&gt;README.md&lt;/code&gt; for further contribution information.&lt;/p&gt;
&lt;h3 id="expand-the-app-store"&gt;Expand the App Store&lt;/h3&gt;
&lt;p&gt;If you have software with a web interface that you would like to share with the community, you can simply package it as an app and upload it. If an app becomes popular, we will consider adopting it as an official app.&lt;/p&gt;</description></item><item><title>Forgejo</title><link>https://quollix.org/docs/usage/installed-apps/forgejo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/installed-apps/forgejo/</guid><description>&lt;p&gt;A general rule in Forgejo is that many settings cannot be changed via the web GUI once the installation wizard is completed. However, you can still modify them by directly editing the &lt;code&gt;app.ini&lt;/code&gt; file inside the container as described below. As this is a somewhat hacky solution, we recommend deciding whether to allow self-registration before deploying a production instance.&lt;/p&gt;
&lt;h3 id="installation-wizard"&gt;Installation Wizard&lt;/h3&gt;
&lt;p&gt;When visiting the Forgejo web UI for the first time:&lt;/p&gt;</description></item><item><title>GDPR compliance</title><link>https://quollix.org/docs/operations/gdpr-compliance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/operations/gdpr-compliance/</guid><description>&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Note&lt;/div&gt;


This section provides general information only and does not constitute legal advice. No responsibility or liability is assumed for how this information is used.
&lt;/div&gt;

&lt;p&gt;Quollix includes features that can support GDPR-aligned operation. This page provides additional legal context for selected features, explaining their relevance from a data protection perspective. The information here is not comprehensive and does not cover all GDPR obligations.&lt;/p&gt;
&lt;h3 id="user-invites"&gt;User invites&lt;/h3&gt;
&lt;p&gt;The link generated for user invitation contains only a temporary token, not a password. The token is valid for a limited time, can only be used once, and is protected by HTTPS provided that a properly signed certificate is configured, which is required for secure operation. Transmitting such links, even over insecure channels, is considered GDPR-compliant. Administrators may distribute the link through the following channels:&lt;/p&gt;</description></item><item><title>Groups (premium)</title><link>https://quollix.org/docs/usage/groups/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/groups/</guid><description>&lt;p&gt;The Groups feature takes effect when an app is configured with a &lt;code&gt;group-restricted&lt;/code&gt; access policy on the Installed Apps page. Access is granted to any user who is a member of at least one group authorized for the app.&lt;/p&gt;
&lt;p&gt;To grant a user access:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a group&lt;/li&gt;
&lt;li&gt;Add the user as member of the group&lt;/li&gt;
&lt;li&gt;Grant the group access to the app&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Jitsi</title><link>https://quollix.org/docs/usage/installed-apps/jitsi/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/installed-apps/jitsi/</guid><description>&lt;p&gt;By default, Jitsi does not enforce authentication and allows anyone with access to the web interface to create and join meetings.
Access is managed through Quollix’s access policies. The following access policies are available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Public: Anyone with access to the Jitsi web interface can create and join meetings. No authentication is required.&lt;/li&gt;
&lt;li&gt;Authenticated / Group restricted: Anonymous users have no access and cannot create or join meetings. Access is limited to authenticated users / to users who are members of specific groups that are allowed to use the Jitsi app.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Local Development</title><link>https://quollix.org/docs/community/developer-guides/quollix/local-development/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/community/developer-guides/quollix/local-development/</guid><description>&lt;p&gt;For local development, you should run Quollix in TEST mode docker container using the &lt;code&gt;ci-runner&lt;/code&gt; tool. This mode is optimized for development and testing, so there are some features implemented which make the development experience smoother. This includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;when running docker container in test mode, you can add the flag &lt;code&gt;-k&lt;/code&gt; to keep the database and uploaded files between restarts. This way, you don&amp;rsquo;t have to login or set up everything from scratch on each change of backend code and subsequent restart.&lt;/li&gt;
&lt;li&gt;Changing web resource files (HTML, CSS, JS) on the host system can be reloaded from the GUI, so no restart is necessary.&lt;/li&gt;
&lt;li&gt;a dummy SSH server is started to allow SSH connections and creating backups.&lt;/li&gt;
&lt;li&gt;Usually when working on local OIDC integration testing, you might need a valid TLS certificate for testing integration with Quollix as an OIDC provider.
&lt;ul&gt;
&lt;li&gt;Set the domain in the /etc/hosts file to point to localhost (e.g. &lt;code&gt;quollix.test.quollix.org&lt;/code&gt; -&amp;gt; 127.0.0.1), do this also with all expected app domains.&lt;/li&gt;
&lt;li&gt;Run Quollix in prod mode&lt;/li&gt;
&lt;li&gt;Set a test domain in the settings that you own (e.g. we usually use &lt;code&gt;test.quollix.org&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Generate a TLS certificate via DNS-01 challenge&lt;/li&gt;
&lt;li&gt;Download the generated certificate (&lt;code&gt;certificate.pem&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Stop Quollix and restart it in TEST mode&lt;/li&gt;
&lt;li&gt;Set the host again and upload the previously downloaded certificate&lt;/li&gt;
&lt;li&gt;Restart your browser and revisit Quollix under &lt;code&gt;quollix.&amp;lt;test-domain&amp;gt;&lt;/code&gt; (for example &lt;code&gt;quollix.test.quollix.org&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For local development, Quollix should usually be run in &lt;strong&gt;TEST mode&lt;/strong&gt; inside a Docker container using the &lt;code&gt;ci-runner&lt;/code&gt; tool. TEST mode provides features optimizing development.&lt;/p&gt;</description></item><item><title>Odoo</title><link>https://quollix.org/docs/usage/installed-apps/archive/odoo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/installed-apps/archive/odoo/</guid><description>&lt;h3 id="setup"&gt;Setup&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;At first visit, write down or save the master password presented.&lt;/li&gt;
&lt;li&gt;Set Database: &lt;code&gt;odoo&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Enter email and password, which are the future login credentials for the admin account&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Create database&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Login with the just set credentials&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="single-sign-on--oidc"&gt;Single-Sign On / OIDC&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Odoo icon &amp;gt; Settings &amp;gt; Integrations
&lt;ul&gt;
&lt;li&gt;enable &amp;lsquo;OAuth Authentication&amp;rsquo; &amp;gt; Save&lt;/li&gt;
&lt;li&gt;You will be logged out. Login and go to the same page again.&lt;/li&gt;
&lt;li&gt;OAuthAuthentication &amp;gt; OAuth Providers:
&lt;ul&gt;
&lt;li&gt;Delete existing proiders&lt;/li&gt;
&lt;li&gt;New &amp;gt; Provider:
&lt;ul&gt;
&lt;li&gt;Provider Name: Quollix&lt;/li&gt;
&lt;li&gt;Client ID: &lt;code&gt;enter client ID from OIDC page&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Allowed: enable&lt;/li&gt;
&lt;li&gt;Login button label: &amp;ldquo;Login with Quollix&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Authorization URL: &lt;code&gt;https://quollix.&amp;lt;server-host&amp;gt;/api/authorize&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Scope: &lt;code&gt;openid profile email&lt;/code&gt; (leave default)&lt;/li&gt;
&lt;li&gt;UserInfo URL: &lt;code&gt;https://quollix.&amp;lt;server-host&amp;gt;/api/userinfo&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- it seems that only public auth flow is possible this way --&gt;</description></item><item><title>OIDC clients</title><link>https://quollix.org/docs/usage/oidc-clients/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/oidc-clients/</guid><description>&lt;p&gt;This page lists the installed apps and their OIDC client configurations. Each app can use this configuration to authenticate against Quollix, which acts as the OIDC provider.&lt;/p&gt;
&lt;p&gt;Depending on the software, OIDC integration may be configured automatically. If not, the required values can be manually copied from this page and applied to the app using its preferred configuration method, such as a web interface or configuration file.&lt;/p&gt;</description></item><item><title>OIDC Integration Testing Strategy</title><link>https://quollix.org/docs/community/developer-guides/quollix/oidc-testing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/community/developer-guides/quollix/oidc-testing/</guid><description>&lt;p&gt;This article describes the recommended strategy for testing OIDC integrations in a local development setup between apps and Quollix.&lt;/p&gt;
&lt;h2 id="theory"&gt;Theory&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Quollix acts as the OIDC provider. Apps act as OIDC clients.&lt;/li&gt;
&lt;li&gt;Apps started by Quollix resolve the OIDC provider via the domain &lt;code&gt;quollix.&amp;lt;host&amp;gt;&lt;/code&gt; inside the shared Docker network.&lt;/li&gt;
&lt;li&gt;Many OIDC clients require the provider’s endpoints to be served over HTTPS with a valid TLS certificate.&lt;/li&gt;
&lt;li&gt;Quollix’s well-known endpoint is available at &lt;code&gt;quollix.&amp;lt;host&amp;gt;/.well-known/openid-configuration&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;While some apps may allow self-signed certificates, using a valid certificate is the safest option and avoids the need to relax or disable client-side TLS verification.&lt;/li&gt;
&lt;li&gt;Quollix can automatically generate and manage certificates for a test domain, making it easy to reproduce a production-like setup locally.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="practice"&gt;Practice&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Add a DNS entry for your test domain in &lt;code&gt;/etc/hosts&lt;/code&gt; (e.g. we use &lt;code&gt;quollix.test.quollix.org → 127.0.0.1&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Start Quollix in PROD mode using the CI runner.&lt;/li&gt;
&lt;li&gt;Open the settings in the Quollix UI and set your test domain as the host. For example, we use &lt;code&gt;test.quollix.org&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Generate a TLS certificate via the DNS-01 challenge.&lt;/li&gt;
&lt;li&gt;Download the generated certificate (&lt;code&gt;certificate.pem&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Stop Quollix and restart it in TEST mode.&lt;/li&gt;
&lt;li&gt;Set the host again and upload the previously downloaded certificate.&lt;/li&gt;
&lt;li&gt;Restart your browser and revisit Quollix under &lt;code&gt;quollix.&amp;lt;test-domain&amp;gt;&lt;/code&gt; (for example &lt;code&gt;quollix.test.quollix.org&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Install and start your app via the mocked App Store and verify that the OIDC login flow works as expected.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>OpenCloud integration issues</title><link>https://quollix.org/docs/community/developer-guides/quollix/special-cases/opencloud-integration-issues/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/community/developer-guides/quollix/special-cases/opencloud-integration-issues/</guid><description>&lt;p&gt;Quollix acts as the reverse proxy in front of OpenCloud. OpenCloud uses a mandatory OpenID Connect (OIDC) authentication flow. Even when using local users (IDM), OpenCloud always authenticates via its internal OIDC provider. Because of this, OpenCloud must be able to reach its own OIDC discovery endpoint at the URL defined by &lt;code&gt;OC_URL&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;During authentication, OpenCloud performs OIDC discovery and token validation requests from its own container to the URL defined by &lt;code&gt;OC_URL&lt;/code&gt;. These requests are routed through the reverse proxy (Quollix) and then forwarded back to the OpenCloud service itself. This internal request loop only happens during authentication, but it is the source of most issues in local, containerized setups.&lt;/p&gt;</description></item><item><title>Scaling</title><link>https://quollix.org/docs/operations/scaling/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/operations/scaling/</guid><description>&lt;p&gt;Quollix is designed to run as a single-node system. There is no built-in horizontal clustering. Scaling is achieved using one of the following approaches.&lt;/p&gt;
&lt;h2 id="vertical-scaling"&gt;Vertical Scaling&lt;/h2&gt;
&lt;p&gt;The primary scaling strategy is vertical scaling. Run Quollix on a machine with more CPU, memory, and disk space. This can be done by migrating the instance to a larger server. The &lt;a href="https://quollix.org/docs/operations/server-migration/"&gt;server migration guide&lt;/a&gt; might be helpful for that.&lt;/p&gt;
&lt;h2 id="federation"&gt;Federation&lt;/h2&gt;
&lt;p&gt;Communities or larger organizations may federate multiple Quollix servers. Each server represents an organizational unit. Identity and access are shared through a central Identity Provider server.&lt;/p&gt;</description></item><item><title>Server migration</title><link>https://quollix.org/docs/operations/server-migration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/operations/server-migration/</guid><description>&lt;p&gt;Server migration means moving Quollix and apps data from one server to another. This could be for reasons such as switching cloud providers, upgrading hardware or moving from SaaS to self-hosted infrastructure.&lt;/p&gt;
&lt;p&gt;With Quollix, migration is straightforward: simply create remote backups of all apps, set up a new Quollix instance, configure access to the remote backup server, and restore the apps from the remote backup server. To avoid compatibility issues, ensure that the Docker image tags of the old and new Quollix containers are the same.&lt;/p&gt;</description></item><item><title>Server preparations</title><link>https://quollix.org/docs/operations/server-preparations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/operations/server-preparations/</guid><description>&lt;p&gt;This sample guide walks you through setting up a hardened Ubuntu Server host for Quollix. Adapt it to your own environment as needed.&lt;/p&gt;
&lt;h3 id="restrict-physical-access"&gt;Restrict Physical Access&lt;/h3&gt;
&lt;p&gt;Place the device in a locked rack or drawer.&lt;/p&gt;
&lt;h3 id="os-installation"&gt;OS Installation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Download Ubuntu Server: Grab the latest ISO from &lt;a href="https://ubuntu.com/download/server" target="_blank" rel="noopener noreferrer"&gt;Canonical’s download page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Flash it to a USB drive (Rufus, balenaEtcher, etc.). You will need to connect a screen and a keyboard in order to complete the initial setup.&lt;/li&gt;
&lt;li&gt;During setup:
&lt;ul&gt;
&lt;li&gt;Pick minimal installation, no GUI.&lt;/li&gt;
&lt;li&gt;Enable SSH server.&lt;/li&gt;
&lt;li&gt;Optional: Choose LVM with full-disk encryption (FDE) if you want encrypted storage (see below).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="internet-connection"&gt;Internet Connection&lt;/h3&gt;
&lt;p&gt;Connect the server to a wired LAN to avoid having to configure a Wi-Fi connection on boot. With FDE, Wi-Fi setup would even be required twice: once in the encrypted-mode initramfs and again in the decrypted-mode main operating system. Please note that the LAN IP address of the server may differ between initramfs mode and the main operating system, since the router may recognise them as two distinct devices.&lt;/p&gt;</description></item><item><title>Software EULA</title><link>https://quollix.org/docs/legal/software-eula/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/legal/software-eula/</guid><description>&lt;p&gt;&lt;em&gt;Last Updated: 26.02.2026&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This End-User License Agreement (“EULA”) governs the use of the proprietary components of Quollix (the “Software”).&lt;/p&gt;
&lt;p&gt;By installing, accessing, or using the proprietary components of the Software, you agree to this EULA.&lt;/p&gt;
&lt;h2 id="1-scope-and-structure"&gt;1. Scope and Structure&lt;/h2&gt;
&lt;p&gt;Quollix may include both open-source components and proprietary components.&lt;/p&gt;
&lt;p&gt;Open-source components are governed exclusively by their respective open-source licenses.&lt;/p&gt;
&lt;p&gt;This EULA applies only to proprietary components, including premium features distributed in compiled or containerized form.&lt;/p&gt;</description></item><item><title>Software Privacy Notice</title><link>https://quollix.org/docs/legal/software-privacy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/legal/software-privacy/</guid><description>&lt;p&gt;&lt;em&gt;Last Updated: 26.02.2026&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This Software Privacy Notice applies only when proprietary components of Quollix that require license validation are used.&lt;/p&gt;
&lt;p&gt;If you use only open-source components of Quollix without enabling premium features, no data is transmitted to or processed by the Maintainer.&lt;/p&gt;
&lt;h2 id="1-controller"&gt;1. Controller&lt;/h2&gt;
&lt;p&gt;The controller within the meaning of applicable data protection laws is the Maintainer of Quollix.&lt;/p&gt;
&lt;h2 id="2-scope"&gt;2. Scope&lt;/h2&gt;
&lt;p&gt;This Notice applies solely to data transmitted to maintainer-operated infrastructure in connection with license validation and service protection for proprietary components.&lt;/p&gt;</description></item><item><title>Terminal (premium)</title><link>https://quollix.org/docs/usage/terminal/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/usage/terminal/</guid><description>&lt;p&gt;The Terminal feature lets you open an interactive shell inside an app’s running container. Since containers may include different shells, Quollix does not assume a specific one. When opening a terminal, it first attempts to start &lt;code&gt;bash&lt;/code&gt;. If that is not available, it falls back to POSIX &lt;code&gt;sh&lt;/code&gt;, followed by additional shells to support less common container setups.&lt;/p&gt;
&lt;p&gt;To open a terminal, simply select the app you are interested in and choose the corresponding service / container.&lt;/p&gt;</description></item><item><title>Terms of Service</title><link>https://quollix.org/docs/legal/terms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/legal/terms/</guid><description>&lt;p&gt;&lt;em&gt;Last Updated: 26.02.2026&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;These Terms of Service (“Terms”) govern access to the Quollix website and the subscription of premium features.&lt;/p&gt;
&lt;p&gt;Subscriptions are purchased via Paddle, which acts as Merchant of Record and processes payments on behalf of the Maintainer.&lt;/p&gt;
&lt;p&gt;By purchasing a subscription or using this website, you agree to these Terms.&lt;/p&gt;
&lt;h2 id="1-provider"&gt;1. Provider&lt;/h2&gt;
&lt;p&gt;Quollix is provided by the person or entity identified in the Imprint (“Maintainer”).&lt;/p&gt;
&lt;h2 id="2-description-of-the-product"&gt;2. Description of the Product&lt;/h2&gt;
&lt;p&gt;Quollix is a software platform that simplifies the deployment and management of containerized applications. It may be used in self-hosted environments or, where offered, as a hosted service.&lt;/p&gt;</description></item><item><title>Threat model</title><link>https://quollix.org/docs/operations/threat-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/operations/threat-model/</guid><description>&lt;p&gt;A threat model outlines the security assumptions, potential risks, and defense strategies of a system. This document describes how Quollix mitigates threats to protect its digital infrastructure.&lt;/p&gt;
&lt;h2 id="security-measures"&gt;Security Measures&lt;/h2&gt;
&lt;h4 id="cryptography"&gt;Cryptography&lt;/h4&gt;
&lt;p&gt;We only use modern, well-tested cryptographic algorithms. Administrators can generate Let’s Encrypt–signed certificates or provide their own certificates to secure HTTPS endpoints.&lt;/p&gt;
&lt;h4 id="container-isolation"&gt;Container Isolation&lt;/h4&gt;
&lt;p&gt;Every app runs in its own Docker container with no shared volumes, networks, or Docker socket access, and with restricted Linux capabilities.&lt;/p&gt;</description></item><item><title>Troubleshooting</title><link>https://quollix.org/docs/operations/troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/operations/troubleshooting/</guid><description>&lt;details style="--faqlink: #3a73a0;"&gt;
 &lt;summary style="color: var(--faqlink);"&gt;&lt;span class="faq-question"&gt;I have forgotten my Quollix password. How can I reset it?&lt;/span&gt;&lt;/summary&gt;
 &lt;p&gt;You can ask an admin to reset your account password. If you are the only admin and have lost access to your account, you can reset the password by running the following command on the server:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; -i quollix_postgres_postgres psql -U postgres -d postgres -c &lt;span class="s2"&gt;&amp;#34;DELETE FROM users WHERE user_name = &amp;#39;admin&amp;#39;;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker restart quollix
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This deletes the admin account. On restart, since no admin account exists, Quollix will create a new one with the credentials: admin/password.&lt;/p&gt;</description></item><item><title>Website Privacy Policy</title><link>https://quollix.org/docs/legal/website-privacy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/legal/website-privacy/</guid><description>&lt;p&gt;&lt;em&gt;Last Updated: 26.02.2026&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This Privacy Policy applies to visits to the publicly accessible Quollix website.&lt;/p&gt;
&lt;h2 id="1-controller"&gt;1. Controller&lt;/h2&gt;
&lt;p&gt;The controller within the meaning of applicable data protection laws is the person identified in the Imprint.&lt;/p&gt;
&lt;h2 id="2-scope"&gt;2. Scope&lt;/h2&gt;
&lt;p&gt;This Privacy Policy applies when you visit the Website for informational purposes.&lt;/p&gt;
&lt;h2 id="3-server-log-data"&gt;3. Server Log Data&lt;/h2&gt;
&lt;p&gt;When you access the Website, technical data is automatically processed by the hosting infrastructure. This may include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IP address&lt;/li&gt;
&lt;li&gt;Date and time of access&lt;/li&gt;
&lt;li&gt;Requested pages or resources&lt;/li&gt;
&lt;li&gt;Referrer information&lt;/li&gt;
&lt;li&gt;Browser type and version&lt;/li&gt;
&lt;li&gt;Operating system&lt;/li&gt;
&lt;li&gt;Technical request metadata&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This data is processed to ensure security, stability, and proper operation of the Website.&lt;/p&gt;</description></item></channel></rss>