<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>App Store on Quollix</title><link>https://quollix.org/docs/project/app-store/</link><description>Recent content in App Store on Quollix</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://quollix.org/docs/project/app-store/index.xml" rel="self" type="application/rss+xml"/><item><title>App Design Recommendations</title><link>https://quollix.org/docs/project/app-store/app-design-recommendations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/project/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;&#10;&lt;p&gt;Tip: Downloading a few official app definitions from the Quollix UI and inspecting their &lt;code&gt;docker-compose.yml&lt;/code&gt; files can be useful. Some recommendations below are easier to understand when compared with working examples.&lt;/p&gt;</description></item><item><title>Service Migration</title><link>https://quollix.org/docs/project/app-store/service-migration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://quollix.org/docs/project/app-store/service-migration/</guid><description>&lt;p&gt;Quollix automatically runs selected service migrations during app updates from the App Store. For example, updating Postgres to a new major version no longer requires administrators to run the migration commands by hand. The same service migration mechanism is also used when an administrator directly uploads an app version to Quollix.&lt;/p&gt;&#10;&lt;h2 id="current-support"&gt;Current Support&lt;/h2&gt;&#10;&lt;p&gt;Quollix currently handles these service migrations:&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Service&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Migration behavior&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Postgres&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;On major version changes, Quollix exports a dump with &lt;code&gt;pg_dumpall&lt;/code&gt; in the old container and imports it with &lt;code&gt;psql&lt;/code&gt; in the new container.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Zulip Postgres&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Zulip&amp;rsquo;s &lt;code&gt;zulip/zulip-postgresql&lt;/code&gt; image follows the same Postgres migration flow.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;RabbitMQ&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;On RabbitMQ image version changes, Quollix starts the old RabbitMQ container and runs &lt;code&gt;rabbitmqctl enable_feature_flag all&lt;/code&gt; before the update continues.&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="rabbitmq"&gt;RabbitMQ&lt;/h3&gt;&#10;&lt;p&gt;For RabbitMQ, app definitions should keep the RabbitMQ node name stable across container recreations and upgrades, for example by setting &lt;code&gt;RABBITMQ_NODENAME&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>