<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Operations on Quollix</title><link>https://quollix.org/docs/operations/</link><description>Recent content in Operations on Quollix</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://quollix.org/docs/operations/index.xml" rel="self" type="application/rss+xml"/><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>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>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="multiple-instances-via-oidc"&gt;Multiple Instances via OIDC&lt;/h2&gt;
&lt;p&gt;Larger organizations may run multiple Quollix instances. Each instance is independent and isolated. Identity and access can be shared using OpenID Connect (OIDC).&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>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></channel></rss>