<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    
    <title>GitHub PHP Daily Trending Repositories</title>
    <description>Daily Trending Repositories of PHP on GitHub</description>
    
    <pubDate>Mon, 10 Aug 2026 07:34:02 GMT</pubDate>
    <link>https://mshibanami.github.io/GitHubTrendingRSS</link>
    
    <item>
      <title>cachethq/cachet</title>
      <link>https://github.com/cachethq/cachet</link>
      <description>&lt;p&gt;🚦 Cachet, the open source, self-hosted status page system.&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;art/cachet-core-dark.svg&quot; /&gt; 
  &lt;img alt=&quot;Cachet Core&quot; src=&quot;https://raw.githubusercontent.com/cachethq/cachet/3.x/art/cachet-core-light.svg?sanitize=true&quot; /&gt; 
 &lt;/picture&gt; &lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://github.com/cachethq/cachet/actions&quot;&gt; &lt;img src=&quot;https://github.com/cachethq/cachet/workflows/run-tests/badge.svg?sanitize=true&quot; alt=&quot;Build Status&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://github.com/sponsors/cachethq/?sponsor=1&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/sponsors/cachethq&quot; alt=&quot;GitHub Sponsors&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://github.com/cachethq/cachet/stargazers&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/stars/cachethq/cachet&quot; alt=&quot;GitHub Stars&quot; /&gt; &lt;/a&gt; &lt;/p&gt; 
&lt;p&gt;Cachet, the open source self-hosted status page system.&lt;/p&gt; 
&lt;h2&gt;Cachet 3.x Announcement&lt;/h2&gt; 
&lt;p&gt;For more information on the Cachet rebuild and our plans for 3.x, you can read the announcement &lt;a href=&quot;https://github.com/CachetHQ/Cachet/discussions/4342&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Requirements&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;PHP 8.3 or later&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://getcomposer.org&quot;&gt;Composer&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;A supported database: MariaDB, MySQL, PostgreSQL or SQLite&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Installation, Upgrades and Documentation&lt;/h2&gt; 
&lt;p&gt;You can find documentation at &lt;a href=&quot;https://docs.cachethq.io&quot;&gt;https://docs.cachethq.io&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Here are some useful quick links:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.cachethq.io/v3.x/installation&quot;&gt;Installing Cachet&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Demo&lt;/h3&gt; 
&lt;p&gt;To test out the v3 demo, you can log in to the &lt;a href=&quot;https://v3.cachethq.io/dashboard&quot;&gt;Cachet dashboard&lt;/a&gt; with the following credentials:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Email:&lt;/strong&gt; &lt;code&gt;test@test.com&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Password:&lt;/strong&gt; &lt;code&gt;test123&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; The demo automatically resets every 30 minutes.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h2&gt;Sponsors&lt;/h2&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://jump24.co.uk&quot;&gt;&lt;img width=&quot;100px&quot; src=&quot;https://github.com/jumptwentyfour.png&quot; alt=&quot;Jump24&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://xyphen-it.nl&quot;&gt;&lt;img width=&quot;100px&quot; src=&quot;https://github.com/xyphen-it.png&quot; alt=&quot;Xyphen-IT&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://coderabbit.ai/&quot;&gt;&lt;img width=&quot;100px&quot; src=&quot;https://github.com/coderabbitai.png&quot; alt=&quot;Code Rabbit&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://scramble.dedoc.co/&quot;&gt;&lt;img width=&quot;100px&quot; src=&quot;https://github.com/dedoc.png&quot; alt=&quot;de:doc&quot; /&gt;&lt;/a&gt; &lt;/p&gt; 
&lt;h2&gt;Security Vulnerabilities&lt;/h2&gt; 
&lt;p&gt;If you discover a security vulnerability within Cachet, please send an e-mail to &lt;a href=&quot;mailto:support@cachethq.io?Cachet%20Security%20Vulnerability&quot;&gt;support@cachethq.io&lt;/a&gt;. All security vulnerabilities are reviewed on a case-by-case basis.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/26730195/38278f5f-180f-4f1d-8a39-006ba27d1751" medium="image" />
      
    </item>
    
    <item>
      <title>PHP-CS-Fixer/PHP-CS-Fixer</title>
      <link>https://github.com/PHP-CS-Fixer/PHP-CS-Fixer</link>
      <description>&lt;p&gt;A tool to automatically fix PHP Coding Standards issues&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://cs.symfony.com&quot;&gt; &lt;img src=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/logo.png&quot; title=&quot;PHP CS Fixer&quot; alt=&quot;PHP CS Fixer logo&quot; /&gt; &lt;/a&gt; &lt;/p&gt; 
&lt;h1&gt;PHP Coding Standards Fixer&lt;/h1&gt; 
&lt;p&gt;The PHP Coding Standards Fixer (PHP CS Fixer) fixes your code to follow the standards.&lt;/p&gt; 
&lt;p&gt;If you are already using a linter to identify coding standards problems in your code, you know that fixing them by hand is tedious, especially on large projects. This tool not only detects them, but also fixes them for you.&lt;/p&gt; 
&lt;p&gt;PHP CS Fixer has built-in rule sets, whether you want to follow PHP coding standards as defined by &lt;a href=&quot;https://www.php-fig.org/per/coding-style/&quot;&gt;PHP-FIG&#39;s PER Coding Style&lt;/a&gt; - &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/ruleSets/PER-CS.rst&quot;&gt;&lt;code&gt;@PER-CS&lt;/code&gt;&lt;/a&gt;, a wide community like the &lt;a href=&quot;https://symfony.com/doc/current/contributing/code/standards.html&quot;&gt;Symfony&lt;/a&gt; - &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/ruleSets/Symfony.rst&quot;&gt;&lt;code&gt;@Symfony&lt;/code&gt;&lt;/a&gt;, or our opinionated one - &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/ruleSets/PhpCsFixer.rst&quot;&gt;@PhpCsFixer&lt;/a&gt;. You can also define your (team&#39;s) style through the &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/config.rst&quot;&gt;configuration file&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;PHP CS Fixer can not only unify the style of your code, but also help to modernise your codebase towards newer PHP (e.g. &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/ruleSets/AutoPHPMigration.rst&quot;&gt;&lt;code&gt;@autoPHPMigration&lt;/code&gt;&lt;/a&gt; and &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/ruleSets/AutoPHPMigrationRisky.rst&quot;&gt;&lt;code&gt;@autoPHPMigration:risky&lt;/code&gt;&lt;/a&gt;) and newer PHPUnit (e.g. &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/ruleSets/AutoPHPUnitMigrationRisky.rst&quot;&gt;&lt;code&gt;@autoPHPUnitMigration:risky&lt;/code&gt;&lt;/a&gt;).&lt;/p&gt; 
&lt;p&gt;There are also &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/ruleSets/Auto.rst&quot;&gt;&lt;code&gt;@auto&lt;/code&gt;&lt;/a&gt; and &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/ruleSets/AutoRisky.rst&quot;&gt;&lt;code&gt;@auto:risky&lt;/code&gt;&lt;/a&gt; that aim to provide good base rules.&lt;/p&gt; 
&lt;h2&gt;Supported PHP Versions&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;PHP 7.4 - PHP 8.5&lt;/li&gt; 
&lt;/ul&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;Each new PHP version requires a huge effort to support the new syntax. That&#39;s why the latest PHP version might not be supported yet. If you need it, please consider supporting the project in any convenient way, for example, with code contributions or reviewing existing PRs. To run PHP CS Fixer on yet unsupported versions &quot;at your own risk&quot; - use &lt;code&gt;--allow-unsupported-php-version=yes&lt;/code&gt; option.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;h3&gt;Installation&lt;/h3&gt; 
&lt;p&gt;The recommended way to install PHP CS Fixer is to use &lt;a href=&quot;https://getcomposer.org/download/&quot;&gt;Composer&lt;/a&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;composer require --dev friendsofphp/php-cs-fixer
## or when facing conflicts in dependencies:
composer require --dev php-cs-fixer/shim
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;For more details and other installation methods (also with Docker or behind CI), see &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/installation.rst&quot;&gt;installation instructions&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Usage&lt;/h3&gt; 
&lt;p&gt;Assuming you installed PHP CS Fixer as instructed above, you can initialise base config for your project by using following command:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;./vendor/bin/php-cs-fixer init
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To automatically fix your project, or only check against the need of changes, run:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;./vendor/bin/php-cs-fixer fix
./vendor/bin/php-cs-fixer check
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/usage.rst&quot;&gt;usage&lt;/a&gt;, list of &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/rules/index.rst&quot;&gt;built-in rules&lt;/a&gt;, list of &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/ruleSets/index.rst&quot;&gt;rule sets&lt;/a&gt; and &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/config.rst&quot;&gt;configuration file&lt;/a&gt; documentation for more details.&lt;/p&gt; 
&lt;p&gt;If you need to apply code styles that are not built-in into the tool, you can &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/doc/custom_rules.rst&quot;&gt;create custom rules&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Editor Integration&lt;/h2&gt; 
&lt;p&gt;Native support exists for:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.jetbrains.com/help/phpstorm/using-php-cs-fixer.html&quot;&gt;PhpStorm&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Community plugins exist for:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://plugins.netbeans.apache.org/catalogue/?id=36&quot;&gt;NetBeans&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/benmatselby/sublime-phpcs&quot;&gt;Sublime Text&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/stephpy/vim-php-cs-fixer&quot;&gt;Vim&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/junstyle/vscode-php-cs-fixer&quot;&gt;VS Code&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Community&lt;/h2&gt; 
&lt;p&gt;The PHP CS Fixer is maintained on GitHub at &lt;a href=&quot;https://github.com/PHP-CS-Fixer/PHP-CS-Fixer&quot;&gt;https://github.com/PHP-CS-Fixer/PHP-CS-Fixer&lt;/a&gt;. Contributions, bug reports and ideas about new features are welcome there.&lt;/p&gt; 
&lt;p&gt;You can reach us in the &lt;a href=&quot;https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/discussions/&quot;&gt;GitHub Discussions&lt;/a&gt; regarding the project, configuration, possible improvements, ideas and questions.&lt;/p&gt; 
&lt;h2&gt;Contribute&lt;/h2&gt; 
&lt;p&gt;The tool comes with quite a few built-in fixers, but everyone is more than welcome to &lt;a href=&quot;https://raw.githubusercontent.com/PHP-CS-Fixer/PHP-CS-Fixer/master/CONTRIBUTING.md&quot;&gt;contribute&lt;/a&gt; more of them.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/4344257/0915c480-fe49-11e9-92a6-33069b63c451" medium="image" />
      
    </item>
    
    <item>
      <title>danielmiessler/SecLists</title>
      <link>https://github.com/danielmiessler/SecLists</link>
      <description>&lt;p&gt;SecLists is the security tester&#39;s companion. It&#39;s a collection of multiple types of lists used during security assessments, collected in one place. List types include usernames, passwords, URLs, sensitive data patterns, fuzzing payloads, web shells, and many more.&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/danielmiessler/SecLists/master/.github/SecLists.png&quot; alt=&quot;Project logo&quot; /&gt;&lt;/p&gt; 
&lt;h3&gt;About SecLists&lt;/h3&gt; 
&lt;p&gt;SecLists is the security tester&#39;s companion. It&#39;s a collection of multiple types of lists used during security assessments, collected in one place. List types include usernames, passwords, URLs, sensitive data patterns, fuzzing payloads, web shells, and many more. The goal is to enable a security tester to pull this repository onto a new testing box and have access to every type of list that may be needed.&lt;/p&gt; 
&lt;p&gt;This project is maintained by &lt;a href=&quot;https://danielmiessler.com/&quot;&gt;Daniel Miessler&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/Jhaddix&quot;&gt;Jason Haddix&lt;/a&gt;, &lt;a href=&quot;https://github.com/ItsIgnacioPortal&quot;&gt;Ignacio Portal&lt;/a&gt; and &lt;a href=&quot;https://blog.g0tmi1k.com/&quot;&gt;g0tmi1k&lt;/a&gt;.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Repository details&lt;/h3&gt; 
&lt;p&gt;&lt;img src=&quot;https://img.shields.io/github/repo-size/danielmiessler/SecLists.svg?sanitize=true&quot; alt=&quot;Repo size&quot; /&gt;&lt;/p&gt; 
&lt;!-- This badge is automatically updated by a GitHub Action. Do not edit manually. --&gt; 
&lt;p&gt;&lt;img src=&quot;https://img.shields.io/badge/clone%20time-~%208m%2059s%20@50Mb/s-blue&quot; alt=&quot;Approx cloning time&quot; /&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Install&lt;/h3&gt; 
&lt;p&gt;&lt;strong&gt;Zip&lt;/strong&gt;&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;wget -c https://github.com/danielmiessler/SecLists/archive/master.zip -O SecList.zip &amp;amp;&amp;amp; unzip SecList.zip &amp;amp;&amp;amp; rm -f SecList.zip
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Git: No commit history (faster)&lt;/strong&gt;&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone --depth 1 https://github.com/danielmiessler/SecLists.git
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Git: Complete&lt;/strong&gt;&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;git clone https://github.com/danielmiessler/SecLists.git
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Kali Linux&lt;/strong&gt; (&lt;a href=&quot;https://www.kali.org/tools/seclists/&quot;&gt;Tool Page&lt;/a&gt;)&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;apt -y install seclists
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;BlackArch&lt;/strong&gt; (&lt;a href=&quot;https://blackarch.org/tools.html&quot;&gt;Tool Page&lt;/a&gt;)&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;sudo pacman -S seclists
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Attribution&lt;/h3&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/danielmiessler/SecLists/master/CONTRIBUTORS.md&quot;&gt;CONTRIBUTORS.md&lt;/a&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Contributing&lt;/h3&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/danielmiessler/SecLists/master/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Similar Projects&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://wordlists.assetnote.io/&quot;&gt;Assetnote Wordlists&lt;/a&gt;: High quality wordlists for content and subdomain discovery which are automatically updated every month.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/Bo0oM/fuzz.txt&quot;&gt;fuzz.txt&lt;/a&gt;: Wordlists of &quot;potentially dangerous&quot; files.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/fuzzdb-project/fuzzdb&quot;&gt;FuzzDB&lt;/a&gt;: Dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/swisskyrepo/PayloadsAllTheThings&quot;&gt;PayloadsAllTheThings&lt;/a&gt;: A list of useful payloads and bypass for Web Application Security and Pentest/CTF&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/MusicGivesMeLife/BiblePass&quot;&gt;BiblePass&lt;/a&gt;: Wordlists compiled from Bible verses&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/the-xentropy/samlists&quot;&gt;SamLists&lt;/a&gt;: Data-driven wordlists containing HTTP parameter names, directory names and filenames.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Wordlist Tools&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/giteshnxtlvl/cook&quot;&gt;Cook&lt;/a&gt;: A wordlist framework. An overpowered wordlist generator, splitter, merger, finder and saver. Cook facilitates the creation of permutations and combinations with a variety of encodings and many more features.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/s0md3v/wl&quot;&gt;Wl&lt;/a&gt;: CLI utility for converting strings to a given casing style.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/digininja/CeWL&quot;&gt;CeWL&lt;/a&gt;: Custom Word List generator.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/joseaguardia/GENOVEVA&quot;&gt;Genoveva&lt;/a&gt;: From a word list, it generates up to 17,335,754 combinations per word, mixing lowercase, capitalized, uppercase, full and partial L33T (for each vowel and &quot;s&quot;), reverse, numbers from 1 to 4 digits, dates in mmddyyyy format from 1950 to 2030, date format mmddyy, symbols at the end, symbols between name and date...&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Also checkout the &lt;code&gt;.bin&lt;/code&gt; directory in this repository. We have a number of wordlist generators and mutators there.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;💜 Support This Project&lt;/h3&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;p&gt;&lt;a href=&quot;https://github.com/sponsors/danielmiessler&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Sponsor%2520danielmiessler-%E2%9D%A4%EF%B8%8F-EA4AAA?style=for-the-badge&amp;amp;logo=github-sponsors&amp;amp;logoColor=white&quot; alt=&quot;Sponsor danielmiessler&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/sponsors/ItsIgnacioPortal&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Sponsor%2520ItsIgnacioPortal-%E2%9D%A4%EF%B8%8F-EA4AAA?style=for-the-badge&amp;amp;logo=github-sponsors&amp;amp;logoColor=white&quot; alt=&quot;Sponsor ItsIgnacioPortal&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;We spend hundreds of hours a year on open source. If you&#39;d like to help support this project, you can sponsor us here:&lt;/strong&gt;&lt;br /&gt; &lt;strong&gt;&lt;a href=&quot;https://github.com/sponsors/danielmiessler&quot;&gt;danielmiessler&lt;/a&gt;&lt;/strong&gt; (founder)&lt;br /&gt; &lt;strong&gt;&lt;a href=&quot;https://github.com/sponsors/ItsIgnacioPortal&quot;&gt;ItsIgnacioPortal&lt;/a&gt;&lt;/strong&gt; (current maintainer since 2021)&lt;/p&gt; 
&lt;/div&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Licensing&lt;/h3&gt; 
&lt;p&gt;This project is licensed under the &lt;a href=&quot;https://raw.githubusercontent.com/danielmiessler/SecLists/master/LICENSE&quot;&gt;MIT license&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;sup&gt;NOTE: Downloading this repository is likely to cause a false-positive alarm by your anti-virus or anti-malware software, the filepath should be whitelisted. There is nothing in SecLists that can harm your computer as-is, however it&#39;s not recommended to store these files on a server or other important system due to the risk of local file include attacks.&lt;/sup&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/1bdcb1b560053177b7932e34b048f8d5230183f0e7389adc659a0af16a6297a6/danielmiessler/SecLists" medium="image" />
      
    </item>
    
    <item>
      <title>nextcloud/all-in-one</title>
      <link>https://github.com/nextcloud/all-in-one</link>
      <description>&lt;p&gt;📦 The official Nextcloud installation method. Provides easy deployment and maintenance with most features included in this one Nextcloud instance.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Nextcloud All-in-One&lt;/h1&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;Nextcloud AIO is actively looking for contributors. See &lt;a href=&quot;https://help.nextcloud.com/t/nextcloud-aio-is-looking-for-contributors/205234&quot;&gt;the forum post&lt;/a&gt;.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;The official Nextcloud installation method. Nextcloud AIO provides easy deployment and maintenance with most features included in this one Nextcloud instance.&lt;/p&gt; 
&lt;p&gt;Included are:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Nextcloud&lt;/li&gt; 
 &lt;li&gt;High performance backend for Nextcloud Files (Client Push)&lt;/li&gt; 
 &lt;li&gt;Redis &amp;amp; APCU for performant caching&lt;/li&gt; 
 &lt;li&gt;PostgreSQL as database&lt;/li&gt; 
 &lt;li&gt;Nextcloud Office (optional)&lt;/li&gt; 
 &lt;li&gt;EuroOffice (optional)&lt;/li&gt; 
 &lt;li&gt;High performance backend for Nextcloud Talk and TURN-server (optional)&lt;/li&gt; 
 &lt;li&gt;Nextcloud Talk Recording-server (optional)&lt;/li&gt; 
 &lt;li&gt;Backup solution (optional, based on &lt;a href=&quot;https://github.com/borgbackup/borg#what-is-borgbackup&quot;&gt;BorgBackup&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;Imaginary (optional, for previews of heic, heif, illustrator, pdf, svg, tiff and webp)&lt;/li&gt; 
 &lt;li&gt;ClamAV (optional, Antivirus backend for Nextcloud)&lt;/li&gt; 
 &lt;li&gt;Fulltextsearch (optional)&lt;/li&gt; 
 &lt;li&gt;Whiteboard (optional)&lt;/li&gt; 
 &lt;li&gt;Docker Socket Proxy (optional, needed for &lt;a href=&quot;https://github.com/cloud-py-api/app_api#nextcloud-appapi&quot;&gt;Nextcloud App API&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers&quot;&gt;Community containers&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;details&gt;
 &lt;summary&gt;And much more:&lt;/summary&gt; 
 &lt;ul&gt; 
  &lt;li&gt;Simple web interface included that enables easy installation and maintenance&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-update-the-containers&quot;&gt;Easy updates included&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Update and backup notifications included&lt;/li&gt; 
  &lt;li&gt;Daily backups can be enabled from the AIO interface which also allows updating all containers, Nextcloud and its apps afterwards automatically&lt;/li&gt; 
  &lt;li&gt;Instance restore from backup archive via the AIO interface included (you only need the archive and the password in order to restore the whole instance on a new AIO instance)&lt;/li&gt; 
  &lt;li&gt;APCu as local cache&lt;/li&gt; 
  &lt;li&gt;Redis as distributed cache and for file locking&lt;/li&gt; 
  &lt;li&gt;Postgresql as database&lt;/li&gt; 
  &lt;li&gt;PHP-FPM with performance-optimized config (e.g. Opcache and JIT enabled by default)&lt;/li&gt; 
  &lt;li&gt;A+ security in Nextcloud security scan&lt;/li&gt; 
  &lt;li&gt;Ready to be used behind existing &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/reverse-proxy.md&quot;&gt;Reverse proxies&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Can be used behind &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-run-nextcloud-behind-a-cloudflare-tunnel&quot;&gt;Cloudflare Tunnel&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Can be used via &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/6817&quot;&gt;Tailscale&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Ready for big file uploads up to 10 GB on public links, &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud&quot;&gt;adjustable&lt;/a&gt; (logged in users can upload much bigger files using the webinterface or the mobile/desktop clients since chunking is used in that case)&lt;/li&gt; 
  &lt;li&gt;PHP and web server timeouts set to 3600s, &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud&quot;&gt;adjustable&lt;/a&gt; (important for big file uploads)&lt;/li&gt; 
  &lt;li&gt;Defaults to a max of 512 MB RAM per PHP process, &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud&quot;&gt;adjustable&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Automatic TLS included (by using Let&#39;s Encrypt)&lt;/li&gt; 
  &lt;li&gt;zstd/gzip compression enabled by default inside caddy inside the apache container&lt;/li&gt; 
  &lt;li&gt;HTTP/2 and HTTP/3 enabled&lt;/li&gt; 
  &lt;li&gt;&quot;Pretty URLs&quot; for Nextcloud are enabled by default (removes the index.php from all links)&lt;/li&gt; 
  &lt;li&gt;Video previews work out of the box and when Imaginary is enabled, many recent image formats as well!&lt;/li&gt; 
  &lt;li&gt;Only one domain and not multiple domains are required for everything to work (usually you would need to have one domain for each service which is much more complex)&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir&quot;&gt;Adjustable location&lt;/a&gt; of Nextcloud&#39;s datadir (e.g. good for easy file-sharing with host system on Windows and MacOS)&lt;/li&gt; 
  &lt;li&gt;By default confined (good for security) but can &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host&quot;&gt;allow access to additional storages&lt;/a&gt; in order to enable the usage of the local external storage feature&lt;/li&gt; 
  &lt;li&gt;Possibility included to &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup&quot;&gt;adjust default installed Nextcloud apps&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Nextcloud installation is not read only - that means you can apply patches if you should need them (instead of having to wait for the next release for them getting applied)&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;ffmpeg&lt;/code&gt;, &lt;code&gt;smbclient&lt;/code&gt; and &lt;code&gt;nodejs&lt;/code&gt; are included by default&lt;/li&gt; 
  &lt;li&gt;Possibility included to &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup&quot;&gt;permanently add additional OS packages into the Nextcloud container&lt;/a&gt; without having to build your own Docker image&lt;/li&gt; 
  &lt;li&gt;Possibility included to &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container&quot;&gt;permanently add additional PHP extensions into the Nextcloud container&lt;/a&gt; without having to build your own Docker image&lt;/li&gt; 
  &lt;li&gt;Possibility included to &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud&quot;&gt;pass the needed device for hardware transcoding&lt;/a&gt; to the Nextcloud container&lt;/li&gt; 
  &lt;li&gt;Possibility included to &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-store-the-filesinstallation-on-a-separate-drive&quot;&gt;store all docker related files on a separate drive&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main#ldap&quot;&gt;LDAP can be used as user backend for Nextcloud&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Migration from any former Nextcloud installation to AIO is possible. See &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/migration.md&quot;&gt;this documentation&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;Migration in the other direction (e.g. from AIO to a VM-based installation) is also possible.&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/nextcloud/all-in-one#fail2ban&quot;&gt;Fail2Ban can be added&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/nextcloud/all-in-one#phpmyadmin-adminer-or-pgadmin&quot;&gt;phpMyAdmin, Adminer or pgAdmin can be added&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/nextcloud/all-in-one#mail-server&quot;&gt;Mail server can be added&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Nextcloud can be &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-can-i-access-nextcloud-locally&quot;&gt;accessed locally via the domain&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Can &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/local-instance.md&quot;&gt;be installed locally&lt;/a&gt; (if you don&#39;t want or cannot make the instance publicly reachable)&lt;/li&gt; 
  &lt;li&gt;Free &lt;a href=&quot;https://desec.io&quot;&gt;deSEC&lt;/a&gt; dynamic-DNS domain (&lt;code&gt;*.dedyn.io&lt;/code&gt;) can be registered directly from the AIO interface — no external domain needed&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/docker-ipv6-support.md&quot;&gt;IPv6-ready&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Can be used with &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/docker-rootless.md&quot;&gt;Docker rootless&lt;/a&gt; (good for additional security)&lt;/li&gt; 
  &lt;li&gt;Runs on all platforms Docker supports (e.g. also on Windows and Macos)&lt;/li&gt; 
  &lt;li&gt;Included containers easy to debug by having the possibility to check their logs directly from the AIO interface&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/compose.yaml&quot;&gt;Docker-compose ready&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Can be installed &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/manual-install&quot;&gt;without a container having access to the docker socket&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Can be installed with &lt;a href=&quot;https://github.com/nextcloud/all-in-one#can-i-run-this-with-docker-swarm&quot;&gt;Docker Swarm&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Can be installed with &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/nextcloud-aio-helm-chart&quot;&gt;Kubernetes&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;Almost all included containers Alpine Linux based (good for security and size)&lt;/li&gt; 
  &lt;li&gt;Many of the included containers run as non-root user (good for security)&lt;/li&gt; 
  &lt;li&gt;Many of the included containers have a read-only root-FS (good for security)&lt;/li&gt; 
  &lt;li&gt;Included containers run in its own docker network (good for security) and only really necessary ports are exposed on the host&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/multiple-instances.md&quot;&gt;Multiple instances on one server&lt;/a&gt; are doable without having to deal with VMs&lt;/li&gt; 
  &lt;li&gt;Adjustable backup path or remote borg repository from the AIO interface (good to put the backups e.g. on a different drive if using a local backup path)&lt;/li&gt; 
  &lt;li&gt;Possibility included to also back up external Docker Volumes or Host paths (can be used for host backups)&lt;/li&gt; 
  &lt;li&gt;Borg backup can be completely managed from the AIO interface, including backup creation, backup restore, backup integrity check and integrity-repair&lt;/li&gt; 
  &lt;li&gt;Other forms of &lt;a href=&quot;https://github.com/nextcloud/all-in-one#are-remote-borg-backups-supported&quot;&gt;remote backup&lt;/a&gt; are indirectly possible&lt;/li&gt; 
  &lt;li&gt;Updates and backups can be &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-stopstartupdate-containers-or-trigger-the-daily-backup-from-a-script-externally&quot;&gt;run from an external script&lt;/a&gt;. See &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-enable-automatic-updates-without-creating-a-backup-beforehand&quot;&gt;this documentation&lt;/a&gt; for a complete example.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/details&gt; 
&lt;h2&gt;Screenshots&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;First setup&lt;/th&gt; 
   &lt;th&gt;After installation&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;img src=&quot;https://github.com/user-attachments/assets/6ef5d7b5-86f2-402c-bc6c-b633af2ca7dd&quot; alt=&quot;image&quot; /&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;img src=&quot;https://github.com/user-attachments/assets/939d0fdf-436f-433d-82d3-27548263a040&quot; alt=&quot;image&quot; /&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Architecture overview&lt;/h2&gt; 
&lt;pre&gt;&lt;code class=&quot;language-mermaid&quot;&gt;flowchart TB
    %% ── Styles ───────────────────────────────────────────────────────────────────
    classDef user      fill:#FFF3CD,stroke:#F0AD4E,color:#333
    classDef master    fill:#E8D5F5,stroke:#9B59B6,color:#222
    classDef core      fill:#D6EAF8,stroke:#2E86C1,color:#222
    classDef opt       fill:#D5F5E3,stroke:#27AE60,color:#222
    classDef community fill:#FDEBD0,stroke:#E67E22,color:#222
    classDef access    fill:#EAFAF1,stroke:#1E8449,color:#222

    %% ── Top row: people ─────────────────────────────────────────────────────────
    YOU([&quot;🧑‍💻 Admin\n(You)&quot;]):::user
    ENDUSER([&quot;🧑‍🤝‍🧑 Users\n(family / team)&quot;]):::user

    %% ── Everything that runs inside AIO ─────────────────────────────────────────
    subgraph AIO[&quot;  🐳  Nextcloud AIO  &quot;]
        MC([&quot;🧠 Mastercontainer\n─────────────────────────\n▸ AIO interface :8080 / :8443\n▸ Manages &amp;amp; updates containers\n▸ Handles backups&quot;]):::master

        subgraph CORE[&quot;  📦  Core Stack  (auto-started)  &quot;]
            PROXY([&quot;🔀 Apache\nProxy &amp;amp; HTTPS&quot;]):::core
            NC([&quot;☁️ Nextcloud\nApp Server&quot;]):::core
            DB([&quot;🗄️ PostgreSQL\nDatabase&quot;]):::core
            CACHE([&quot;⚡ Redis\nCache&quot;]):::core
            PUSH([&quot;🔔 Notify Push\nReal-time sync&quot;]):::core
        end

        subgraph OPT[&quot;  🧩  Optional Built-in Containers  (enable in AIO interface)  &quot;]
            COLLA([&quot;📄 Nextcloud Office&quot;]):::opt
            EO([&quot;📄 EuroOffice\nDocument Server&quot;]):::opt
            TALK([&quot;🎙️ Talk\nVideo &amp;amp; Voice calls&quot;]):::opt
            TALKREC([&quot;🎬 Talk Recording&quot;]):::opt
            FTS([&quot;🔎 Full-text Search\n(Elasticsearch)&quot;]):::opt
            IMAG([&quot;🖼️ Imaginary\nImage previews&quot;]):::opt
            CLAM([&quot;🦠 ClamAV\nAntivirus&quot;]):::opt
            WB([&quot;🖊️ Whiteboard&quot;]):::opt
        end

        COMM([&quot;🌍 Community Containers\n──────────────────────\n30+ optional add-ons\nSee community-containers/&quot;]):::community
        click COMM &quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers&quot; &quot;Browse community containers&quot;
    end

    %% ── Result node (outside AIO) ────────────────────────────────────────────────
    NC_URL([&quot;🌐 https://your-domain.com\n✅ Nextcloud — ready to use!&quot;]):::access

    %% ── Flows ────────────────────────────────────────────────────────────────────
    YOU --&amp;gt;|&quot;① open :8080 or :8443 in browser&quot;| MC
    MC --&amp;gt;|&quot;② auto-starts &amp;amp; wires up&quot;| CORE
    MC -. &quot;③ enable in AIO interface&quot; .-&amp;gt; OPT
    MC -. &quot;④ add via AIO interface&quot; .-&amp;gt; COMM

    PROXY --&amp;gt; NC
    NC --- DB
    NC --- CACHE
    NC --- PUSH
    OPT --&amp;gt;|&quot;integrate with&quot;| NC
    COMM -.-&amp;gt;|&quot;integrate with&quot;| NC

    CORE --&amp;gt;|&quot;⑤ stack is ready!&quot;| NC_URL
    ENDUSER --&amp;gt;|&quot;⑥ browser / app&quot;| NC_URL
    YOU --&amp;gt;|&quot;⑥ use normally&quot;| NC_URL
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;How to use this?&lt;/h2&gt; 
&lt;p&gt;The steps below are written for Linux. For platform-specific guidance see:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;macOS: &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-aio-on-macos&quot;&gt;How to run AIO on macOS?&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Windows: &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-aio-on-windows&quot;&gt;How to run AIO on Windows?&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Unraid: &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-aio-on-unraid&quot;&gt;How to run AIO on Unraid?&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Synology DSM: &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-aio-on-synology-dsm&quot;&gt;How to run AIO on Synology DSM?&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;TrueNAS SCALE: &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-run-aio-on-truenas-scale&quot;&gt;Can I run AIO on TrueNAS SCALE?&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;These instructions assume there is no existing web server or reverse proxy (for example Apache, Nginx, Caddy, or Cloudflare Tunnel) that you intend to place in front of AIO. If you plan to run AIO behind an existing web server or reverse proxy, follow the AIO reverse proxy documentation: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/reverse-proxy.md&quot;&gt;Reverse proxy docs&lt;/a&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;You&#39;re encouraged to skim the attached &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#faq&quot;&gt;FAQ&lt;/a&gt;. While we&#39;ve tried to make things straightforward, Nextcloud is a large and flexible platform. Reading the FAQ will save you time, particularly if edge cases come up.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;Don&#39;t worry about getting everything perfect on the first try — test deployments are cheap and disposable.&lt;/p&gt; 
&lt;/div&gt; 
&lt;ol&gt; 
 &lt;li&gt;Install Docker on your Linux host by following the official documentation: &lt;a href=&quot;https://docs.docker.com/engine/install/#supported-platforms&quot;&gt;Docker install — supported platforms&lt;/a&gt;&lt;/li&gt; 
&lt;/ol&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-warning&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-alert mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Warning&lt;/p&gt;
 &lt;p&gt;Snap-based Docker installations are not supported. Make sure you are not using a snap-based Docker installation (generally only applicable to Ubuntu). To check, run:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;sudo docker info | grep &quot;Docker Root Dir&quot; | grep &quot;/var/snap/docker/&quot;
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;If you see the following output:&lt;/p&gt; 
 &lt;pre&gt;&lt;code&gt;/var/snap/docker/
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;you should migrate to a standard Docker installation and remove the snap-based package before proceeding: &lt;a href=&quot;https://docs.docker.com/engine/install/ubuntu/&quot;&gt;Install Docker on Ubuntu&lt;/a&gt;.&lt;/p&gt; 
 &lt;p&gt;⚠️ To avoid losing data or interrupting services, only remove the Docker snap after you are certain you&#39;re not running any existing containers in it.&lt;/p&gt; 
 &lt;p&gt;Consult the official Docker documentation or other guides for instructions on migrating existing containers. Once you are certain it&#39;s safe, remove the snap-based Docker installation with:&lt;/p&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;sudo snap remove docker
&lt;/code&gt;&lt;/pre&gt; 
&lt;/div&gt; 
&lt;ol start=&quot;2&quot;&gt; 
 &lt;li&gt; &lt;p&gt;If you need IPv6 support, enable it by following: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/docker-ipv6-support.md&quot;&gt;Docker IPv6 support for AIO&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;AIO uses a special &lt;code&gt;mastercontainer&lt;/code&gt; to orchestrate the various pieces of the Nextcloud stack. To start AIO, launch the &lt;code&gt;mastercontainer&lt;/code&gt; with the command below:&lt;/p&gt; &lt;/li&gt; 
&lt;/ol&gt; 
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;# For Linux and without a web server or reverse proxy already in place:
sudo docker run \
  --init \
  --sig-proxy=false \
  --name nextcloud-aio-mastercontainer \
  --restart always \
  --publish 80:80 \
  --publish 8080:8080 \
  --publish 8443:8443 \
  --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
  --volume /var/run/docker.sock:/var/run/docker.sock:ro \
  ghcr.io/nextcloud-releases/all-in-one:latest
&lt;/code&gt;&lt;/pre&gt; 
&lt;details&gt; 
 &lt;summary&gt;Explanation of the command&lt;/summary&gt; 
 &lt;ul&gt; 
  &lt;li&gt;&lt;code&gt;sudo docker run&lt;/code&gt; — starts a new Docker container. Omit &lt;code&gt;sudo&lt;/code&gt; if your user is in the &lt;code&gt;docker&lt;/code&gt; group.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;--init&lt;/code&gt; — runs an init process inside the container to handle zombie processes.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;--sig-proxy=false&lt;/code&gt; — prevents Ctrl+C in the attached terminal from stopping the container.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;--name nextcloud-aio-mastercontainer&lt;/code&gt; — the container name. Do not change this name; mastercontainer updates rely on it.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;--restart always&lt;/code&gt; — ensures the container restarts automatically with the Docker daemon.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;--publish 80:80&lt;/code&gt; — publishes container port 80 on host port 80 (used for ACME http-challenge when obtaining certificates, used for for the AIO-interface running inside the mastercontainer). Not required if you run AIO behind a reverse proxy.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;--publish 8080:8080&lt;/code&gt; — publishes the AIO interface (self-signed certificate) on host port 8080. You may map a different host port if 8080 is in use (e.g. &lt;code&gt;--publish 8081:8080&lt;/code&gt;).&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;--publish 8443:8443&lt;/code&gt; — publishes the AIO interface with a valid certificate on host port 8443 (requires ports 80 and 8443 to be reachable and a domain pointing to your server). Not required if you run AIO behind a reverse proxy.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config&lt;/code&gt; — stores mastercontainer configuration in the named Docker volume. Do not change this volume name; built-in backups depend on it.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;--volume /var/run/docker.sock:/var/run/docker.sock:ro&lt;/code&gt; — mounts the Docker socket (read-only) so the mastercontainer can manage other containers. On Windows/macOS or when using rootless Docker, this path may need adjustment; see the platform-specific docs. If you change the socket path, also set &lt;code&gt;WATCHTOWER_DOCKER_SOCKET_PATH&lt;/code&gt; accordingly. If you prefer not to expose the socket, see the manual-install documentation: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/manual-install&quot;&gt;Manual install without docker socket access&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt; — the mastercontainer image.&lt;/li&gt; 
 &lt;/ul&gt; 
 &lt;p&gt;Additional options can be set with environment variables (for example &lt;code&gt;--env NEXTCLOUD_DATADIR=&quot;/mnt/ncdata&quot;&lt;/code&gt; to change Nextcloud&#39;s datadir on first startup). See the Customization section and example compose file: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/compose.yaml&quot;&gt;compose.yaml&lt;/a&gt; for more options.&lt;/p&gt; 
&lt;/details&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;If you want Nextcloud’s data directory in a different location than the default Docker volume, see &quot;How to change the default location of Nextcloud&#39;s Datadir&quot; in this README: &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-change-the-default-location-of-nextclouds-datadir&quot;&gt;How to change the default location of Nextcloud&#39;s Datadir&lt;/a&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;For production usage (and ease of upgrades and changes), we suggest using the example &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/compose.yaml&quot;&gt;Compose file&lt;/a&gt; rather than &lt;code&gt;docker run&lt;/code&gt;.&lt;/p&gt; 
&lt;/div&gt; 
&lt;ol start=&quot;4&quot;&gt; 
 &lt;li&gt;After the initial startup, open the Nextcloud AIO interface on port 8080 of this server &lt;strong&gt;by IP address&lt;/strong&gt;, for example:&lt;/li&gt; 
&lt;/ol&gt; 
&lt;pre&gt;&lt;code class=&quot;language-txt&quot;&gt;https://192.168.5.5:8080
&lt;/code&gt;&lt;/pre&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-caution&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-stop mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Caution&lt;/p&gt;
 &lt;p&gt;Use an IP address (not a domain) when accessing the AIO interface on port 8080. Accessing via a domain may work temporarily but is likely to break later due to HSTS.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;Port 8080 uses a self-signed certificate that you must accept in your browser.&lt;/p&gt; 
&lt;p&gt;It is also possible to obtain a valid certificate automatically if your firewall/router forwards ports 80 and 8443 and you point a domain to your server. In that case, access the AIO interface using the dedicated port for this purpose (8443), for example:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-txt&quot;&gt;https://your-domain-that-points-to-this-server.tld:8443
&lt;/code&gt;&lt;/pre&gt; 
&lt;ol start=&quot;5&quot;&gt; 
 &lt;li&gt;If you enable Nextcloud Talk, open port &lt;code&gt;3478/TCP&lt;/code&gt; and &lt;code&gt;3478/UDP&lt;/code&gt; in your firewall/router for the Talk (TURN) container.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;Don&#39;t have a domain yet? AIO can register a free dynamic-DNS subdomain under &lt;code&gt;dedyn.io&lt;/code&gt; for you via &lt;a href=&quot;https://desec.io&quot;&gt;deSEC&lt;/a&gt; — no external setup needed. Look for the &lt;strong&gt;&quot;Don&#39;t have a domain? Get a free one from deSEC&quot;&lt;/strong&gt; section on the AIO interface when you are asked to enter your domain. AIO will automatically register the domain, keep the DNS record up to date, and enable the &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy&quot;&gt;Caddy&lt;/a&gt; community container as a reverse proxy as well as the &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/dnsmasq&quot;&gt;dnsmasq&lt;/a&gt; container for local DNS resolution.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h1&gt;FAQ&lt;/h1&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#faq&quot;&gt;TOC&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#where-can-i-find-additional-documentation&quot;&gt;Where can I find additional documentation?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-does-it-work&quot;&gt;How does it work?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-contribute&quot;&gt;How to contribute?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-many-users-are-possible&quot;&gt;How many users are possible?&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#network&quot;&gt;Network&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#are-reverse-proxies-supported&quot;&gt;Are reverse proxies supported?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#which-ports-are-mandatory-to-be-open-in-your-firewallrouter&quot;&gt;Which ports are mandatory to be open in your firewall/router?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#explanation-of-used-ports&quot;&gt;Explanation of used ports&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#notes-on-cloudflare-proxytunnel&quot;&gt;Notes on Cloudflare (proxy/tunnel)&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-nextcloud-behind-a-cloudflare-tunnel&quot;&gt;How to run Nextcloud behind a Cloudflare Tunnel?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-nextcloud-via-tailscale&quot;&gt;How to run Nextcloud via Tailscale?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-get-a-free-domain-via-desec&quot;&gt;How to get a free domain via deSEC?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-get-nextcloud-running-using-the-acme-dns-challenge&quot;&gt;How to get Nextcloud running using the ACME DNS-challenge?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-nextcloud-locally-no-domain-wanted-or-wanting-intranet-access-within-your-lan&quot;&gt;How to run Nextcloud locally? No domain wanted, or wanting intranet access within your LAN.&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-use-an-ip-address-for-nextcloud-instead-of-a-domain&quot;&gt;Can I use an ip-address for Nextcloud instead of a domain?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-run-aio-offline-or-in-an-airgapped-system&quot;&gt;Can I run AIO offline or in an airgapped system?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#are-self-signed-certificates-supported-for-nextcloud&quot;&gt;Are self-signed certificates supported for Nextcloud?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-use-aio-with-multiple-domains&quot;&gt;Can I use AIO with multiple domains?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#are-other-ports-than-the-default-443-for-nextcloud-supported&quot;&gt;Are other ports than the default 443 for Nextcloud supported?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-run-nextcloud-in-a-subdirectory-on-my-domain&quot;&gt;Can I run Nextcloud in a subdirectory on my domain?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-can-i-access-nextcloud-locally&quot;&gt;How can I access Nextcloud locally?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-overwrite-the-local-dns-resolution-for-some-domains-or-add-extra-hosts-to-the-containers&quot;&gt;How to overwrite the local DNS resolution for some domains or add extra hosts to the containers?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-skip-the-domain-validation&quot;&gt;How to skip the domain validation?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-resolve-firewall-problems-with-fedora-linux-rhel-os-centos-suse-linux-and-others&quot;&gt;How to resolve firewall problems with Fedora Linux, RHEL OS, CentOS, SUSE Linux and others?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#what-can-i-do-to-fix-the-internal-or-reserved-ip-address-error&quot;&gt;What can I do to fix the internal or reserved ip-address error?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-the-mtu-size-of-the-docker-network&quot;&gt;How to adjust the MTU size of the docker network&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#infrastructure&quot;&gt;Infrastructure&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#which-cpu-architectures-are-supported&quot;&gt;Which CPU architectures are supported?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#disrecommended-vps-providers&quot;&gt;Disrecommended VPS providers&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#recommended-vps&quot;&gt;Recommended VPS&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#note-on-storage-options&quot;&gt;Note on storage options&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#are-there-known-problems-when-selinux-is-enabled&quot;&gt;Are there known problems when SELinux is enabled?&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#customization&quot;&gt;Customization&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-the-internally-used-docker-api-version&quot;&gt;How to adjust the internally used docker api version?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-the-log-level-for-aio-components&quot;&gt;How to adjust the log level for AIO components?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-change-the-default-location-of-nextclouds-datadir&quot;&gt;How to change the default location of Nextcloud&#39;s Datadir?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-configure-custom-uidgid&quot;&gt;How to configure custom UID/GID?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-move-the-appdata-folder-from-the-datadir-to-an-ssd-to-improve-the-performance&quot;&gt;How to move the appdata folder from the datadir to an ssd to improve the performance?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-store-the-filesinstallation-on-a-separate-drive&quot;&gt;How to store the files/installation on a separate drive?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-limit-the-resource-usage-of-aio&quot;&gt;How to limit the resource usage of AIO?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host&quot;&gt;How to allow the Nextcloud container to access directories on the host?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-the-talk-port&quot;&gt;How to adjust the Talk port?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-the-upload-limit-for-nextcloud&quot;&gt;How to adjust the upload limit for Nextcloud?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-the-max-execution-time-for-nextcloud&quot;&gt;How to adjust the max execution time for Nextcloud?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-the-php-memory-limit-for-nextcloud&quot;&gt;How to adjust the PHP memory limit for Nextcloud?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup&quot;&gt;How to change the Nextcloud apps that are installed on the first startup?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-add-os-packages-permanently-to-the-nextcloud-container&quot;&gt;How to add OS packages permanently to the Nextcloud container?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-add-php-extensions-permanently-to-the-nextcloud-container&quot;&gt;How to add PHP extensions permanently to the Nextcloud container?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#what-about-the-pdlib-php-extension-for-the-facerecognition-app&quot;&gt;What about the pdlib PHP extension for the facerecognition app?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-enable-hardware-acceleration-for-nextcloud&quot;&gt;How to enable hardware acceleration for Nextcloud?&lt;/a&gt; 
    &lt;ul&gt; 
     &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#with-open-source-drivers-mesa-for-amd-intel-and-new-drivers-nouveau-for-nvidia&quot;&gt;With open source drivers MESA for AMD, Intel and &lt;strong&gt;new&lt;/strong&gt; drivers &lt;code&gt;Nouveau&lt;/code&gt; for Nvidia&lt;/a&gt;&lt;/li&gt; 
     &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#with-proprietary-drivers-for-nvidia-warning-beta&quot;&gt;With proprietary drivers for Nvidia ⚠️ BETA&lt;/a&gt;&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-keep-disabled-apps&quot;&gt;How to keep disabled apps?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-trust-user-defined-certification-authorities-ca&quot;&gt;How to trust user-defined Certification Authorities (CA)?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-disable-collaboras-seccomp-feature&quot;&gt;How to disable Collabora&#39;s Seccomp feature?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-the-fulltextsearch-java-options&quot;&gt;How to adjust the Fulltextsearch Java options?&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#guides&quot;&gt;Guides&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-aio-on-macos&quot;&gt;How to run AIO on macOS?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-aio-on-windows&quot;&gt;How to run AIO on Windows?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-aio-on-unraid&quot;&gt;How to run AIO on Unraid?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-aio-on-synology-dsm&quot;&gt;How to run AIO on Synology DSM&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-aio-with-portainer&quot;&gt;How to run AIO with Portainer?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-run-aio-on-truenas-scale&quot;&gt;Can I run AIO on TrueNAS SCALE?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-occ-commands&quot;&gt;How to run &lt;code&gt;occ&lt;/code&gt; commands?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-resolve-security--setup-warnings-displays-the-missing-default-phone-region-after-initial-install&quot;&gt;How to resolve &lt;code&gt;Security &amp;amp; setup warnings displays the &quot;missing default phone region&quot; after initial install&lt;/code&gt;?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-run-multiple-aio-instances-on-one-server&quot;&gt;How to run multiple AIO instances on one server?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#bruteforce-protection-faq&quot;&gt;Bruteforce protection FAQ&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-switch-the-channel&quot;&gt;How to switch the channel?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-update-the-containers&quot;&gt;How to update the containers?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-easily-log-in-to-the-aio-interface&quot;&gt;How to easily log in to the AIO interface?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-change-the-domain&quot;&gt;How to change the domain?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-properly-reset-the-instance&quot;&gt;How to properly reset the instance?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-use-a-cifssmb-share-as-nextclouds-datadir&quot;&gt;Can I use a CIFS/SMB share as Nextcloud&#39;s datadir?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-run-this-with-docker-swarm&quot;&gt;Can I run this with Docker swarm?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-run-this-with-kubernetes&quot;&gt;Can I run this with Kubernetes?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-run-this-with-podman-instead-of-docker&quot;&gt;How to run this with Docker rootless?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#can-i-run-this-with-podman-instead-of-docker&quot;&gt;Can I run this with Podman instead of Docker?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#accessedit-nextcloud-filesfolders-manually&quot;&gt;Access/Edit Nextcloud files/folders manually&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-edit-nextclouds-configphp-file-with-a-texteditor&quot;&gt;How to edit Nextclouds config.php file with a texteditor?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-change-default-files-by-creating-a-custom-skeleton-directory&quot;&gt;How to change default files by creating a custom skeleton directory?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-the-version-retention-policy-and-trashbin-retention-policy&quot;&gt;How to adjust the version retention policy and trashbin retention policy?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-enable-automatic-updates-without-creating-a-backup-beforehand&quot;&gt;How to enable automatic updates without creating a backup beforehand?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#securing-the-aio-interface-from-unauthorized-acme-challenges&quot;&gt;Securing the AIO interface from unauthorized ACME challenges&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-migrate-from-an-already-existing-nextcloud-installation-to-nextcloud-aio&quot;&gt;How to migrate from an already existing Nextcloud installation to Nextcloud AIO?&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#backup&quot;&gt;Backup&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#what-is-getting-backed-up-by-aios-backup-solution&quot;&gt;What is getting backed up by AIO&#39;s backup solution?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-borgs-retention-policy&quot;&gt;How to adjust borgs retention policy?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-migrate-from-aio-to-aio&quot;&gt;How to migrate from AIO to AIO?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#are-remote-borg-backups-supported&quot;&gt;Are remote borg backups supported?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#failure-of-the-backup-container-in-lxc-containers&quot;&gt;Failure of the backup container in LXC containers&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-create-the-backup-volume-on-windows&quot;&gt;How to create the backup volume on Windows?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#pro-tip-backup-archives-access&quot;&gt;Pro-tip: Backup archives access&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#delete-backup-archives-manually&quot;&gt;Delete backup archives manually&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#sync-local-backups-regularly-to-another-drive&quot;&gt;Sync local backups regularly to another drive&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-exclude-nextclouds-data-directory-or-the-preview-folder-from-backup&quot;&gt;How to exclude Nextcloud&#39;s data directory or the preview folder from backup?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-stopstartupdate-containers-or-trigger-the-daily-backup-from-a-script-externally&quot;&gt;How to stop/start/update containers or trigger the daily backup from a script externally?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-disable-the-backup-section&quot;&gt;How to disable the backup section?&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#addons&quot;&gt;Addons&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#fail2ban&quot;&gt;Fail2ban&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#ldap&quot;&gt;LDAP&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#netdata&quot;&gt;Netdata&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#user_sql&quot;&gt;USER_SQL&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#phpmyadmin-adminer-or-pgadmin&quot;&gt;phpMyAdmin, Adminer or pgAdmin&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#mail-server&quot;&gt;Mail server&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#miscellaneous&quot;&gt;Miscellaneous&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#requirements-for-integrating-new-containers&quot;&gt;Requirements for integrating new containers&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#aio-release-policy&quot;&gt;AIO release policy&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#nextcloud-update-policy&quot;&gt;Nextcloud update policy&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-often-are-update-notifications-sent&quot;&gt;How often are update notifications sent?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#huge-docker-logs&quot;&gt;Huge docker logs&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Where can I find additional documentation?&lt;/h3&gt; 
&lt;p&gt;Some of the documentation is available on &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/categories/wiki&quot;&gt;GitHub Discussions&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;How does it work?&lt;/h3&gt; 
&lt;p&gt;Nextcloud AIO is inspired by projects like Portainer that manage the docker daemon by talking to it through the docker socket directly. This concept allows a user to install only one container with a single command that does the heavy lifting of creating and managing all containers that are needed in order to provide a Nextcloud installation with most features included. It also makes updating a breeze and is not bound to the host system (and its slow updates) anymore as everything is in containers. Additionally, it is very easy to handle from a user perspective because a simple interface for managing your Nextcloud AIO installation is provided.&lt;/p&gt; 
&lt;h3&gt;How to contribute?&lt;/h3&gt; 
&lt;p&gt;See &lt;a href=&quot;https://github.com/nextcloud/all-in-one/issues/5251&quot;&gt;this issue&lt;/a&gt; for a list of feature requests that need help by contributors.&lt;/p&gt; 
&lt;h3&gt;How many users are possible?&lt;/h3&gt; 
&lt;p&gt;Up to 100 users are free, more are possible with &lt;a href=&quot;https://nextcloud.com/all-in-one/&quot;&gt;Nextcloud Enterprise&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Network&lt;/h2&gt; 
&lt;h3&gt;Are reverse proxies supported?&lt;/h3&gt; 
&lt;p&gt;Yes. Please refer to the following documentation on this: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/reverse-proxy.md&quot;&gt;reverse-proxy.md&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;Which ports are mandatory to be open in your firewall/router?&lt;/h3&gt; 
&lt;p&gt;Only those (if you access the Mastercontainer Interface internally via port 8080):&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;443/TCP&lt;/code&gt; for the Apache container&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;443/UDP&lt;/code&gt; if you want to enable http3 for the Apache container&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;3478/TCP&lt;/code&gt; and &lt;code&gt;3478/UDP&lt;/code&gt; for the Talk container&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Explanation of used ports&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;8080/TCP&lt;/code&gt;: Mastercontainer Interface with self-signed certificate (works always, also if only access via IP-address is possible, e.g. &lt;code&gt;https://ip.address.of.this.server:8080/&lt;/code&gt;) ⚠️ &lt;strong&gt;Important:&lt;/strong&gt; do always use an ip-address if you access this port and not a domain as HSTS might block access to it later! (It is also expected that this port uses a self-signed certificate due to security concerns which you need to accept in your browser)&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;80/TCP&lt;/code&gt;: redirects to Nextcloud (is used for getting the certificate via ACME http-challenge for the Mastercontainer)&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;8443/TCP&lt;/code&gt;: Mastercontainer Interface with valid certificate (only works if port 80 and 8443 are open/forwarded in your firewall/router and you point a domain to your server. It generates a valid certificate then automatically and access via e.g. &lt;code&gt;https://public.domain.com:8443/&lt;/code&gt; is possible.)&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;443/TCP&lt;/code&gt;: will be used by the Apache container later on and needs to be open/forwarded in your firewall/router&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;443/UDP&lt;/code&gt;: will be used by the Apache container later on and needs to be open/forwarded in your firewall/router if you want to enable http3&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;3478/TCP&lt;/code&gt; and &lt;code&gt;3478/UDP&lt;/code&gt;: will be used by the Turnserver inside the Talk container and needs to be open/forwarded in your firewall/router&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Notes on Cloudflare (proxy/tunnel)&lt;/h3&gt; 
&lt;p&gt;Since Cloudflare Proxy/Tunnel comes with a lot of limitations which are listed below, it is rather recommended to use the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-get-a-free-domain-via-desec&quot;&gt;built-in deSEC domain registration&lt;/a&gt; or switch to &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/6817&quot;&gt;Tailscale&lt;/a&gt; if possible.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Cloudflare Proxy and Cloudflare Tunnel both require Cloudflare to perform TLS termination on their side and thus decrypt all the traffic on their infrastructure. This is a privacy concern and you will need to look for other solutions if it&#39;s unacceptable for you.&lt;/li&gt; 
 &lt;li&gt;Using Cloudflare Tunnel might potentially slow down Nextcloud since local access via the configured domain is not possible because TLS termination is in that case offloaded to Cloudflare&#39;s infrastructure. There is no way to disable this behavior in Cloudflare Tunnel.&lt;/li&gt; 
 &lt;li&gt;It is known that the domain validation may not work correctly behind Cloudflare since Cloudflare might block the validation attempt. You can simply skip it in that case by following: &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-skip-the-domain-validation&quot;&gt;https://github.com/nextcloud/all-in-one#how-to-skip-the-domain-validation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Make sure to &lt;a href=&quot;https://help.nextcloud.com/t/login-page-not-working-solved/149417/8&quot;&gt;disable Cloudflares Rocket Loader feature&lt;/a&gt; as otherwise Nextcloud&#39;s login prompt will not be shown.&lt;/li&gt; 
 &lt;li&gt;Cloudflare only supports uploading files up to 100&amp;nbsp;MB in the free plan, if you try to upload bigger files you will get an error (413 - Payload Too Large) if no chunking is used (e.g. for public uploads in the web, or if chunks are configured to be bigger than 100 MB in the clients or the web). If you need to upload bigger files, you need to disable the proxy option in your DNS settings. Note that this will both disable Cloudflare DDoS protection and Cloudflare Tunnel as these services require the proxy option to be enabled.&lt;/li&gt; 
 &lt;li&gt;If using Cloudflare Tunnel and the Nextcloud Desktop Client &lt;a href=&quot;https://github.com/nextcloud/desktop/issues/4271#issuecomment-1159578065&quot;&gt;Set Chunking on Nextcloud Desktop Client&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Cloudflare only allows a max timeout of 100s for requests which is not configurable. This means that any server-side processing e.g. for assembling chunks for big files during upload that take longer than 100s will simply not work. See &lt;a href=&quot;https://github.com/nextcloud/server/issues/19223&quot;&gt;https://github.com/nextcloud/server/issues/19223&lt;/a&gt;. If you need to upload big files reliably, you need to disable the proxy option in your DNS settings. Note that this will both disable Cloudflare DDoS protection and Cloudflare Tunnel as these services require the proxy option to be enabled.&lt;/li&gt; 
 &lt;li&gt;It is known that the in AIO included collabora (Nextcloud Office) does not work out of the box behind Cloudflare. To make it work, you need to add all &lt;a href=&quot;https://www.cloudflare.com/ips/&quot;&gt;Cloudflare IP-ranges&lt;/a&gt; to the wopi-allowlist in &lt;code&gt;https://yourdomain.com/settings/admin/richdocuments&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Cloudflare Proxy might block the Turnserver for Nextcloud Talk from working correctly. You might want to disable Cloudflare Proxy thus. See &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/2463#discussioncomment-5779981&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/2463#discussioncomment-5779981&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;The built-in turn-server for Nextcloud Talk will not work behind Cloudflare Tunnel since it needs a separate port (by default 3478 or as chosen) available on the same domain. If you still want to use the feature, you will need to install your own turnserver or use a publicly available one and adjust and test your stun and turn settings in &lt;code&gt;https://yourdomain.com/settings/admin/talk&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;If you get an error in Nextcloud&#39;s admin overview that the HSTS header is not set correctly, you might need to enable it in Cloudflare manually.&lt;/li&gt; 
 &lt;li&gt;If you are using AIO&#39;s built-in Reverse Proxy and don&#39;t use your own, then the certificate issuing may possibly not work out-of-the-box because Cloudflare might block the attempt. In that case you need to disable the Proxy feature at least temporarily in order to make it work. Note that this isn&#39;t an option if you need Cloudflare Tunnel as disabling the proxy would also disable Cloudflare Tunnel which would in turn make your server unreachable for the verification. See &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/1101&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/1101&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;How to run Nextcloud behind a Cloudflare Tunnel?&lt;/h3&gt; 
&lt;p&gt;Although it does not seems like it is the case but from AIO perspective a Cloudflare Tunnel works like a reverse proxy. So please follow the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/reverse-proxy.md&quot;&gt;reverse proxy documentation&lt;/a&gt; where is documented how to make it run behind a Cloudflare Tunnel. However please see the &lt;a href=&quot;https://github.com/nextcloud/all-in-one#notes-on-cloudflare-proxytunnel&quot;&gt;caveats&lt;/a&gt; before proceeding.&lt;/p&gt; 
&lt;h3&gt;How to run Nextcloud via Tailscale?&lt;/h3&gt; 
&lt;p&gt;For a reverse proxy example guide for Tailscale, see this guide by &lt;a href=&quot;https://github.com/Perseus333&quot;&gt;@Perseus333&lt;/a&gt;: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/6817&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/6817&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;How to get a free domain via deSEC?&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://desec.io&quot;&gt;deSEC&lt;/a&gt; offers free dynamic-DNS subdomains under &lt;code&gt;dedyn.io&lt;/code&gt;. AIO integrates the registration process directly:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Open the AIO interface and expand the &lt;strong&gt;&quot;Don&#39;t have a domain? Get a free one from deSEC&quot;&lt;/strong&gt; section on the domain-entry page.&lt;/li&gt; 
 &lt;li&gt;Enter your email address and, optionally, a desired subdomain slug (the part before &lt;code&gt;.dedyn.io&lt;/code&gt;). Leave the slug blank for a random one.&lt;/li&gt; 
 &lt;li&gt;Click &lt;strong&gt;Register free domain via deSEC&lt;/strong&gt;. AIO will create a deSEC account, register the subdomain and store the credentials in its configuration.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;After successful registration:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;AIO sets the registered &lt;code&gt;*.dedyn.io&lt;/code&gt; domain as the Nextcloud domain automatically.&lt;/li&gt; 
 &lt;li&gt;The &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/caddy&quot;&gt;Caddy&lt;/a&gt; community container is enabled as a reverse proxy.&lt;/li&gt; 
 &lt;li&gt;The &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/dnsmasq&quot;&gt;dnsmasq&lt;/a&gt; community container is enabled so that LAN devices can resolve the domain to the server&#39;s local IP. Follow the &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/dnsmasq&quot;&gt;dnsmasq documentation&lt;/a&gt; for the required router change.&lt;/li&gt; 
 &lt;li&gt;The mastercontainer keeps the DNS record up to date automatically when your public IP changes.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;How to get Nextcloud running using the ACME DNS-challenge?&lt;/h3&gt; 
&lt;p&gt;You can install AIO behind an external reverse proxy where is also documented how to get it running using the ACME DNS-challenge for getting a valid certificate for AIO. See the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/reverse-proxy.md&quot;&gt;reverse proxy documentation&lt;/a&gt;. (Meant is the &lt;code&gt;Caddy with ACME DNS-challenge&lt;/code&gt; section). Also see &lt;a href=&quot;https://github.com/dani-garcia/vaultwarden/wiki/Running-a-private-vaultwarden-instance-with-Let%27s-Encrypt-certs#getting-a-custom-caddy-build&quot;&gt;https://github.com/dani-garcia/vaultwarden/wiki/Running-a-private-vaultwarden-instance-with-Let&#39;s-Encrypt-certs#getting-a-custom-caddy-build&lt;/a&gt; for additional docs on this topic.&lt;/p&gt; 
&lt;h3&gt;How to run Nextcloud locally? No domain wanted, or wanting intranet access within your LAN.&lt;/h3&gt; 
&lt;p&gt;If you do not want to open Nextcloud to the public internet, you may have a look at the following documentation on how to set it up locally: &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/local-instance.md&quot;&gt;local-instance.md&lt;/a&gt;, but keep in mind you&#39;re still required to have https working properly.&lt;/p&gt; 
&lt;h3&gt;Can I use an ip-address for Nextcloud instead of a domain?&lt;/h3&gt; 
&lt;p&gt;No and it will not be added. If you only want to run it locally, you may have a look at the following documentation: &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/local-instance.md&quot;&gt;local-instance.md&lt;/a&gt;. Recommended is to use the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-get-a-free-domain-via-desec&quot;&gt;built-in deSEC domain registration&lt;/a&gt; to get a free domain automatically, or alternatively &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/6817&quot;&gt;Tailscale&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Can I run AIO offline or in an airgapped system?&lt;/h3&gt; 
&lt;p&gt;No. This is not possible and will not be added due to multiple reasons: update checks, app installs via app-store, downloading additional docker images on demand and more.&lt;/p&gt; 
&lt;h3&gt;Are self-signed certificates supported for Nextcloud?&lt;/h3&gt; 
&lt;p&gt;No and they will not be. If you want to run it locally, without opening Nextcloud to the public internet, please have a look at the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/local-instance.md&quot;&gt;local instance documentation&lt;/a&gt;. Recommended is to use the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-get-a-free-domain-via-desec&quot;&gt;built-in deSEC domain registration&lt;/a&gt; to obtain a free domain with a valid certificate automatically, or alternatively &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/6817&quot;&gt;Tailscale&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Can I use AIO with multiple domains?&lt;/h3&gt; 
&lt;p&gt;No and it will not be added. However you can use &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/multiple-instances.md&quot;&gt;this feature&lt;/a&gt; in order to create multiple AIO instances, one for each domain.&lt;/p&gt; 
&lt;h3&gt;Are other ports than the default 443 for Nextcloud supported?&lt;/h3&gt; 
&lt;p&gt;No and they will not be. If port 443 and/or 80 is blocked for you, you may use the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-get-a-free-domain-via-desec&quot;&gt;built-in deSEC domain registration&lt;/a&gt; (which uses the Caddy community container on port 443) or &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/6817&quot;&gt;Tailscale&lt;/a&gt; if you want to publish it online. If you already run a different service on port 443, please use a dedicated domain for Nextcloud and set it up correctly by following the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/reverse-proxy.md&quot;&gt;reverse proxy documentation&lt;/a&gt;. However in all cases the Nextcloud interface will redirect you to port 443.&lt;/p&gt; 
&lt;h3&gt;Can I run Nextcloud in a subdirectory on my domain?&lt;/h3&gt; 
&lt;p&gt;No and it will not be added. Please use a dedicated (sub-)domain for Nextcloud and set it up correctly by following the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/reverse-proxy.md&quot;&gt;reverse proxy documentation&lt;/a&gt;. If you don&#39;t have a domain yet, use the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-get-a-free-domain-via-desec&quot;&gt;built-in deSEC domain registration&lt;/a&gt; to get one for free, or alternatively &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/6817&quot;&gt;Tailscale&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;How can I access Nextcloud locally?&lt;/h3&gt; 
&lt;p&gt;Please note that local access is not possible if you are running AIO behind Cloudflare Tunnel since TLS proxying is in that case offloaded to Cloudflares infrastructure. You can fix this by setting up your own reverse proxy that handles TLS proxying locally and will make the steps below work.&lt;/p&gt; 
&lt;p&gt;Please make sure that if you are running AIO behind a reverse proxy, that the reverse proxy is configured to use port 443 on the server that runs it. Otherwise the steps below will not work.&lt;/p&gt; 
&lt;p&gt;Now that this is out of the way, the recommended way how to access Nextcloud locally, is to set up a local dns-server like a pi-hole and set up a custom dns-record for that domain that points to the internal ip-adddress of your server that runs Nextcloud AIO. Below are some guides:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.howtogeek.com/devops/how-to-run-your-own-dns-server-on-your-local-network/&quot;&gt;https://www.howtogeek.com/devops/how-to-run-your-own-dns-server-on-your-local-network/&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://help.nextcloud.com/t/need-help-to-configure-internal-access/156075/6&quot;&gt;https://help.nextcloud.com/t/need-help-to-configure-internal-access/156075/6&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://howchoo.com/pi/pi-hole-setup&quot;&gt;https://howchoo.com/pi/pi-hole-setup&lt;/a&gt; together with &lt;a href=&quot;https://web.archive.org/web/20221203223505/https://docs.callitkarma.me/posts/PiHole-Local-DNS/&quot;&gt;https://web.archive.org/web/20221203223505/https://docs.callitkarma.me/posts/PiHole-Local-DNS/&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://dockerlabs.collabnix.com/intermediate/networking/Configuring_DNS.html&quot;&gt;https://dockerlabs.collabnix.com/intermediate/networking/Configuring_DNS.html&lt;/a&gt; Apart from that there is now a community container that can be added to the AIO stack: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/pi-hole&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/pi-hole&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If you registered your domain via the built-in &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-get-a-free-domain-via-desec&quot;&gt;deSEC integration&lt;/a&gt;, the &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/dnsmasq&quot;&gt;dnsmasq&lt;/a&gt; community container is automatically enabled and resolves your Nextcloud domain to the server&#39;s local IP for LAN clients. You only need to point your router&#39;s DHCP DNS server to the AIO host — see the &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/dnsmasq&quot;&gt;dnsmasq documentation&lt;/a&gt; for details.&lt;/p&gt; 
&lt;h3&gt;How to overwrite the local DNS resolution for some domains or add extra hosts to the containers?&lt;/h3&gt; 
&lt;p&gt;For some use cases, you might need to overwrite the local DNS resolution of some domains inside the containers. On Linux, you can do so either by using a local DNS server as described in the section above and add a local DNS entry into the dns server and make your containers use that DNS server.&lt;/p&gt; 
&lt;p&gt;Another solution on Linux, depending on your network and docker configuration, it might also work to simply edit the &lt;code&gt;/etc/hosts&lt;/code&gt; file. Add your custom entry like &lt;code&gt;172.18.0.1 mail.example.com&lt;/code&gt; as additional line to the file and restart docker which should automatically push the entry to all docker containers.&lt;/p&gt; 
&lt;h3&gt;How to skip the domain validation?&lt;/h3&gt; 
&lt;p&gt;If you are completely sure that you&#39;ve configured everything correctly and are not able to pass the domain validation, you may skip the domain validation by adding &lt;code&gt;--env SKIP_DOMAIN_VALIDATION=true&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used).&lt;/p&gt; 
&lt;p&gt;Alternatively, if the container is already running, reload the AIO interface with the param &lt;code&gt;skip_domain_validation&lt;/code&gt; to skip the domain validation on the fly: e.g. &lt;code&gt;https://ip.address.of.the.server:8080/containers?skip_domain_validation&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;How to resolve firewall problems with Fedora Linux, RHEL OS, CentOS, SUSE Linux and others?&lt;/h3&gt; 
&lt;p&gt;It is known that Linux distros that use &lt;a href=&quot;https://firewalld.org&quot;&gt;firewalld&lt;/a&gt; as their firewall daemon have problems with docker networks. In case the containers are not able to communicate with each other, you may change your firewalld to use the iptables backend by running:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;sudo sed -i &#39;s/FirewallBackend=nftables/FirewallBackend=iptables/g&#39; /etc/firewalld/firewalld.conf
sudo systemctl restart firewalld docker
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Afterwards it should work.&lt;br /&gt;&lt;/p&gt; 
&lt;p&gt;See &lt;a href=&quot;https://dev.to/ozorest/fedora-32-how-to-solve-docker-internal-network-issue-22me&quot;&gt;https://dev.to/ozorest/fedora-32-how-to-solve-docker-internal-network-issue-22me&lt;/a&gt; for more details on this. This limitation is even mentioned on the official firewalld website: &lt;a href=&quot;https://firewalld.org/#who-is-using-it&quot;&gt;https://firewalld.org/#who-is-using-it&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;What can I do to fix the internal or reserved ip-address error?&lt;/h3&gt; 
&lt;p&gt;If you get an error during the domain validation which states that your ip-address is an internal or reserved ip-address, you can fix this by first making sure that your domain indeed has the correct public ip-address that points to the server and then adding &lt;code&gt;--add-host yourdomain.com:&amp;lt;public-ip-address&amp;gt;&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) which will allow the domain validation to work correctly. And so that you know: even if the &lt;code&gt;A&lt;/code&gt; record of your domain should change over time, this is no problem since the mastercontainer will not make any attempt to access the chosen domain after the initial domain validation.&lt;/p&gt; 
&lt;h3&gt;How to adjust the MTU size of the docker network&lt;/h3&gt; 
&lt;p&gt;You can adjust the MTU size of the docker network by creating it beforehand with the custom MTU:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;docker network create --driver bridge --opt com.docker.network.driver.mtu=1440 nextcloud-aio
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;When you open the AIO interface for the first time after you execute the &lt;code&gt;docker run&lt;/code&gt; command, it will automatically connect to the &lt;code&gt;nextcloud-aio&lt;/code&gt; network with the custom MTU. Keep in mind that if you previously started the mastercontainer without creating the network with the extra options, you will need to remove the old &lt;code&gt;nextcloud-aio&lt;/code&gt; network and recreate it with the new configuration.&lt;/p&gt; 
&lt;p&gt;If you want to use docker compose, you can check out the comments in the &lt;code&gt;compose.yaml&lt;/code&gt; file for more details.&lt;/p&gt; 
&lt;h2&gt;Infrastructure&lt;/h2&gt; 
&lt;h3&gt;Which CPU architectures are supported?&lt;/h3&gt; 
&lt;p&gt;You can check this on Linux by running: &lt;code&gt;uname -m&lt;/code&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;x86_64/x64/amd64&lt;/li&gt; 
 &lt;li&gt;aarch64/arm64/armv8&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Disrecommended VPS providers&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;em&gt;Older&lt;/em&gt; Strato VPS using Virtuozzo caused problems though ones from Q3 2023 and later should work. If your VPS has a &lt;code&gt;/proc/user_beancounters&lt;/code&gt; file and a low &lt;code&gt;numproc&lt;/code&gt; limit set in it your server will likely misbehave once it reaches this limit which is very quickly reached by AIO, see &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/1747#discussioncomment-4716164&quot;&gt;here&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Hostingers VPS seem to miss a specific Kernel feature which is required for AIO to run correctly. See &lt;a href=&quot;https://help.nextcloud.com/t/help-installing-nc-via-aio-on-vps/153956&quot;&gt;here&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Recommended VPS&lt;/h3&gt; 
&lt;p&gt;In general recommended VPS are those that are KVM/non-virtualized as Docker should work best on them.&lt;/p&gt; 
&lt;h3&gt;Note on storage options&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;SD-cards are disrecommended for AIO since they cripple the performance and they are not meant for many write operations which is needed for the database and other parts&lt;/li&gt; 
 &lt;li&gt;SSD storage is recommended&lt;/li&gt; 
 &lt;li&gt;HDD storage should work as well but is of course much slower than SSD storage&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Are there known problems when SELinux is enabled?&lt;/h3&gt; 
&lt;p&gt;Yes. If SELinux is enabled, you might need to add the &lt;code&gt;--security-opt label:disable&lt;/code&gt; option to the docker run command of the mastercontainer in order to allow it to access the docker socket (or &lt;code&gt;security_opt: [&quot;label:disable&quot;]&lt;/code&gt; in compose.yaml). See &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/485&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/485&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Customization&lt;/h2&gt; 
&lt;h3&gt;How to adjust the internally used docker api version?&lt;/h3&gt; 
&lt;p&gt;If you run an outdated or too new docker version, you might run into problems with the by AIO internally used docker api version. To fix this, you can specify the api version manually. You can do so by adding &lt;code&gt;--env DOCKER_API_VERSION=1.44&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used). This variable excepts a string based on the pattern &lt;code&gt;[0-9].[0-9]+&lt;/code&gt;, so e.g. &lt;code&gt;1.44&lt;/code&gt;. ⚠️ However please note that only the default api version (unset this variable) is supported and tested by the maintainers of Nextcloud AIO. So use this on your own risk and things might break without warning.&lt;/p&gt; 
&lt;h3&gt;How to adjust the log level for AIO components?&lt;/h3&gt; 
&lt;p&gt;You can globally adjust the log level of the included AIO components by adding &lt;code&gt;--env AIO_LOG_LEVEL=warn&lt;/code&gt; to the docker run command of the mastercontainer. This setting is propagated from the mastercontainer to the built-in sibling containers. If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command or compose file that you initially used. For troubleshooting, &lt;code&gt;debug&lt;/code&gt; and &lt;code&gt;info&lt;/code&gt; may additionally re-enable some supervisord child stdout or stderr streams that are normally suppressed in order to keep the default logs concise. Allowed values are &lt;code&gt;error&lt;/code&gt;, &lt;code&gt;warn&lt;/code&gt;, &lt;code&gt;info&lt;/code&gt; and &lt;code&gt;debug&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;How to change the default location of Nextcloud&#39;s Datadir?&lt;/h3&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-warning&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-alert mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Warning&lt;/p&gt;
 &lt;p&gt;Do not set or adjust this value after the initial Nextcloud installation is done! If you still want to do it afterwards, see &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/890#discussioncomment-3089903&quot;&gt;this&lt;/a&gt; on how to do it.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;You can configure the Nextcloud container to use a specific directory on your host as data directory. You can do so by adding the environmental variable &lt;code&gt;NEXTCLOUD_DATADIR&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used). Allowed values for that variable are strings that start with &lt;code&gt;/&lt;/code&gt; and are not equal to &lt;code&gt;/&lt;/code&gt;. The chosen directory or volume will then be mounted to &lt;code&gt;/mnt/ncdata&lt;/code&gt; inside the container.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;An example for Linux is &lt;code&gt;--env NEXTCLOUD_DATADIR=&quot;/mnt/ncdata&quot;&lt;/code&gt;. ⚠️ Please note: If you should be using an external BTRFS drive that is mounted to &lt;code&gt;/mnt/ncdata&lt;/code&gt;, make sure to choose a subfolder like e.g. &lt;code&gt;/mnt/ncdata/nextcloud&lt;/code&gt; as datadir, since the root folder is not suited as datadir in that case. See &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/2696&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/2696&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;On macOS it might be &lt;code&gt;--env NEXTCLOUD_DATADIR=&quot;/var/nextcloud-data&quot;&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;For Synology it may be &lt;code&gt;--env NEXTCLOUD_DATADIR=&quot;/volume1/docker/nextcloud/data&quot;&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;On Windows it might be &lt;code&gt;--env NEXTCLOUD_DATADIR=&quot;/run/desktop/mnt/host/c/ncdata&quot;&lt;/code&gt;. (This path is equivalent to &lt;code&gt;C:\ncdata&lt;/code&gt; on your Windows host so you need to translate the path accordingly. Hint: the path that you enter needs to start with &lt;code&gt;/run/desktop/mnt/host/&lt;/code&gt;. Append to that the exact location on your windows host, e.g. &lt;code&gt;c/ncdata&lt;/code&gt; which is equivalent to &lt;code&gt;C:\ncdata&lt;/code&gt;.) ⚠️ &lt;strong&gt;Please note&lt;/strong&gt;: This does not work with external drives like USB or network drives and only with internal drives like SATA or NVME drives.&lt;/li&gt; 
 &lt;li&gt;Another option is to provide a specific volume name here with: &lt;code&gt;--env NEXTCLOUD_DATADIR=&quot;nextcloud_aio_nextcloud_datadir&quot;&lt;/code&gt;. This volume needs to be created beforehand manually by you in order to be able to use it. e.g. on Windows with:&lt;pre&gt;&lt;code&gt;docker volume create ^
--driver local ^
--name nextcloud_aio_nextcloud_datadir ^
-o device=&quot;/host_mnt/e/your/data/path&quot; ^
-o type=&quot;none&quot; ^
-o o=&quot;bind&quot;
&lt;/code&gt;&lt;/pre&gt; In this example, it would mount &lt;code&gt;E:\your\data\path&lt;/code&gt; into the volume so for a different location you need to adjust &lt;code&gt;/host_mnt/e/your/data/path&lt;/code&gt; accordingly.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;How to configure custom UID/GID?&lt;/h3&gt; 
&lt;p&gt;There are two ways to configure custom UIDs or GIDs that will be used inside the installation.&lt;/p&gt; 
&lt;p&gt;The first and recommended solution is to use Nextcloud&#39;s external storage app and use its functionality to add a connection into Nextcloud. See &lt;a href=&quot;https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/external_storage_configuration_gui.html&quot;&gt;https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/external_storage_configuration_gui.html&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Another solution if you really need to use host mounts is to use a bind mount to map custom permissions to the directory. You can do so by editing the &lt;code&gt;/etc/fstab&lt;/code&gt; file on your Linux server and create an entry like the following to the file:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;/source/path  /target/path/where/the/source/directory/will/be/mounted/on/the/server  fuse.bindfs  force-user=33,force-group=33,allow_other  0  0
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Then use &lt;code&gt;sudo mount /target/path/where/the/source/directory/will/be/mounted/on/the/server&lt;/code&gt; to mount it directly.&lt;/p&gt; 
&lt;p&gt;You can afterwards use &lt;code&gt;--env NEXTCLOUD_DATADIR=&quot;/target/path/where/the/source/directory/will/be/mounted/on/the/server&quot;&lt;/code&gt; as described in the section above.&lt;/p&gt; 
&lt;h3&gt;How to move the appdata folder from the datadir to an ssd to improve the performance?&lt;/h3&gt; 
&lt;p&gt;If the datadir in your setup is configured to be placed on an HDD or network FS like SMB or NFS, you can follow the steps below to change the location of the appdata folder to be located on an SSD in order to improve the performance of the setup.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;The following steps only work if you already configured and used NEXTCLOUD_DATADIR as mentioned &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-change-the-default-location-of-nextclouds-datadir&quot;&gt;two sections above&lt;/a&gt;. In this example here, we assume that you used &lt;code&gt;NEXTCLOUD_DATADIR=&quot;/target/path/&lt;/code&gt;.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;After the initial installation is done and all datadir files of Nextcloud are stored inside the configured &lt;code&gt;/target/path&lt;/code&gt; directory, you will also see an &lt;code&gt;appdata_*&lt;/code&gt; folder in there that stores app-related data. You can now move that folder to a faster SSD if the target dir is not already positioned on an SSD by first using &lt;code&gt;rsync&lt;/code&gt; to sync the files a location on an SSD. Afterwards rename the appdata folder in the datadir to something like &lt;code&gt;appdata_*-backup&lt;/code&gt;. Afterwards add the following line to &lt;code&gt;/etc/fstab&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;/source/path/on/ssd  /target/path/&amp;lt;appdata-path&amp;gt;  fuse.bindfs  force-user=33,force-group=33,allow_other  0  0
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Do not forget to adjust &lt;code&gt;&amp;lt;appdata-path&amp;gt;&lt;/code&gt; to the correct &lt;code&gt;appdata_*&lt;/code&gt; name that your installation initially created automatically.&lt;/p&gt; 
&lt;p&gt;Then use &lt;code&gt;sudo mount /target/path/&amp;lt;appdata-path&amp;gt;&lt;/code&gt; to mount it directly.&lt;/p&gt; 
&lt;p&gt;Afterwards things should be speed up.&lt;/p&gt; 
&lt;h3&gt;How to store the files/installation on a separate drive?&lt;/h3&gt; 
&lt;p&gt;You can move the whole docker library and all its files including all Nextcloud AIO files and folders to a separate drive by first mounting the drive in the host OS (NTFS is not supported and ext4 is recommended as FS) and then following this tutorial: &lt;a href=&quot;https://www.guguweb.com/2019/02/07/how-to-move-docker-data-directory-to-another-location-on-ubuntu/&quot;&gt;https://www.guguweb.com/2019/02/07/how-to-move-docker-data-directory-to-another-location-on-ubuntu/&lt;/a&gt;&lt;br /&gt; (Of course docker needs to be installed first for this to work.)&lt;/p&gt; 
&lt;p&gt;⚠️ If you encounter errors from richdocuments in your Nextcloud logs, check in your Collabora container if the message &quot;Capabilities are not set for the coolforkit program.&quot; appears. If so, follow these steps:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Stop all the containers from the AIO Interface.&lt;/li&gt; 
 &lt;li&gt;Go to your terminal and delete the Collabora container (&lt;code&gt;docker rm nextcloud-aio-collabora&lt;/code&gt;) AND the Collabora image (&lt;code&gt;docker image rm nextcloud/aio-collabora&lt;/code&gt;).&lt;/li&gt; 
 &lt;li&gt;You might also want to prune your Docker (&lt;code&gt;docker system prune -a&lt;/code&gt;) (no data will be lost).&lt;/li&gt; 
 &lt;li&gt;Restart your containers from the AIO Interface.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;This should solve the problem.&lt;/p&gt; 
&lt;h3&gt;How to limit the resource usage of AIO?&lt;/h3&gt; 
&lt;p&gt;In some cases, you might want to limit the overall resource usage of AIO. You can do so by following &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/7273&quot;&gt;this documentation&lt;/a&gt;. Another possibility is to use the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/manual-install/&quot;&gt;manual installation&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;How to allow the Nextcloud container to access directories on the host?&lt;/h3&gt; 
&lt;p&gt;By default, the Nextcloud container is confined and cannot access directories on the host OS. You might want to change this when you are planning to use local external storage in Nextcloud to store some files outside the data directory and can do so by adding the environmental variable &lt;code&gt;NEXTCLOUD_MOUNT&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used). Allowed values for that variable are strings that start with &lt;code&gt;/&lt;/code&gt; and are not equal to &lt;code&gt;/&lt;/code&gt;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Two examples for Linux are &lt;code&gt;--env NEXTCLOUD_MOUNT=&quot;/mnt/&quot;&lt;/code&gt; and &lt;code&gt;--env NEXTCLOUD_MOUNT=&quot;/media/&quot;&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;On macOS it might be &lt;code&gt;--env NEXTCLOUD_MOUNT=&quot;/Volumes/your_drive/&quot;&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;For Synology it may be &lt;code&gt;--env NEXTCLOUD_MOUNT=&quot;/volume1/&quot;&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;On Windows it might be &lt;code&gt;--env NEXTCLOUD_MOUNT=&quot;/run/desktop/mnt/host/d/your-folder/&quot;&lt;/code&gt;. (This path is equivalent to &lt;code&gt;D:\your-folder&lt;/code&gt; on your Windows host so you need to translate the path accordingly. Hint: the path that you enter needs to start with &lt;code&gt;/run/desktop/mnt/host/&lt;/code&gt;. Append to that the exact location on your windows host, e.g. &lt;code&gt;d/your-folder/&lt;/code&gt; which is equivalent to &lt;code&gt;D:\your-folder&lt;/code&gt;.) ⚠️ &lt;strong&gt;Please note&lt;/strong&gt;: This does not work with external drives like USB or network drives and only with internal drives like SATA or NVME drives.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;After using this option, please make sure to apply the correct permissions to the directories that you want to use in Nextcloud. E.g. &lt;code&gt;sudo chown -R 33:0 /mnt/your-drive-mountpoint&lt;/code&gt; and &lt;code&gt;sudo chmod -R 750 /mnt/your-drive-mountpoint&lt;/code&gt; should make it work on Linux when you have used &lt;code&gt;--env NEXTCLOUD_MOUNT=&quot;/mnt/&quot;&lt;/code&gt;. On Windows you could do this e.g. with &lt;code&gt;docker exec -it nextcloud-aio-nextcloud chown -R 33:0 /run/desktop/mnt/host/d/your-folder/&lt;/code&gt; and &lt;code&gt;docker exec -it nextcloud-aio-nextcloud chmod -R 750 /run/desktop/mnt/host/d/your-folder/&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;You can then navigate to &lt;code&gt;https://your-nc-domain.com/settings/apps/disabled&lt;/code&gt;, activate the external storage app, navigate to &lt;code&gt;https://your-nc-domain.com/settings/admin/externalstorages&lt;/code&gt; and add a local external storage directory that will be accessible inside the container at the same place that you&#39;ve entered. E.g. &lt;code&gt;/mnt/your-drive-mountpoint&lt;/code&gt; will be mounted to &lt;code&gt;/mnt/your-drive-mountpoint&lt;/code&gt; inside the container, etc.&lt;/p&gt; 
&lt;p&gt;Be aware though that these locations will not be covered by the built-in backup solution - but you can add further Docker volumes and host paths that you want to back up after the initial backup is done.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;If you can&#39;t see the type &quot;local storage&quot; in the external storage admin options, a restart of the containers from the AIO interface may be required.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h3&gt;How to adjust the Talk port?&lt;/h3&gt; 
&lt;p&gt;By default will the talk container use port &lt;code&gt;3478/UDP&lt;/code&gt; and &lt;code&gt;3478/TCP&lt;/code&gt; for connections. This should be set to something higher than 1024! You can adjust the port by adding e.g. &lt;code&gt;--env TALK_PORT=3478&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and adjusting the port to your desired value. Best is to use a port over 1024, so e.g. 3479 to not run into this: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/2517&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/2517&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;How to adjust the upload limit for Nextcloud?&lt;/h3&gt; 
&lt;p&gt;By default, public uploads to Nextcloud are limited to a max of 16G (logged in users can upload much bigger files using the webinterface or the mobile/desktop clients, since chunking is used in that case). You can adjust the upload limit by providing &lt;code&gt;--env NEXTCLOUD_UPLOAD_LIMIT=16G&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must start with a number and end with &lt;code&gt;G&lt;/code&gt; e.g. &lt;code&gt;16G&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;How to adjust the max execution time for Nextcloud?&lt;/h3&gt; 
&lt;p&gt;By default, uploads to Nextcloud are limited to a max of 3600s. You can adjust the upload time limit by providing &lt;code&gt;--env NEXTCLOUD_MAX_TIME=3600&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must be a number e.g. &lt;code&gt;3600&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;How to adjust the PHP memory limit for Nextcloud?&lt;/h3&gt; 
&lt;p&gt;By default, each PHP process in the Nextcloud container is limited to a max of 512 MB. You can adjust the memory limit by providing &lt;code&gt;--env NEXTCLOUD_MEMORY_LIMIT=512M&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must start with a number and end with &lt;code&gt;M&lt;/code&gt; e.g. &lt;code&gt;1024M&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;How to change the Nextcloud apps that are installed on the first startup?&lt;/h3&gt; 
&lt;p&gt;You might want to adjust the Nextcloud apps that are installed upon the first startup of the Nextcloud container. You can do so by adding &lt;code&gt;--env NEXTCLOUD_STARTUP_APPS=&quot;deck twofactor_totp tasks calendar contacts notes&quot;&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must be a string with small letters a-z, 0-9, spaces and hyphens or &#39;_&#39;. You can disable shipped and by default enabled apps by adding a hyphen in front of the appid. E.g. &lt;code&gt;-contactsinteraction&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;How to add OS packages permanently to the Nextcloud container?&lt;/h3&gt; 
&lt;p&gt;Some Nextcloud apps require additional external dependencies that must be bundled within Nextcloud container in order to work correctly. As we cannot put each and every dependency for all apps into the container - as this would make the project quickly unmaintainable - there is an official way in which you can add additional dependencies into the Nextcloud container. However note that doing this is disrecommended since we do not test Nextcloud apps that require external dependencies.&lt;/p&gt; 
&lt;p&gt;You can do so by adding &lt;code&gt;--env NEXTCLOUD_ADDITIONAL_APKS=&quot;imagemagick dependency2 dependency3&quot;&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must be a string with small letters a-z, digits 0-9, spaces, dots and hyphens or &#39;_&#39;. You can find available packages here: &lt;a href=&quot;https://pkgs.alpinelinux.org/packages?branch=v3.24&quot;&gt;https://pkgs.alpinelinux.org/packages?branch=v3.24&lt;/a&gt;. By default &lt;code&gt;imagemagick&lt;/code&gt; is added. If you want to keep it, you need to specify it as well.&lt;/p&gt; 
&lt;h3&gt;How to add PHP extensions permanently to the Nextcloud container?&lt;/h3&gt; 
&lt;p&gt;Some Nextcloud apps require additional php extensions that must be bundled within Nextcloud container in order to work correctly. As we cannot put each and every dependency for all apps into the container - as this would make the project quickly unmaintainable - there is an official way in which you can add additional php extensions into the Nextcloud container. However note that doing this is disrecommended since we do not test Nextcloud apps that require additional php extensions.&lt;/p&gt; 
&lt;p&gt;You can do so by adding &lt;code&gt;--env NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS=&quot;imagick extension1 extension2&quot;&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. It must be a string with small letters a-z, digits 0-9, spaces, dots and hyphens or &#39;_&#39;. You can find available extensions here: &lt;a href=&quot;https://pecl.php.net/packages.php&quot;&gt;https://pecl.php.net/packages.php&lt;/a&gt;. By default &lt;code&gt;imagick&lt;/code&gt; is added. If you want to keep it, you need to specify it as well.&lt;/p&gt; 
&lt;h3&gt;What about the pdlib PHP extension for the facerecognition app?&lt;/h3&gt; 
&lt;p&gt;The &lt;a href=&quot;https://apps.nextcloud.com/apps/facerecognition&quot;&gt;facerecognition app&lt;/a&gt; requires the pdlib PHP extension to be installed. Unfortunately, it is not available on PECL nor via PHP core, so there is no way to add this into AIO currently. However you can use &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/facerecognition&quot;&gt;this community container&lt;/a&gt; in order to run facerecognition.&lt;/p&gt; 
&lt;h3&gt;How to enable hardware acceleration for Nextcloud?&lt;/h3&gt; 
&lt;p&gt;Some container can use GPU acceleration to increase performance like &lt;a href=&quot;https://apps.nextcloud.com/apps/memories&quot;&gt;memories app&lt;/a&gt; allows to enable hardware transcoding for videos.&lt;/p&gt; 
&lt;h4&gt;With open source drivers MESA for AMD, Intel and &lt;strong&gt;new&lt;/strong&gt; drivers &lt;code&gt;Nouveau&lt;/code&gt; for Nvidia&lt;/h4&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-warning&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-alert mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Warning&lt;/p&gt;
 &lt;p&gt;This only works if the &lt;code&gt;/dev/dri&lt;/code&gt; device is present on the host! If it does not exist on your host, don&#39;t proceed as otherwise the mastercontainer will fail to start! If you are unsure about this, better do not proceed with the instructions below. Make sure that your driver is correctly configured on the host.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;A list of supported device can be fond in &lt;a href=&quot;https://docs.mesa3d.org/systems.html&quot;&gt;MESA 3D documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;This method use the &lt;a href=&quot;https://dri.freedesktop.org/wiki/&quot;&gt;Direct Rendering Infrastructure&lt;/a&gt; with the access to the &lt;code&gt;/dev/dri&lt;/code&gt; device.&lt;/p&gt; 
&lt;p&gt;In order to use that, you need to pass the &lt;code&gt;/dev/dri&lt;/code&gt; device into the mastercontainer by adding &lt;code&gt;--device=/dev/dri&lt;/code&gt; to the docker run command (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used). The &lt;code&gt;/dev/dri&lt;/code&gt; device gets mounted into the containers that benefit from it.&lt;/p&gt; 
&lt;p&gt;With this device in place, the AIO mastercontainer automatically detects the &lt;code&gt;/dev/dri&lt;/code&gt; device, enables hardware acceleration for the relevant containers and passes the correct render device group to the talk-recording container so that VA-API hardware transcoding (&lt;code&gt;h264_vaapi&lt;/code&gt;) is used when recording calls.&lt;/p&gt; 
&lt;h4&gt;With proprietary drivers for Nvidia ⚠️ BETA&lt;/h4&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-warning&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-alert mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Warning&lt;/p&gt;
 &lt;p&gt;This only works if the Nvidia Toolkit is installed on the host and an NVIDIA GPU is enabled! Make sure that it is correctly configured on the host. If it does not exist on your host, don&#39;t proceed as otherwise the Nextcloud container will fail to start! If you are unsure about this, better do not proceed with the instructions below.&lt;/p&gt; 
 &lt;p&gt;This feature is in beta. Since the proprietary, we haven&#39;t a lot of user using proprietary drivers, we can&#39;t guarantee the stability of this feature. Your feedback is welcome.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;This method use the &lt;a href=&quot;https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/index.html&quot;&gt;Nvidia Container Toolkit&lt;/a&gt; with the nvidia runtime.&lt;/p&gt; 
&lt;p&gt;In order to use that, you need to add &lt;code&gt;--env NEXTCLOUD_ENABLE_NVIDIA_GPU=true&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) which will enable the nvidia runtime.&lt;/p&gt; 
&lt;p&gt;The talk-recording container automatically detects the NVIDIA GPU at startup and uses &lt;code&gt;h264_nvenc&lt;/code&gt; hardware encoding when available. No additional steps are required beyond enabling the NVIDIA runtime.&lt;/p&gt; 
&lt;p&gt;If you&#39;re using WSL2 and want to use the NVIDIA runtime, please follow the instructions to &lt;a href=&quot;https://docs.nvidia.com/cuda/wsl-user-guide/index.html#cuda-support-for-wsl-2&quot;&gt;install the NVIDIA Container Toolkit meta-version in WSL&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;How to keep disabled apps?&lt;/h3&gt; 
&lt;p&gt;In certain situations you might want to keep Nextcloud apps that are disabled in the AIO interface and not uninstall them if they should be installed in Nextcloud. You can do so by adding &lt;code&gt;--env NEXTCLOUD_KEEP_DISABLED_APPS=true&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used).&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-warning&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-alert mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Warning&lt;/p&gt;
 &lt;p&gt;Doing this might cause unintended problems in Nextcloud if an app that requires an external dependency is still installed but the external dependency not for example.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h3&gt;How to trust user-defined Certification Authorities (CA)?&lt;/h3&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;Please note, that this feature is only intended to make LDAPS connections with self-signed certificates work. It will not make other interconnectivity between the different containers work, as they expect a valid publicly trusted certificate like one from Let&#39;s Encrypt.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;For some applications it might be necessary to establish a secure connection to another host/server which is using a certificate issued by a Certification Authority that is not trusted out of the box. An example could be configuring LDAPS against a domain controller (Active Directory or Samba-based) of an organization.&lt;/p&gt; 
&lt;p&gt;You can make the Nextcloud container trust any Certification Authority by providing the environmental variable &lt;code&gt;NEXTCLOUD_TRUSTED_CACERTS_DIR&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used). The value of the variables should be set to the absolute paths of the directory on the host, which contains one or more Certification Authorities certificates. You should use X.509 certificates, Base64 encoded. (Other formats may work but have not been tested!) All the certificates in the directory will be trusted.&lt;/p&gt; 
&lt;p&gt;When using &lt;code&gt;docker run&lt;/code&gt;, the environmental variable can be set with &lt;code&gt;--env NEXTCLOUD_TRUSTED_CACERTS_DIR=/path/to/my/cacerts&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;In order for the value to be valid, the path should start with &lt;code&gt;/&lt;/code&gt; and not end with &lt;code&gt;/&lt;/code&gt; and point to an existing &lt;strong&gt;directory&lt;/strong&gt;. Pointing the variable directly to a certificate &lt;strong&gt;file&lt;/strong&gt; will not work and may also break things.&lt;/p&gt; 
&lt;h3&gt;How to disable Collabora&#39;s Seccomp feature?&lt;/h3&gt; 
&lt;p&gt;The Collabora container enables Seccomp by default, which is a security feature of the Linux kernel. On systems without this kernel feature enabled, you need to provide &lt;code&gt;--env COLLABORA_SECCOMP_DISABLED=true&lt;/code&gt; to the initial docker run command in order to make it work. If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used.&lt;/p&gt; 
&lt;h3&gt;How to adjust the Fulltextsearch Java options?&lt;/h3&gt; 
&lt;p&gt;The Fulltextsearch Java options are by default set to &lt;code&gt;-Xms512M -Xmx512M&lt;/code&gt; which might not be enough on some systems. You can adjust this by adding e.g. &lt;code&gt;--env FULLTEXTSEARCH_JAVA_OPTIONS=&quot;-Xms1024M -Xmx1024M&quot;&lt;/code&gt; to the initial docker run command. If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used.&lt;/p&gt; 
&lt;h2&gt;Guides&lt;/h2&gt; 
&lt;h3&gt;How to run AIO on macOS?&lt;/h3&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;On macOS, it is recommended to use OrbStack instead of Docker Desktop which has much better compatibility with docker for Linux compared to Docker Desktop. See &lt;a href=&quot;https://orbstack.dev/&quot;&gt;https://orbstack.dev/&lt;/a&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;Generally, on macOS, there is only one thing different for the docker run command in comparison to Linux: instead of using &lt;code&gt;--volume /var/run/docker.sock:/var/run/docker.sock:ro&lt;/code&gt;, you need to use &lt;code&gt;--volume /var/run/docker.sock.raw:/var/run/docker.sock:ro&lt;/code&gt; to run it after you installed &lt;a href=&quot;https://www.docker.com/products/docker-desktop/&quot;&gt;Docker Desktop&lt;/a&gt; (and don&#39;t forget to &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/docker-ipv6-support.md&quot;&gt;enable ipv6&lt;/a&gt; if you should need that). Apart from that it should work and behave the same like on Linux.&lt;/p&gt; 
&lt;p&gt;Also, you may be interested in adjusting Nextcloud&#39;s Datadir to store the files on the host system. See &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir&quot;&gt;this documentation&lt;/a&gt; on how to do it.&lt;/p&gt; 
&lt;h3&gt;How to run AIO on Windows?&lt;/h3&gt; 
&lt;p&gt;On Windows, install &lt;a href=&quot;https://www.docker.com/products/docker-desktop/&quot;&gt;Docker Desktop&lt;/a&gt; (and don&#39;t forget to &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/docker-ipv6-support.md&quot;&gt;enable ipv6&lt;/a&gt; if you should need that) and run the following command in the command prompt:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;docker run ^
--init ^
--sig-proxy=false ^
--name nextcloud-aio-mastercontainer ^
--restart always ^
--publish 80:80 ^
--publish 8080:8080 ^
--publish 8443:8443 ^
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config ^
--volume //var/run/docker.sock:/var/run/docker.sock:ro ^
ghcr.io/nextcloud-releases/all-in-one:latest
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Also, you may be interested in adjusting Nextcloud&#39;s Datadir to store the files on the host system. See &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir&quot;&gt;this documentation&lt;/a&gt; on how to do it.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;Almost all commands in this project&#39;s documentation use &lt;code&gt;sudo docker ...&lt;/code&gt;. Since &lt;code&gt;sudo&lt;/code&gt; is not available on Windows, you simply remove &lt;code&gt;sudo&lt;/code&gt; from the commands and they should work.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h3&gt;How to run AIO on Unraid?&lt;/h3&gt; 
&lt;p&gt;Generally on Unraid, before installing Nextcloud AIO, you should make sure to specify a directory for all docker related files instead of using the default docker image before continuing the installation process. See this guide for more details: &lt;a href=&quot;https://forums.unraid.net/topic/103924-how-to-turn-my-docker-file-to-a-docker-folder/#comment-962317&quot;&gt;https://forums.unraid.net/topic/103924-how-to-turn-my-docker-file-to-a-docker-folder/#comment-962317&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Additionally, you might need to create a custom user script to start all sibling containers of AIO automatically whenever the server reboots (since the docker plugin in Unraid does not respect the normal docker restart-policy that is configured for all AIO containers). See the User scripts docs: &lt;a href=&quot;https://docs.unraid.net/unraid-os/using-unraid-to/run-docker-containers/managing-and-customizing-containers/#user-scripts-plugin&quot;&gt;https://docs.unraid.net/unraid-os/using-unraid-to/run-docker-containers/managing-and-customizing-containers/#user-scripts-plugin&lt;/a&gt;. You would need to use a script like the one below and use the schedule option &lt;code&gt;@reboot&lt;/code&gt; to start the containers automatically.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;#!/bin/bash

# Wait 120 seconds for other server components to start correctly
sleep 120

# Execute the actual command
docker exec --env START_CONTAINERS=1 nextcloud-aio-mastercontainer /daily-backup.sh
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Apart from that, the installation of AIO should work like on &quot;normal&quot; Linux. So refer to the Linux instructions for installation.&lt;/p&gt; 
&lt;h3&gt;How to run AIO on Synology DSM&lt;/h3&gt; 
&lt;p&gt;On Synology, there are two things different in comparison to Linux: instead of using &lt;code&gt;--volume /var/run/docker.sock:/var/run/docker.sock:ro&lt;/code&gt;, you need to use &lt;code&gt;--volume /volume1/docker/docker.sock:/var/run/docker.sock:ro&lt;/code&gt; to run it. You also need to add &lt;code&gt;--env WATCHTOWER_DOCKER_SOCKET_PATH=&quot;/volume1/docker/docker.sock&quot;&lt;/code&gt;to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;). Additionally, you likely need to adjust the internally used api version. See &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-adjust-the-internally-used-docker-api-version&quot;&gt;this documentation&lt;/a&gt;. Apart from that it should work and behave the same like on Linux. Obviously the Synology Docker GUI will not work with that so you will need to either use SSH or create a user-defined script task in the task scheduler as the user &#39;root&#39; in order to run the command.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;It is possible that the docker socket on your Synology is located in &lt;code&gt;/var/run/docker.sock&lt;/code&gt; like the default on Linux. Then you can just use the Linux command without having to change anything - you will notice this when you try to start the container and it says that the bind mount failed. E.g. &lt;code&gt;docker: Error response from daemon: Bind mount failed: &#39;/volume1/docker/docker.sock&#39; does not exists.&lt;/code&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;Also, you may be interested in adjusting Nextcloud&#39;s Datadir to store the files on the host system. See &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir&quot;&gt;this documentation&lt;/a&gt; on how to do it.&lt;/p&gt; 
&lt;p&gt;You&#39;ll also need to adjust Synology&#39;s firewall, see below:&lt;/p&gt; 
&lt;details&gt; 
 &lt;summary&gt;Click here to expand&lt;/summary&gt; 
 &lt;p&gt;The Synology DSM is vulnerable to attacks with it&#39;s open ports and login interfaces, which is why a firewall setup is always recommended. If a firewall is activated it is necessary to have exceptions for ports 80,443, the subnet of the docker bridge which includes the Nextcloud containers, your public static IP (if you don&#39;t use DDNS) and if applicable your NC-Talk ports 3478 TCP+UDP:&lt;/p&gt; 
 &lt;p&gt;&lt;img src=&quot;https://user-images.githubusercontent.com/70434961/213677995-71a9f364-e5d2-49e5-831e-4579f217c95c.png&quot; alt=&quot;Screenshot 2023-01-19 at 14 13 48&quot; /&gt;&lt;/p&gt; 
 &lt;p&gt;If you have the NAS setup on your local network (which is most often the case) you will need to setup the Synology DNS to be able to access Nextcloud from your network via its domain. Also don&#39;t forget to add the new DNS to your DHCP server and your fixed IP settings:&lt;/p&gt; 
 &lt;p&gt;&lt;img src=&quot;https://user-images.githubusercontent.com/70434961/213683295-0b39a2bd-7a26-414c-a408-127dd4f07826.png&quot; alt=&quot;Screenshot 2023-01-20 at 12 13 44&quot; /&gt;&lt;/p&gt; 
&lt;/details&gt; 
&lt;h3&gt;How to run AIO with Portainer?&lt;/h3&gt; 
&lt;p&gt;The easiest way to run it with Portainer on Linux is to use Portainer&#39;s stacks feature and use &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/compose.yaml&quot;&gt;this docker-compose file&lt;/a&gt; in order to start AIO correctly.&lt;/p&gt; 
&lt;h3&gt;Can I run AIO on TrueNAS SCALE?&lt;/h3&gt; 
&lt;p&gt;With the Truenas Scale Release 24.10.0 (which was officially released on October 29th 2024 as a stable release) IX Systems ditched the Kubernetes integration and implemented a fully working docker environment.&lt;/p&gt; 
&lt;p&gt;For a more complete guide, see this guide by @zybster: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/5506&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/5506&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;On older TrueNAS SCALE releases with Kubernetes environment, there are two ways to run AIO. The preferred one is to run AIO inside a VM. This is necessary since they do not expose the docker socket for containers on the host, you also cannot use docker-compose on it thus and it is also not possible to run custom helm-charts that are not explicitly written for TrueNAS SCALE.&lt;/p&gt; 
&lt;p&gt;Another but untested way is to install Portainer on your TrueNAS SCALE from here &lt;a href=&quot;https://truecharts.org/charts/stable/portainer/installation-notes&quot;&gt;https://truecharts.org/charts/stable/portainer/installation-notes&lt;/a&gt; and add the Helm-chart repository &lt;a href=&quot;https://nextcloud.github.io/all-in-one/&quot;&gt;https://nextcloud.github.io/all-in-one/&lt;/a&gt; into Portainer by following &lt;a href=&quot;https://docs.portainer.io/user/kubernetes/helm&quot;&gt;https://docs.portainer.io/user/kubernetes/helm&lt;/a&gt;. More docs on AIOs Helm Chart are available here: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/nextcloud-aio-helm-chart#nextcloud-aio-helm-chart&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/nextcloud-aio-helm-chart#nextcloud-aio-helm-chart&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;How to run &lt;code&gt;occ&lt;/code&gt; commands?&lt;/h3&gt; 
&lt;p&gt;Simply run the following: &lt;code&gt;sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ your-command&lt;/code&gt;. Of course &lt;code&gt;your-command&lt;/code&gt; needs to be exchanged with the command that you want to run. &lt;strong&gt;Please note:&lt;/strong&gt; If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;How to resolve &lt;code&gt;Security &amp;amp; setup warnings displays the &quot;missing default phone region&quot; after initial install&lt;/code&gt;?&lt;/h3&gt; 
&lt;p&gt;Simply run the following command: &lt;code&gt;sudo docker exec --user www-data nextcloud-aio-nextcloud php occ config:system:set default_phone_region --value=&quot;yourvalue&quot;&lt;/code&gt;. Of course you need to modify &lt;code&gt;yourvalue&lt;/code&gt; based on your location. Examples are &lt;code&gt;DE&lt;/code&gt;, &lt;code&gt;US&lt;/code&gt; and &lt;code&gt;GB&lt;/code&gt;. See this list for more codes: &lt;a href=&quot;https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements&quot;&gt;https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements&lt;/a&gt; &lt;strong&gt;Please note:&lt;/strong&gt; If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;How to run multiple AIO instances on one server?&lt;/h3&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/multiple-instances.md&quot;&gt;multiple-instances.md&lt;/a&gt; for some documentation on this.&lt;/p&gt; 
&lt;h3&gt;Bruteforce protection FAQ&lt;/h3&gt; 
&lt;p&gt;Nextcloud features a built-in bruteforce protection which may get triggered and will block an ip-address or disable a user. You can unblock an ip-address by running &lt;code&gt;sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ security:bruteforce:reset &amp;lt;ip-address&amp;gt;&lt;/code&gt; and enable a disabled user by running &lt;code&gt;sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ user:enable &amp;lt;name of user&amp;gt;&lt;/code&gt;. See &lt;a href=&quot;https://docs.nextcloud.com/server/latest/admin_manual/occ_command.html#security-commands-label&quot;&gt;https://docs.nextcloud.com/server/latest/admin_manual/occ_command.html#security-commands-label&lt;/a&gt; for further information. &lt;strong&gt;Please note:&lt;/strong&gt; If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;How to switch the channel?&lt;/h3&gt; 
&lt;p&gt;You can switch to a different channel like e.g. the beta channel or from the beta channel back to the latest channel by stopping the mastercontainer, removing it (no data will be lost) and recreating the container using the same command that you used initially to create the mastercontainer. You simply need to change the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt; to &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:beta&lt;/code&gt; and vice versa. ⚠️ In some rare occurrences, you might need to run &lt;code&gt;docker pull ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt; or &lt;code&gt;docker pull ghcr.io/nextcloud-releases/all-in-one:beta&lt;/code&gt; first before being able to use the image.&lt;/p&gt; 
&lt;h3&gt;How to update the containers?&lt;/h3&gt; 
&lt;p&gt;If we push new containers to &lt;code&gt;latest&lt;/code&gt;, you will see in the AIO interface below the &lt;code&gt;containers&lt;/code&gt; section that new container updates were found. In this case, just press &lt;code&gt;Stop containers&lt;/code&gt; and &lt;code&gt;Start and update containers&lt;/code&gt; in order to update the containers. The mastercontainer has its own update procedure though. See below. And don&#39;t forget to back up the current state of your instance using the built-in backup solution before starting the containers again! Otherwise you won&#39;t be able to restore your instance easily if something should break during the update.&lt;/p&gt; 
&lt;p&gt;If a new &lt;code&gt;mastercontainer&lt;/code&gt; update was found, you&#39;ll see a note below the &lt;code&gt;Stop containers&lt;/code&gt; button that allows to show the changelog. If you click that button and the containers are stopped, you will see a new button that allows to update the mastercontainer. After doing so and after the update is gone through, you will have the option again to &lt;code&gt;Start and update containers&lt;/code&gt;. It is recommended to create a backup before clicking the &lt;code&gt;Start and update containers&lt;/code&gt; button.&lt;/p&gt; 
&lt;p&gt;Additionally, there is a cronjob that runs once a day that checks for container and mastercontainer updates and sends a notification to all Nextcloud admins if a new update was found.&lt;/p&gt; 
&lt;h3&gt;How to easily log in to the AIO interface?&lt;/h3&gt; 
&lt;p&gt;If your Nextcloud is running and you are logged in as admin in your Nextcloud, you can easily log in to the AIO interface by opening &lt;code&gt;https://yourdomain.tld/settings/admin/overview&lt;/code&gt; which will show a button on top that enables you to log in to the AIO interface by just clicking on this button.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;You can change the domain/ip-address/port of the button by simply stopping the containers, visiting the AIO interface from the correct and desired domain/ip-address/port and clicking once on &lt;code&gt;Start containers&lt;/code&gt;.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h3&gt;How to change the domain?&lt;/h3&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;Editing the configuration.json manually and making a mistake may break your instance so please create a backup first!&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;If you set up a new AIO instance, you need to enter a domain. Currently there is no way to change this domain afterwards from the AIO interface. So in order to change it, you need to edit the configuration.json manually using &lt;code&gt;sudo docker run -it --rm --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw alpine sh -c &quot;apk add --no-cache nano &amp;amp;&amp;amp; nano /mnt/docker-aio-config/data/configuration.json&quot;&lt;/code&gt;, substitute each occurrence of your old domain with your new domain and save and write out the file. Afterwards restart your containers from the AIO interface and everything should work as expected if the new domain is correctly configured.&lt;br /&gt; If you are running AIO behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else), you need to obviously also change the domain in your reverse proxy config.&lt;/p&gt; 
&lt;p&gt;Additionally, after restarting the containers, you need to open the admin settings and update some values manually that cannot be changed automatically. Here is a list of some known places:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;https://your-nc-domain.com/settings/admin/talk&lt;/code&gt; for Turn/Stun server and Signaling Server if you enabled Talk via the AIO interface&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;https://your-nc-domain.com/settings/admin/theming&lt;/code&gt; for the theming URL&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;https://your-nc-domain.com/settings/admin/app_api&lt;/code&gt; for the deploy daemon if you enabled the App API via the AIO interface&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;How to properly reset the instance?&lt;/h3&gt; 
&lt;p&gt;If something goes unexpected routes during the initial installation, you might want to reset the AIO installation to be able to start from scratch.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;If you already have it running and have data on your instance, you should not follow these instructions as it will delete all data that is coupled to your AIO instance.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;Here is how to reset the AIO instance properly:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Stop all containers if they are running from the AIO interface&lt;/li&gt; 
 &lt;li&gt;Stop the mastercontainer with &lt;code&gt;sudo docker stop nextcloud-aio-mastercontainer&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;If the domaincheck container is still running, stop it with &lt;code&gt;sudo docker stop nextcloud-aio-domaincheck&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Check that no AIO containers are running anymore by running &lt;code&gt;sudo docker ps --format {{.Names}}&lt;/code&gt;. If no &lt;code&gt;nextcloud-aio&lt;/code&gt; containers are listed, you can proceed with the steps below. If there should be some, you will need to stop them with &lt;code&gt;sudo docker stop &amp;lt;container_name&amp;gt;&lt;/code&gt; until no one is listed anymore.&lt;/li&gt; 
 &lt;li&gt;Check which containers are stopped: &lt;code&gt;sudo docker ps --filter &quot;status=exited&quot;&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Now remove all these stopped containers with &lt;code&gt;sudo docker container prune&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Delete the docker network with &lt;code&gt;sudo docker network rm nextcloud-aio&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Check which volumes are dangling with &lt;code&gt;sudo docker volume ls --filter &quot;dangling=true&quot;&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Now remove all these dangling volumes: &lt;code&gt;sudo docker volume prune --filter all=1&lt;/code&gt; (on Windows you might need to remove some volumes afterwards manually with &lt;code&gt;docker volume rm nextcloud_aio_backupdir&lt;/code&gt;, &lt;code&gt;docker volume rm nextcloud_aio_nextcloud_datadir&lt;/code&gt;).&lt;/li&gt; 
 &lt;li&gt;If you&#39;ve configured &lt;code&gt;NEXTCLOUD_DATADIR&lt;/code&gt; to a path on your host instead of the default volume, you need to clean that up as well. (E.g. by simply deleting the directory).&lt;/li&gt; 
 &lt;li&gt;Make sure that no volumes are remaining with &lt;code&gt;sudo docker volume ls --format {{.Name}}&lt;/code&gt;. If no &lt;code&gt;nextcloud-aio&lt;/code&gt; volumes are listed, you can proceed with the steps below. If there should be some, you will need to remove them with &lt;code&gt;sudo docker volume rm &amp;lt;volume_name&amp;gt;&lt;/code&gt; until no one is listed anymore.&lt;/li&gt; 
 &lt;li&gt;Optional: You can remove all docker images with &lt;code&gt;sudo docker image prune -a&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;And you are done! Now feel free to start over with the recommended docker run command!&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;Can I use a CIFS/SMB share as Nextcloud&#39;s datadir?&lt;/h3&gt; 
&lt;p&gt;Sure. Add this to the &lt;code&gt;/etc/fstab&lt;/code&gt; file on the host system: &lt;br /&gt; &lt;code&gt;&amp;lt;your-storage-host-and-subpath&amp;gt; &amp;lt;your-mount-dir&amp;gt; cifs rw,mfsymlinks,seal,credentials=&amp;lt;your-credentials-file&amp;gt;,uid=33,gid=0,file_mode=0770,dir_mode=0770 0 0&lt;/code&gt;&lt;br /&gt; (Of course you need to modify &lt;code&gt;&amp;lt;your-storage-host-and-subpath&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;your-mount-dir&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;your-credentials-file&amp;gt;&lt;/code&gt; for your specific case.)&lt;/p&gt; 
&lt;p&gt;One example could look like this:&lt;br /&gt; &lt;code&gt;//your-storage-host/subpath /mnt/storagebox cifs rw,mfsymlinks,seal,credentials=/etc/storage-credentials,uid=33,gid=0,file_mode=0770,dir_mode=0770 0 0&lt;/code&gt;&lt;br /&gt; and add into &lt;code&gt;/etc/storage-credentials&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;username=&amp;lt;smb/cifs username&amp;gt;
password=&amp;lt;password&amp;gt;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;(Of course you need to modify &lt;code&gt;&amp;lt;smb/cifs username&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;password&amp;gt;&lt;/code&gt; for your specific case.)&lt;/p&gt; 
&lt;p&gt;Now you can use &lt;code&gt;/mnt/storagebox&lt;/code&gt; as Nextcloud&#39;s datadir like described in the section &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-change-the-default-location-of-nextclouds-datadir&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;You also might want to move the appdata dir after the initial installation is done to improve the performance. See &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-move-the-appdata-folder-from-the-datadir-to-an-ssd-to-improve-the-performance&quot;&gt;this section&lt;/a&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;h3&gt;Can I run this with Docker swarm?&lt;/h3&gt; 
&lt;p&gt;Yes. For that to work, you need to use and follow the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/manual-install/&quot;&gt;manual-install documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Can I run this with Kubernetes?&lt;/h3&gt; 
&lt;p&gt;Yes. For that to work, you need to use and follow the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/nextcloud-aio-helm-chart/&quot;&gt;helm-chart documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;How to run this with Docker rootless?&lt;/h3&gt; 
&lt;p&gt;You can run AIO also with docker rootless. How to do this is documented here: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/docker-rootless.md&quot;&gt;docker-rootless.md&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;Can I run this with Podman instead of Docker?&lt;/h3&gt; 
&lt;p&gt;Since Podman is not 100% compatible with the Docker API, Podman is not supported (since that would add yet another platform where the maintainer would need to test on). However you can use and follow the &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/manual-install/&quot;&gt;manual-install documentation&lt;/a&gt; to get AIO&#39;s containers running with Podman or use Docker rootless, as described in the above section. Also there is this now: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/3487&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/3487&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;Access/Edit Nextcloud files/folders manually&lt;/h3&gt; 
&lt;p&gt;The files and folders that you add to Nextcloud are by default stored in the following docker directory: &lt;code&gt;nextcloud_aio_nextcloud:/mnt/ncdata/&lt;/code&gt; (usually &lt;code&gt;/var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/&lt;/code&gt; on linux host systems). If needed, you can modify/add/delete files/folders there but &lt;strong&gt;ATTENTION&lt;/strong&gt;: be very careful when doing so because you might corrupt your AIO installation! Best is to create a backup using the built-in backup solution before editing/changing files/folders in there because you will then be able to restore your instance to the backed up state.&lt;/p&gt; 
&lt;p&gt;After you are done modifying/adding/deleting files/folders, don&#39;t forget to apply the correct permissions by running: &lt;code&gt;sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/&lt;/code&gt; and &lt;code&gt;sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/&lt;/code&gt; and rescan the files with &lt;code&gt;sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all&lt;/code&gt;. &lt;strong&gt;Please note:&lt;/strong&gt; If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;How to edit Nextclouds config.php file with a texteditor?&lt;/h3&gt; 
&lt;p&gt;You can edit Nextclouds config.php file directly from the host with your favorite text editor. E.g. like this: &lt;code&gt;sudo docker run -it --rm --volume nextcloud_aio_nextcloud:/var/www/html:rw alpine sh -c &quot;apk add --no-cache nano &amp;amp;&amp;amp; nano /var/www/html/config/config.php&quot;&lt;/code&gt;. Make sure to not break the file though which might corrupt your Nextcloud instance otherwise. In best case, create a backup using the built-in backup solution before editing the file. &lt;strong&gt;Please note:&lt;/strong&gt; If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;How to change default files by creating a custom skeleton directory?&lt;/h3&gt; 
&lt;p&gt;All users see a set of &lt;a href=&quot;https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/default_files_configuration.html&quot;&gt;default files and folders&lt;/a&gt; as dictated by Nextcloud&#39;s configuration. To change these default files and folders a custom skeleton directory must first be created; this can be accomplished by copying your skeleton files &lt;code&gt;sudo docker cp --follow-link /path/to/nextcloud/skeleton/ nextcloud-aio-nextcloud:/mnt/ncdata/skeleton/&lt;/code&gt;, applying the correct permissions with &lt;code&gt;sudo docker exec nextcloud-aio-nextcloud chown -R 33:0 /mnt/ncdata/skeleton/&lt;/code&gt; and &lt;code&gt;sudo docker exec nextcloud-aio-nextcloud chmod -R 750 /mnt/ncdata/skeleton/&lt;/code&gt; and setting the skeleton directory option with &lt;code&gt;sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:system:set skeletondirectory --value=&quot;/mnt/ncdata/skeleton&quot;&lt;/code&gt;. Further information is available in the Nextcloud documentation on &lt;a href=&quot;https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html#skeletondirectory&quot;&gt;configuration parameters for the skeleton directory&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;How to adjust the version retention policy and trashbin retention policy?&lt;/h3&gt; 
&lt;p&gt;By default, AIO sets the &lt;code&gt;versions_retention_obligation&lt;/code&gt; and &lt;code&gt;trashbin_retention_obligation&lt;/code&gt; both to &lt;code&gt;auto, 30&lt;/code&gt; which means that versions and items in the trashbin get deleted after 30 days. If you want to change this, see &lt;a href=&quot;https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/file_versioning.html&quot;&gt;https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/file_versioning.html&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;How to enable automatic updates without creating a backup beforehand?&lt;/h3&gt; 
&lt;p&gt;If you have an external backup solution, you might want to enable automatic updates without creating a backup first. However note that doing this is disrecommended since you will not be able to easily create and restore a backup from the AIO interface anymore and you need to make sure to shut down all the containers properly before creating the backup, e.g. by stopping them from the AIO interface first.&lt;/p&gt; 
&lt;p&gt;But anyhow, is here a guide that helps you automate the whole procedure:&lt;/p&gt; 
&lt;details&gt; 
 &lt;summary&gt;Click here to expand&lt;/summary&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;#!/bin/bash

# Stop the containers
docker exec --env STOP_CONTAINERS=1 nextcloud-aio-mastercontainer /daily-backup.sh

# Below is optional if you run AIO in a VM which will shut down the VM afterwards
# poweroff

&lt;/code&gt;&lt;/pre&gt; 
&lt;/details&gt; 
&lt;p&gt;You can simply copy and paste the script into a file e.g. named &lt;code&gt;shutdown-script.sh&lt;/code&gt; e.g. here: &lt;code&gt;/root/shutdown-script.sh&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;Afterwards apply the correct permissions with &lt;code&gt;sudo chown root:root /root/shutdown-script.sh&lt;/code&gt; and &lt;code&gt;sudo chmod 700 /root/shutdown-script.sh&lt;/code&gt;. Then you can create a cronjob that runs it on a schedule e.g. runs the script at &lt;code&gt;04:00&lt;/code&gt; each day like this:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Open the cronjob with &lt;code&gt;sudo crontab -u root -e&lt;/code&gt; (and choose your editor of choice if not already done. I&#39;d recommend nano).&lt;/li&gt; 
 &lt;li&gt;Add the following new line to the crontab if not already present: &lt;code&gt;0 4 * * * /root/shutdown-script.sh&lt;/code&gt; which will run the script at 04:00 each day.&lt;/li&gt; 
 &lt;li&gt;save and close the crontab (when using nano the shortcuts for this are &lt;code&gt;Ctrl + o&lt;/code&gt; and then &lt;code&gt;Enter&lt;/code&gt; to save, and close the editor with &lt;code&gt;Ctrl + x&lt;/code&gt;).&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;&lt;strong&gt;After that is in place, you should schedule a backup from your backup solution that creates a backup after AIO is shut down properly. Hint: If your backup runs on the same host, make sure to at least back up all docker volumes and additionally Nextcloud&#39;s datadir if it is not stored in a docker volume.&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Afterwards, you can create a second script that automatically updates the containers:&lt;/strong&gt;&lt;/p&gt; 
&lt;details&gt; 
 &lt;summary&gt;Click here to expand&lt;/summary&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;#!/bin/bash

# Run container update once
if ! docker exec --env AUTOMATIC_UPDATES=1 nextcloud-aio-mastercontainer /daily-backup.sh; then
    while docker ps --format &quot;{{.Names}}&quot; | grep -q &quot;^nextcloud-aio-watchtower$&quot;; do
        echo &quot;Waiting for watchtower to stop&quot;
        sleep 30
    done

    while ! docker ps --format &quot;{{.Names}}&quot; | grep -q &quot;^nextcloud-aio-mastercontainer$&quot;; do
        echo &quot;Waiting for Mastercontainer to start&quot;
        sleep 30
    done

    # Run container update another time to make sure that all containers are updated correctly.
    docker exec --env AUTOMATIC_UPDATES=1 nextcloud-aio-mastercontainer /daily-backup.sh
fi

&lt;/code&gt;&lt;/pre&gt; 
&lt;/details&gt; 
&lt;p&gt;You can simply copy and paste the script into a file e.g. named &lt;code&gt;automatic-updates.sh&lt;/code&gt; e.g. here: &lt;code&gt;/root/automatic-updates.sh&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;Afterwards apply the correct permissions with &lt;code&gt;sudo chown root:root /root/automatic-updates.sh&lt;/code&gt; and &lt;code&gt;sudo chmod 700 /root/automatic-updates.sh&lt;/code&gt;. Then you can create a cronjob that runs e.g. at &lt;code&gt;05:00&lt;/code&gt; each day like this:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Open the cronjob with &lt;code&gt;sudo crontab -u root -e&lt;/code&gt; (and choose your editor of choice if not already done. I&#39;d recommend nano).&lt;/li&gt; 
 &lt;li&gt;Add the following new line to the crontab if not already present: &lt;code&gt;0 5 * * * /root/automatic-updates.sh&lt;/code&gt; which will run the script at 05:00 each day.&lt;/li&gt; 
 &lt;li&gt;save and close the crontab (when using nano the shortcuts for this are &lt;code&gt;Ctrl + o&lt;/code&gt; then &lt;code&gt;Enter&lt;/code&gt; to save, and close the editor with &lt;code&gt;Ctrl + x&lt;/code&gt;).&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;Securing the AIO interface from unauthorized ACME challenges&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/4882#discussioncomment-9858384&quot;&gt;By design&lt;/a&gt;, Caddy that runs inside the mastercontainer, which handles automatic TLS certificate generation for the AIO interface on port 8443, is configured to accept traffic on any valid domain in order to make the AIO interface as convenient to use as possible. However due to this, it is vulnerable to receiving DNS challenges for arbitrary hostnames from anyone on the internet. While this does not compromise your server&#39;s security, it can result in cluttered logs and rejected certificate renewal attempts due to rate limit abuse. To mitigate this issue, it is recommended to place the AIO interface behind a VPN and/or limit its public exposure.&lt;/p&gt; 
&lt;h3&gt;How to migrate from an already existing Nextcloud installation to Nextcloud AIO?&lt;/h3&gt; 
&lt;p&gt;Please see the following documentation on this: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/raw/main/migration.md&quot;&gt;migration.md&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Backup&lt;/h2&gt; 
&lt;p&gt;Nextcloud AIO provides a backup solution based on &lt;a href=&quot;https://github.com/borgbackup/borg#what-is-borgbackup&quot;&gt;BorgBackup&lt;/a&gt;. These backups act as a restore point in case the installation gets corrupted. By using this tool, backups are incremental, differential, compressed and encrypted – so only the first backup will take a while. Further backups should be fast as only changes are taken into account.&lt;/p&gt; 
&lt;p&gt;It is recommended to create a backup before any container update. By doing this, you will be safe regarding any possible complication during updates because you will be able to restore the whole instance with basically one click.&lt;/p&gt; 
&lt;p&gt;For local backups, the restore process should be pretty fast as rsync is used to restore the chosen backup which only transfers changed files and deletes additional ones. For remote borg backups, the whole backup archive is extracted from the remote, which depending on how clever &lt;code&gt;borg extract&lt;/code&gt; is, may require downloading the whole archive.&lt;/p&gt; 
&lt;p&gt;If you connect an external drive to your host, and choose the backup directory to be on that drive, you are also kind of safe against drive failures of the drive where the docker volumes are stored on.&lt;/p&gt; 
&lt;details&gt; 
 &lt;summary&gt;How to do the above step for step&lt;/summary&gt; 
 &lt;ol&gt; 
  &lt;li&gt;Mount an external/backup HDD to the host OS using the built-in functionality or udev rules or whatever way you prefer. (E.g. follow this video: &lt;a href=&quot;https://www.youtube.com/watch?v=2lSyX4D3v_s&quot;&gt;https://www.youtube.com/watch?v=2lSyX4D3v_s&lt;/a&gt;) and mount the drive in best case in &lt;code&gt;/mnt/backup&lt;/code&gt;.&lt;/li&gt; 
  &lt;li&gt;If not already done, fire up the docker container and set up Nextcloud as per the guide.&lt;/li&gt; 
  &lt;li&gt;Now open the AIO interface.&lt;/li&gt; 
  &lt;li&gt;Under backup section, add your external disk mountpoint as backup directory, e.g. &lt;code&gt;/mnt/backup&lt;/code&gt;.&lt;/li&gt; 
  &lt;li&gt;Click on &lt;code&gt;Create Backup&lt;/code&gt; which should create the first backup on the external disk.&lt;/li&gt; 
 &lt;/ol&gt; 
&lt;/details&gt; 
&lt;p&gt;If you want to back up directly to a remote borg repository:&lt;/p&gt; 
&lt;details&gt; 
 &lt;summary&gt;How to do the above step for step&lt;/summary&gt; 
 &lt;ol&gt; 
  &lt;li&gt;Create your borg repository at the remote. Note down the repository URL for later.&lt;/li&gt; 
  &lt;li&gt;Open the AIO interface&lt;/li&gt; 
  &lt;li&gt;Under backup section, leave the local path blank and fill in the url to your borg repository that you noted down earlier.&lt;/li&gt; 
  &lt;li&gt;Click on &lt;code&gt;Create backup&lt;/code&gt;, this will create an ssh key pair and fail because the remote doesn&#39;t trust this key yet. Copy the public key shown in AIO and add it to your authorized keys on the remote.&lt;/li&gt; 
  &lt;li&gt;Try again to create a backup, this time it should succeed.&lt;/li&gt; 
 &lt;/ol&gt; 
&lt;/details&gt; 
&lt;p&gt;Backups can be created and restored in the AIO interface using the buttons &lt;code&gt;Create Backup&lt;/code&gt; and &lt;code&gt;Restore selected backup&lt;/code&gt;. Additionally, a backup check is provided that checks the integrity of your backups but it shouldn&#39;t be needed in most situations.&lt;/p&gt; 
&lt;p&gt;The backups themselves get encrypted with an encryption key that gets shown to you in the AIO interface. Please save that at a safe place as you will not be able to restore from backup without this key.&lt;/p&gt; 
&lt;p&gt;Daily backups can get enabled after the initial backup is done. Enabling this also allows to enable an option that allows to automatically update all containers, Nextcloud and its apps.&lt;/p&gt; 
&lt;p&gt;Be aware that this solution does not back up files and folders that are mounted into Nextcloud using the external storage app - but you can add further Docker volumes and host paths that you want to back up after the initial backup is done.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;What is getting backed up by AIO&#39;s backup solution?&lt;/h3&gt; 
&lt;p&gt;Backed up will get all important data of your Nextcloud AIO instance required to restore the instance, like the database, your files and configuration files of the mastercontainer and else. Files and folders that are mounted into Nextcloud using the external storage app are not getting backed up. If you don&#39;t want your datadirectory to be backed up, see &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-enable-automatic-updates-without-creating-a-backup-beforehand&quot;&gt;https://github.com/nextcloud/all-in-one#how-to-enable-automatic-updates-without-creating-a-backup-beforehand&lt;/a&gt; for options (there is a hint what needs to be backed up in which order).&lt;/p&gt; 
&lt;h3&gt;How to adjust borgs retention policy?&lt;/h3&gt; 
&lt;p&gt;The built-in borg-based backup solution has by default a retention policy of &lt;code&gt;--keep-within=7d --keep-weekly=4 --keep-monthly=6&lt;/code&gt;. See &lt;a href=&quot;https://borgbackup.readthedocs.io/en/stable/usage/prune.html&quot;&gt;https://borgbackup.readthedocs.io/en/stable/usage/prune.html&lt;/a&gt; for what these values mean. You can adjust the retention policy by providing &lt;code&gt;--env BORG_RETENTION_POLICY=&quot;--keep-within=7d --keep-weekly=4 --keep-monthly=6&quot;&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used) and customize the value to your fitting. ⚠️ Please make sure that this value is valid, otherwise backup pruning will bug out! Also, don&#39;t include the &lt;code&gt;-a&lt;/code&gt; or &lt;code&gt;--glob-archives&lt;/code&gt; option, since AIO already provides it and you can&#39;t override it. See &lt;a href=&quot;https://github.com/nextcloud/all-in-one/pull/7616&quot;&gt;https://github.com/nextcloud/all-in-one/pull/7616&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;How to migrate from AIO to AIO?&lt;/h3&gt; 
&lt;p&gt;If you have the borg backup feature enabled, you can copy it over to the new host and restore from the backup. This guide assumes the new installation data dir will be on &lt;code&gt;/mnt/datadir&lt;/code&gt;, you can adjust the steps if it&#39;s elsewhere.&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Set the DNS entry to 60 seconds TTL if applicable&lt;/li&gt; 
 &lt;li&gt;On your current installation, use the AIO interface to: 
  &lt;ol&gt; 
   &lt;li&gt;Update AIO and all containers&lt;/li&gt; 
   &lt;li&gt;Stop all containers (from now on, your cloud is down)&lt;/li&gt; 
   &lt;li&gt;Create a current borg backup&lt;/li&gt; 
   &lt;li&gt;Note the path where the backups are stored and the encryption password&lt;/li&gt; 
  &lt;/ol&gt; &lt;/li&gt; 
 &lt;li&gt;Navigate to the backup folder&lt;/li&gt; 
 &lt;li&gt;Create archive of the backup so it&#39;s easier to copy: &lt;code&gt;tar -czvf borg.tar.gz borg&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Copy the archive over to the new host: &lt;code&gt;scp borg.tar.gz user@new.host:/mnt&lt;/code&gt;. Make sure to replace &lt;code&gt;user&lt;/code&gt; with your actual user and &lt;code&gt;new.host&lt;/code&gt; with the IP or domain of the actual host. You can also use another way to copy the archive.&lt;/li&gt; 
 &lt;li&gt;Switch to the new host&lt;/li&gt; 
 &lt;li&gt;Go to the folder you put the backup archive and extract it with &lt;code&gt;tar -xf borg.tar.gz&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Follow the installation guide to create a new aio instance, but do not start the containers yet (the &lt;code&gt;docker run&lt;/code&gt; or &lt;code&gt;docker compose up -d&lt;/code&gt; command)&lt;/li&gt; 
 &lt;li&gt;Change the DNS entry to the new host&#39;s IP&lt;/li&gt; 
 &lt;li&gt;Configure your reverse proxy if you use one&lt;/li&gt; 
 &lt;li&gt;Start the AIO container and open the new AIO interface in your browser&lt;/li&gt; 
 &lt;li&gt;Make sure to save the newly generated passphrase and enter it in the next step&lt;/li&gt; 
 &lt;li&gt;Select the &quot;Restore former AIO instance from backup&quot; option and enter the encryption password from the old backup and the path in which the extracted &lt;code&gt;borg&lt;/code&gt; folder lies in (without the borg part) and hit &lt;code&gt;Submit location and password&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Choose the latest backup in the dropdown and hit &lt;code&gt;Restore selected backup&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Wait until the backup is restored&lt;/li&gt; 
 &lt;li&gt;Start the containers in the AIO interface&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;Are remote borg backups supported?&lt;/h3&gt; 
&lt;p&gt;Backing up directly to a remote borg repository is supported. This avoids having to store a local copy of your backups, supports append-only borg keys to counter ransomware and allows using the AIO interface to manage your backups.&lt;/p&gt; 
&lt;p&gt;Some alternatives, which do not have all the above benefits:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Mount a network FS like SSHFS, SMB or NFS in the directory that you enter in AIO as backup directory&lt;/li&gt; 
 &lt;li&gt;Use rsync or rclone for syncing the borg backup archive that AIO creates locally to a remote target (make sure to lock the backup archive correctly before starting the sync; search for &quot;aio-lockfile&quot;; you can find a local example script here: &lt;a href=&quot;https://github.com/nextcloud/all-in-one#sync-local-backups-regularly-to-another-drive&quot;&gt;https://github.com/nextcloud/all-in-one#sync-local-backups-regularly-to-another-drive&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;You can find a well written guide that uses rclone and e.g. BorgBase for remote backups here: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/2247&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/2247&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Here is another one that utilizes borgmatic and BorgBase for remote backups: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/4391&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/4391&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;create your own backup solution using a script and borg, borgmatic or any other to backup tool for backing up to a remote target (make sure to stop and start the AIO containers correctly following &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-enable-automatic-updates-without-creating-a-backup-beforehand&quot;&gt;https://github.com/nextcloud/all-in-one#how-to-enable-automatic-updates-without-creating-a-backup-beforehand&lt;/a&gt;)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Failure of the backup container in LXC containers&lt;/h3&gt; 
&lt;p&gt;If you are running AIO in a LXC container, you need to make sure that FUSE is enabled in the LXC container settings. Also, if using Alpine Linux as host OS, make sure to add fuse via &lt;code&gt;apk add fuse&lt;/code&gt;. Otherwise the backup container will not be able to start as FUSE is required for it to work.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;How to create the backup volume on Windows?&lt;/h3&gt; 
&lt;p&gt;As stated in the AIO interface, it is possible to use a docker volume as backup target. Before you can use that, you need to create it first. Here is an example how to create one on Windows:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;docker volume create ^
--driver local ^
--name nextcloud_aio_backupdir ^
-o device=&quot;/host_mnt/e/your/backup/path&quot; ^
-o type=&quot;none&quot; ^
-o o=&quot;bind&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;In this example, it would mount &lt;code&gt;E:\your\backup\path&lt;/code&gt; into the volume so for a different location you need to adjust &lt;code&gt;/host_mnt/e/your/backup/path&lt;/code&gt; accordingly. Afterwards enter &lt;code&gt;nextcloud_aio_backupdir&lt;/code&gt; in the AIO interface as backup location.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Pro-tip: Backup archives access&lt;/h3&gt; 
&lt;p&gt;You can open the BorgBackup archives on your host by following these steps:&lt;br /&gt; (instructions for Ubuntu Desktop)&lt;/p&gt; 
&lt;p&gt;Alternatively, there is now a community container that allows to access your backups in a web session: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer&lt;/a&gt;.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Install borgbackup on the host
sudo apt update &amp;amp;&amp;amp; sudo apt install borgbackup

# In any shell where you use borg, you must first export this variable
# If you are using the default backup location /mnt/backup/borg
export BORG_REPO=&#39;/mnt/backup/borg&#39;
# or if you are using a remote repository
export BORG_REPO=&#39;user@host:/path/to/repo&#39;

# Mount the archives to /tmp/borg
sudo mkdir -p /tmp/borg &amp;amp;&amp;amp; sudo borg mount &quot;$BORG_REPO&quot; /tmp/borg

# After entering your repository key successfully, you should be able to access all archives in /tmp/borg
# You can now do whatever you want by syncing them to a different place using rsync or doing other things
# E.g. you can open the file manager on that location by running:
xhost +si:localuser:root &amp;amp;&amp;amp; sudo nautilus /tmp/borg

# When you are done, simply close the file manager and run the following command to unmount the backup archives:
sudo umount /tmp/borg
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Delete backup archives manually&lt;/h3&gt; 
&lt;p&gt;You can delete BorgBackup archives on your host manually by following these steps:&lt;br /&gt; (instructions for Debian based OS&#39; like Ubuntu)&lt;/p&gt; 
&lt;p&gt;Alternatively, there is now a community container that allows to access your backups in a web session: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/borgbackup-viewer&lt;/a&gt;.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Install borgbackup on the host
sudo apt update &amp;amp;&amp;amp; sudo apt install borgbackup

# In any shell where you use borg, you must first export this variable
# If you are using the default backup location /mnt/backup/borg
export BORG_REPO=&#39;/mnt/backup/borg&#39;
# or if you are using a remote repository
export BORG_REPO=&#39;user@host:/path/to/repo&#39;

# List all archives (if you are using the default backup location /mnt/backup/borg)
sudo borg list

# After entering your repository key successfully, you should now see a list of all backup archives
# An example backup archive might be called 20220223_174237-nextcloud-aio
# Then you can simply delete the archive with:
sudo borg delete --stats --progress &quot;::20220223_174237-nextcloud-aio&quot;

# If borg 1.2.0 or higher is installed, you then need to run borg compact in order to clean up the freed space
sudo borg --version
# If version number of the command above is higher than 1.2.0 you need to run the command below:
sudo borg compact

&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;After doing so, make sure to update the backup archives list in the AIO interface!&lt;br /&gt; You can do so by clicking on the &lt;code&gt;Update backup list&lt;/code&gt; button in the &lt;code&gt;Update backup list&lt;/code&gt; section inside the &lt;code&gt;Backup and restore&lt;/code&gt; section.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h3&gt;Sync local backups regularly to another drive&lt;/h3&gt; 
&lt;p&gt;For increased backup security, you might consider syncing the local backup repository regularly to another drive.&lt;/p&gt; 
&lt;p&gt;To do that, first add the drive to &lt;code&gt;/etc/fstab&lt;/code&gt; so that it is able to get automatically mounted and then create a script that does all the things automatically. Here is an example for such a script:&lt;/p&gt; 
&lt;details&gt; 
 &lt;summary&gt;Click here to expand&lt;/summary&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;#!/bin/bash

# Please modify all variables below to your needings:
SOURCE_DIRECTORY=&quot;/mnt/backup/borg&quot;
DRIVE_MOUNTPOINT=&quot;/mnt/backup-drive&quot;
TARGET_DIRECTORY=&quot;/mnt/backup-drive/borg&quot;

########################################
# Please do NOT modify anything below! #
########################################

if [ &quot;$EUID&quot; -ne 0 ]; then 
    echo &quot;Please run as root&quot;
    exit 1
fi

if ! [ -d &quot;$SOURCE_DIRECTORY&quot; ]; then
    echo &quot;The source directory does not exist.&quot;
    exit 1
fi

if [ -z &quot;$(ls -A &quot;$SOURCE_DIRECTORY/&quot;)&quot; ]; then
    echo &quot;The source directory is empty which is not allowed.&quot;
    exit 1
fi

if ! [ -d &quot;$DRIVE_MOUNTPOINT&quot; ]; then
    echo &quot;The drive mountpoint must be an existing directory&quot;
    exit 1
fi

if ! grep -q &quot;$DRIVE_MOUNTPOINT&quot; /etc/fstab; then
    echo &quot;Could not find the drive mountpoint in the fstab file. Did you add it there?&quot;
    exit 1
fi

if ! mountpoint -q &quot;$DRIVE_MOUNTPOINT&quot;; then
    mount &quot;$DRIVE_MOUNTPOINT&quot;
    if ! mountpoint -q &quot;$DRIVE_MOUNTPOINT&quot;; then
        echo &quot;Could not mount the drive. Is it connected?&quot;
        exit 1
    fi
fi

if [ -f &quot;$SOURCE_DIRECTORY/lock.roster&quot; ]; then
    echo &quot;Cannot run the script as the backup archive is currently changed. Please try again later.&quot;
    exit 1
fi

mkdir -p &quot;$TARGET_DIRECTORY&quot;
if ! [ -d &quot;$TARGET_DIRECTORY&quot; ]; then
    echo &quot;Could not create target directory&quot;
    exit 1
fi

if [ -f &quot;$SOURCE_DIRECTORY/aio-lockfile&quot; ]; then
    echo &quot;Not continuing because aio-lockfile already exists.&quot;
    exit 1
fi

touch &quot;$SOURCE_DIRECTORY/aio-lockfile&quot;

if ! rsync --stats --archive --human-readable --delete &quot;$SOURCE_DIRECTORY/&quot; &quot;$TARGET_DIRECTORY&quot;; then
    echo &quot;Failed to sync the backup repository to the target directory.&quot;
    exit 1
fi

rm &quot;$SOURCE_DIRECTORY/aio-lockfile&quot;
rm &quot;$TARGET_DIRECTORY/aio-lockfile&quot;

umount &quot;$DRIVE_MOUNTPOINT&quot;

if docker ps --format &quot;{{.Names}}&quot; | grep &quot;^nextcloud-aio-nextcloud$&quot;; then
    docker exec nextcloud-aio-nextcloud bash /notify.sh &quot;Rsync backup successful!&quot; &quot;Synced the backup repository successfully.&quot;
else
    echo &quot;Synced the backup repository successfully.&quot;
fi

&lt;/code&gt;&lt;/pre&gt; 
&lt;/details&gt; 
&lt;p&gt;You can simply copy and paste the script into a file e.g. named &lt;code&gt;backup-script.sh&lt;/code&gt; e.g. here: &lt;code&gt;/root/backup-script.sh&lt;/code&gt;. Do not forget to modify the variables to your requirements!&lt;/p&gt; 
&lt;p&gt;Afterwards apply the correct permissions with &lt;code&gt;sudo chown root:root /root/backup-script.sh&lt;/code&gt; and &lt;code&gt;sudo chmod 700 /root/backup-script.sh&lt;/code&gt;. Then you can create a cronjob that runs e.g. at &lt;code&gt;20:00&lt;/code&gt; each week on Sundays like this:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Open the cronjob with &lt;code&gt;sudo crontab -u root -e&lt;/code&gt; (and choose your editor of choice if not already done. I&#39;d recommend nano).&lt;/li&gt; 
 &lt;li&gt;Add the following new line to the crontab if not already present: &lt;code&gt;0 20 * * 7 /root/backup-script.sh&lt;/code&gt; which will run the script at 20:00 on Sundays each week.&lt;/li&gt; 
 &lt;li&gt;save and close the crontab (when using nano are the shortcuts for this &lt;code&gt;Ctrl + o&lt;/code&gt; -&amp;gt; &lt;code&gt;Enter&lt;/code&gt; and close the editor with &lt;code&gt;Ctrl + x&lt;/code&gt;).&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;How to exclude Nextcloud&#39;s data directory or the preview folder from backup?&lt;/h3&gt; 
&lt;p&gt;In order to speed up the backups and to keep the backup archives small, you might want to exclude Nextcloud&#39;s data directory or its preview folder from backup.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-warning&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-alert mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Warning&lt;/p&gt;
 &lt;p&gt;However please note that you will run into problems if the database and the data directory or preview folder get out of sync. &lt;strong&gt;So please only read further, if you have an additional external backup of the data directory!&lt;/strong&gt; See &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-enable-automatic-updates-without-creating-a-backup-beforehand&quot;&gt;this guide&lt;/a&gt; for example.&lt;/p&gt; 
&lt;/div&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-tip&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-light-bulb mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Tip&lt;/p&gt;
 &lt;p&gt;A better option is to use the external storage app inside Nextcloud as the data connected via the external storage app is not backed up by AIO&#39;s backup solution. See &lt;a href=&quot;https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/external_storage_configuration_gui.html&quot;&gt;this documentation&lt;/a&gt; on how to configure the app.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;If you still want to proceed, you can exclude the data directory by simply creating a &lt;code&gt;.noaiobackup&lt;/code&gt; file in the root directory of the specified &lt;code&gt;NEXTCLOUD_DATADIR&lt;/code&gt; target. The same logic is implemented for the preview folder that is located inside the data directory, inside the &lt;code&gt;appdata_*/preview&lt;/code&gt; folder. So simply create a &lt;code&gt;.noaiobackup&lt;/code&gt; file in there if you want to exclude the preview folder.&lt;/p&gt; 
&lt;p&gt;After doing a restore via the AIO interface, you might run into problems due to the data directory and database being out of sync. You might be able to fix this by running &lt;code&gt;occ files:scan --all&lt;/code&gt; and &lt;code&gt;occ maintenance:repair&lt;/code&gt; and &lt;code&gt;occ files:scan-app-data&lt;/code&gt;. See &lt;a href=&quot;https://github.com/nextcloud/all-in-one#how-to-run-occ-commands&quot;&gt;https://github.com/nextcloud/all-in-one#how-to-run-occ-commands&lt;/a&gt;. If only the preview folder is excluded, the command &lt;code&gt;occ files:scan-app-data preview&lt;/code&gt; should be used.&lt;/p&gt; 
&lt;h3&gt;How to stop/start/update containers or trigger the daily backup from a script externally?&lt;/h3&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-warning&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-alert mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Warning&lt;/p&gt;
 &lt;p&gt;The below script will only work after the initial setup of AIO. So you will always need to first visit the AIO interface, type in your domain and start the containers the first time or restore an older AIO instance from its borg backup before you can use the script.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;You can do so by running the &lt;code&gt;/daily-backup.sh&lt;/code&gt; script that is stored in the mastercontainer. It accepts the following environment variables:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;AUTOMATIC_UPDATES&lt;/code&gt; if set to &lt;code&gt;1&lt;/code&gt;, it will automatically stop the containers, update them and start them including the mastercontainer. If the mastercontainer gets updated, this script&#39;s execution will stop as soon as the mastercontainer gets stopped. You can then wait until it is started again and run the script with this flag again in order to update all containers correctly afterwards.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;DAILY_BACKUP&lt;/code&gt; if set to &lt;code&gt;1&lt;/code&gt;, it will automatically stop the containers and create a backup. If you want to start them again afterwards, you may have a look at the &lt;code&gt;START_CONTAINERS&lt;/code&gt; option.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;STOP_CONTAINERS&lt;/code&gt; if set to &lt;code&gt;1&lt;/code&gt;, it will automatically stop the containers at the start of the script. Implied by &lt;code&gt;DAILY_BACKUP=1&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;START_CONTAINERS&lt;/code&gt; if set to &lt;code&gt;1&lt;/code&gt;, it will automatically start the containers at the end of the script, without updating them. Implied by &lt;code&gt;AUTOMATIC_UPDATES=1&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;CHECK_BACKUP&lt;/code&gt; if set to &lt;code&gt;1&lt;/code&gt;, it will start the integrity check of all borg backups made by AIO. Note that the backup check is non blocking so containers can be kept running while the check lasts. That means you can&#39;t pass &lt;code&gt;DAILY_BACKUP=1&lt;/code&gt; at the same time. The output of the check can be found in the logs of the container &lt;code&gt;nextcloud-aio-borgbackup&lt;/code&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;One example to do a backup would be &lt;code&gt;sudo docker exec -it --env DAILY_BACKUP=1 nextcloud-aio-mastercontainer /daily-backup.sh&lt;/code&gt;, which you can run via a cronjob or put it in a script.&lt;/p&gt; 
&lt;p&gt;Likewise to do a backup check would be &lt;code&gt;sudo docker exec --env DAILY_BACKUP=0 --env CHECK_BACKUP=1 --env STOP_CONTAINERS=0 nextcloud-aio-mastercontainer /daily-backup.sh&lt;/code&gt;.&lt;/p&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;None of the option returns error codes. So you need to check for the correct result yourself.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h3&gt;How to disable the backup section?&lt;/h3&gt; 
&lt;p&gt;If you already have a backup solution in place, you may want to hide the backup section. You can do so by adding &lt;code&gt;--env AIO_DISABLE_BACKUP_SECTION=true&lt;/code&gt; to the docker run command of the mastercontainer (but before the last line &lt;code&gt;ghcr.io/nextcloud-releases/all-in-one:latest&lt;/code&gt;! If it was started already, you will need to stop the mastercontainer, remove it (no data will be lost) and recreate it using the docker run command that you initially used).&lt;/p&gt; 
&lt;h2&gt;Addons&lt;/h2&gt; 
&lt;h3&gt;Fail2ban&lt;/h3&gt; 
&lt;p&gt;You can configure your server to block certain ip-addresses using fail2ban as bruteforce protection. Here is how to set it up: &lt;a href=&quot;https://docs.nextcloud.com/server/stable/admin_manual/installation/harden_server.html#setup-fail2ban&quot;&gt;https://docs.nextcloud.com/server/stable/admin_manual/installation/harden_server.html#setup-fail2ban&lt;/a&gt;. The logpath of AIO is by default &lt;code&gt;/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/data/nextcloud.log&lt;/code&gt;. Do not forget to add &lt;code&gt;chain=DOCKER-USER&lt;/code&gt; to your nextcloud jail config (&lt;code&gt;nextcloud.local&lt;/code&gt;) otherwise the nextcloud service running on docker will still be accessible even if the IP is banned. Also, you may change the blocked ports to cover all AIO ports: by default &lt;code&gt;80,443,8080,8443,3478&lt;/code&gt; (see &lt;a href=&quot;https://github.com/nextcloud/all-in-one#explanation-of-used-ports&quot;&gt;this&lt;/a&gt;). Apart from that there is now a community container that can be added to the AIO stack: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/fail2ban&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;LDAP&lt;/h3&gt; 
&lt;p&gt;It is possible to connect to an existing LDAP server. You need to make sure that the LDAP server is reachable from the Nextcloud container. Then you can enable the LDAP app and configure LDAP in Nextcloud manually. If you don&#39;t have a LDAP server yet, recommended is to use this docker container: &lt;a href=&quot;https://hub.docker.com/r/nitnelave/lldap&quot;&gt;https://hub.docker.com/r/nitnelave/lldap&lt;/a&gt;. Make sure here as well that Nextcloud can talk to the LDAP server. The easiest way is by adding the LDAP docker container to the docker network &lt;code&gt;nextcloud-aio&lt;/code&gt;. Then you can connect to the LDAP container by its name from the Nextcloud container. There is now a community container which allows to easily add LLDAP to AIO: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/lldap&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;Netdata&lt;/h3&gt; 
&lt;p&gt;Netdata allows you to monitor your server using a GUI. You can install it by following &lt;a href=&quot;https://learn.netdata.cloud/docs/agent/packaging/docker#create-a-new-netdata-agent-container&quot;&gt;https://learn.netdata.cloud/docs/agent/packaging/docker#create-a-new-netdata-agent-container&lt;/a&gt;. Apart from that there is now a way for the community to add containers: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/discussions/392#discussioncomment-7133563&quot;&gt;https://github.com/nextcloud/all-in-one/discussions/392#discussioncomment-7133563&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;USER_SQL&lt;/h3&gt; 
&lt;p&gt;If you want to use the user_sql app, the easiest way is to create an additional database container and add it to the docker network &lt;code&gt;nextcloud-aio&lt;/code&gt;. Then the Nextcloud container should be able to talk to the database container using its name.&lt;/p&gt; 
&lt;h3&gt;phpMyAdmin, Adminer or pgAdmin&lt;/h3&gt; 
&lt;p&gt;It is possible to install any of these to get a GUI for your AIO database. The pgAdmin container is recommended. You can get some docs on it here: &lt;a href=&quot;https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html&quot;&gt;https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html&lt;/a&gt;. For the container to connect to the aio-database, you need to connect the container to the docker network &lt;code&gt;nextcloud-aio&lt;/code&gt; and use &lt;code&gt;nextcloud-aio-database&lt;/code&gt; as database host, &lt;code&gt;oc_nextcloud&lt;/code&gt; as database username and the password that you get when running &lt;code&gt;sudo docker exec nextcloud-aio-nextcloud grep dbpassword config/config.php&lt;/code&gt; as the password. Apart from that there is now a dedicated Nextcloud app: &lt;a href=&quot;https://github.com/nextcloud/dbdoctor&quot;&gt;https://github.com/nextcloud/dbdoctor&lt;/a&gt;. &lt;strong&gt;Please note:&lt;/strong&gt; If you do not have CLI access to the server, you can now run docker commands via a web session by using this community container: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/container-management&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;Mail server&lt;/h3&gt; 
&lt;p&gt;You can configure one yourself by using either of these four recommended projects: &lt;a href=&quot;https://github.com/docker-mailserver/docker-mailserver/#docker-mailserver&quot;&gt;Docker Mailserver&lt;/a&gt;, &lt;a href=&quot;https://github.com/Mailu/Mailu&quot;&gt;Mailu&lt;/a&gt;, &lt;a href=&quot;https://github.com/foxcpp/maddy#maddy-mail-server&quot;&gt;Maddy Mail Server&lt;/a&gt;, &lt;a href=&quot;https://github.com/mailcow/mailcow-dockerized#mailcow-dockerized-------&quot;&gt;Mailcow&lt;/a&gt; or &lt;a href=&quot;https://stalw.art/&quot;&gt;Stalwart&lt;/a&gt;. There is now a community container which allows to easily add Stalwart Mail server to AIO: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers/stalwart&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Miscellaneous&lt;/h2&gt; 
&lt;h3&gt;Requirements for integrating new containers&lt;/h3&gt; 
&lt;p&gt;For integrating new containers, they must pass specific requirements for being considered to get integrated in AIO itself. Even if not considered, we may add some documentation on it. Also there is this now: &lt;a href=&quot;https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers&quot;&gt;https://github.com/nextcloud/all-in-one/tree/main/community-containers#community-containers&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;What are the requirements?&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;New containers must be related to Nextcloud. Related means that there must be a feature in Nextcloud that gets added by adding this container.&lt;/li&gt; 
 &lt;li&gt;It must be optionally installable. Disabling and enabling the container from the AIO interface must work and must not produce any unexpected side-effects.&lt;/li&gt; 
 &lt;li&gt;The feature that gets added into Nextcloud by adding the container must be maintained by the Nextcloud GmbH.&lt;/li&gt; 
 &lt;li&gt;It must be possible to run the container without big quirks inside docker containers. Big quirks means e.g. needing to change the capabilities or security options.&lt;/li&gt; 
 &lt;li&gt;The container should not mount directories from the host into the container: only docker volumes should be used.&lt;/li&gt; 
 &lt;li&gt;The container must be usable by more than 90% of the users (e.g. not too high system requirements and such)&lt;/li&gt; 
 &lt;li&gt;No additional setup should be needed after adding the container - it should work completely out of the box.&lt;/li&gt; 
 &lt;li&gt;If the container requires being exposed, only subfolders are supported. So the container should not require its own (sub-)domain and must be able to run in a subfolder.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;AIO release policy&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;We release new versions of this project under the rules of &lt;a href=&quot;https://semver.org/&quot;&gt;Semantic Versioning&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;A new beta version shall be released roughly every two weeks. In urgent cases it might happen in quicker succession.&lt;/li&gt; 
 &lt;li&gt;Each beta release gets roughly 7 days to be tested. If during that time no issues arise, the version is promoted to a final release.&lt;/li&gt; 
 &lt;li&gt;If issues in a beta release are found they are treated with higher priority, and fixes for those issues are published in a new beta release with increased version number. For the former beta release version number no final release gets published. (We don&#39;t do multiple beta releases, or release candidates, for a version number.)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Nextcloud update policy&lt;/h3&gt; 
&lt;p&gt;This project values stability over new features. That means that when a new major Nextcloud update gets introduced, we will wait at least until the first patch release, e.g. &lt;code&gt;24.0.1&lt;/code&gt; is out before upgrading to it. Also we will wait with the upgrade until all important apps are compatible with the new major version. Minor or patch releases for Nextcloud and all dependencies as well as all containers will be updated to new versions as soon as possible but we try to give all updates first a good test round before pushing them. That means that it can take around 2 weeks before new updates reach the &lt;code&gt;latest&lt;/code&gt; channel. If you want to help testing, you can switch to the &lt;code&gt;beta&lt;/code&gt; channel by following &lt;a href=&quot;https://raw.githubusercontent.com/nextcloud/all-in-one/main/#how-to-switch-the-channel&quot;&gt;this documentation&lt;/a&gt; which will also give you the updates earlier.&lt;/p&gt; 
&lt;h3&gt;How often are update notifications sent?&lt;/h3&gt; 
&lt;p&gt;AIO ships its own update notifications implementation. It checks if container updates are available. If so, it sends a notification with the title &lt;code&gt;Container updates available!&lt;/code&gt; on saturdays to Nextcloud users that are part of the &lt;code&gt;admin&lt;/code&gt; group. If the Nextcloud container image should be older than 90 days (~3 months) and thus badly outdated, AIO sends a notification to all Nextcloud users with the title &lt;code&gt;AIO is outdated!&lt;/code&gt;. Thus admins should make sure to update the container images at least once every 3 months in order to make sure that the instance gets all security bugfixes as soon as possible.&lt;/p&gt; 
&lt;h3&gt;Huge docker logs&lt;/h3&gt; 
&lt;p&gt;If you should run into issues with huge docker logs, you can adjust the log size by following &lt;a href=&quot;https://docs.docker.com/config/containers/logging/local/#usage&quot;&gt;https://docs.docker.com/config/containers/logging/local/#usage&lt;/a&gt;. You can additionally reduce the verbosity of the included AIO containers by setting &lt;code&gt;AIO_LOG_LEVEL=error&lt;/code&gt; on the mastercontainer. By default, AIO keeps the existing component-specific log defaults, so this should usually not be needed.&lt;/p&gt; 
&lt;details&gt; 
 &lt;summary&gt;Badges&lt;/summary&gt; 
 &lt;p&gt;&lt;a href=&quot;https://deepwiki.com/nextcloud/all-in-one&quot;&gt;&lt;img src=&quot;https://deepwiki.com/badge.svg?sanitize=true&quot; alt=&quot;Ask DeepWiki&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;/details&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/f42be6387c31a91699d11481cc7f4c5caf283694f4df251ab2e18737b5f08c4c/nextcloud/all-in-one" medium="image" />
      
    </item>
    
    <item>
      <title>PrestaShop/PrestaShop</title>
      <link>https://github.com/PrestaShop/PrestaShop</link>
      <description>&lt;p&gt;PrestaShop is the universal open-source software platform to build your e-commerce solution.&lt;/p&gt;&lt;hr&gt;&lt;h2&gt;About PrestaShop&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/PrestaShop/PrestaShop/actions/workflows/php.yml&quot;&gt;&lt;img src=&quot;https://github.com/PrestaShop/PrestaShop/actions/workflows/php.yml/badge.svg?sanitize=true&quot; alt=&quot;PHP checks and unit tests&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/PrestaShop/PrestaShop/actions/workflows/integration.yml&quot;&gt;&lt;img src=&quot;https://github.com/PrestaShop/PrestaShop/actions/workflows/integration.yml/badge.svg?sanitize=true&quot; alt=&quot;Integration tests&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/PrestaShop/PrestaShop/actions/workflows/sanity.yml&quot;&gt;&lt;img src=&quot;https://github.com/PrestaShop/PrestaShop/actions/workflows/sanity.yml/badge.svg?sanitize=true&quot; alt=&quot;UI tests&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://nightly.prestashop-project.org/&quot;&gt;&lt;img src=&quot;https://img.shields.io/endpoint?url=https%3A%2F%2Fapi-nightly.prestashop-project.org%2Fdata%2Fbadge&amp;amp;label=Nightly%20Status&amp;amp;cacheSeconds=3600&quot; alt=&quot;Nightly Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://php.net/&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/php-%3E%3D%208.1-8892BF.svg?style=flat-square&quot; alt=&quot;Minimum PHP Version&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/PrestaShop/PrestaShop&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/release/prestashop/prestashop?sort=semver&quot; alt=&quot;GitHub release&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://insights.linuxfoundation.org/project/prestashop&quot;&gt;&lt;img src=&quot;https://insights.linuxfoundation.org/api/badge/health-score?project=prestashop&quot; alt=&quot;LFX Health Score&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.prestashop-project.org/slack/&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Chat-on%20Slack-red&quot; alt=&quot;Slack chat&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/PrestaShop/PrestaShop/network&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/forks/PrestaShop/PrestaShop&quot; alt=&quot;GitHub forks&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/PrestaShop/PrestaShop/stargazers&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/stars/PrestaShop/PrestaShop&quot; alt=&quot;GitHub stars&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;PrestaShop is an Open Source e-commerce web application, committed to providing the best shopping cart experience for both merchants and customers. It is written in PHP, is highly customizable, supports all the major payment services, is translated in many languages and localized for many countries, has a fully responsive design (both front and back office), etc. &lt;a href=&quot;https://prestashop.com/create-online-store/&quot;&gt;See all the available features&lt;/a&gt;.&lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;https://github.com/user-attachments/assets/e6342778-e528-4ae7-acf2-f0d097a1e932&quot; alt=&quot;PrestaShop 9.0 back office&quot; /&gt; &lt;/p&gt; 
&lt;p&gt;This repository contains the source code of PrestaShop, which is intended for development and preview only. To download the latest stable public version of PrestaShop (currently, version 9.0), please go to &lt;a href=&quot;https://www.prestashop-project.org/releases/prestashop90/&quot;&gt;the releases page&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;The first stable version of PrestaShop 9.0 was released on June 10th, 2025. Learn more about it on &lt;a href=&quot;https://build.prestashop-project.org/tag/9.0/&quot;&gt;the Build devblog&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;About the &lt;code&gt;develop&lt;/code&gt; branch&lt;/h2&gt; 
&lt;p&gt;The &lt;code&gt;develop&lt;/code&gt; branch of this repository contains the work in progress source code for the next version of PrestaShop. Currently, it is exclusively for version 9.1.&lt;/p&gt; 
&lt;p&gt;For more information on our branch system, read our guide on &lt;a href=&quot;https://devdocs.prestashop-project.org/9/basics/installation/&quot;&gt;installing PrestaShop for development&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Server configuration&lt;/h2&gt; 
&lt;p&gt;To install the latest PrestaShop 9.0, you need a web server running PHP 8.1+ and any flavor of MySQL 5.6+ (MySQL, MariaDB, Percona Server, etc.).&lt;/p&gt; 
&lt;p&gt;You will also need a database administration tool, such as phpMyAdmin, in order to create a database for PrestaShop. We recommend the Apache or Nginx web servers (check out our &lt;a href=&quot;https://devdocs.prestashop-project.org/9/basics/installation/nginx/&quot;&gt;example Nginx configuration file&lt;/a&gt;).&lt;/p&gt; 
&lt;p&gt;You can find more information on our &lt;a href=&quot;https://devdocs.prestashop-project.org/9/basics/installation/system-requirements/&quot;&gt;System requirements&lt;/a&gt; page and on the &lt;a href=&quot;https://docs.prestashop-project.org/1-6-documentation/english-documentation/system-administrator-guide&quot;&gt;System Administrator Guide&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;p&gt;If you downloaded the source code from GitHub, read our guide on &lt;a href=&quot;https://devdocs.prestashop-project.org/9/basics/installation/&quot;&gt;installing PrestaShop for development&lt;/a&gt;. If you intend to install a production shop, make sure to download the latest version from &lt;a href=&quot;https://www.prestashop-project.org/releases/prestashop90/&quot;&gt;our releases page&lt;/a&gt;, then read the &lt;a href=&quot;https://docs.prestashop-project.org/v.8-documentation/v/english/getting-started/installing-prestashop&quot;&gt;install guide for users&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;🐳 Docker Development Environment&lt;/h2&gt; 
&lt;p&gt;PrestaShop provides a complete Docker-based development environment.&lt;/p&gt; 
&lt;h3&gt;Quick Start&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Start the development environment
make docker-start

# Access your PrestaShop installation
# Frontend: http://localhost:8001
# Backend: http://localhost:8001/admin-dev
# Email testing: http://localhost:1080
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Default Admin Credentials:&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Email: &lt;code&gt;demo@prestashop.com&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Password: &lt;code&gt;Pr3st4Sh0P&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Or the backoffice on this URL: &lt;a href=&quot;http://localhost:8001/admin-dev&quot;&gt;http://localhost:8001/admin-dev&lt;/a&gt; (default access credentials: &lt;a href=&quot;mailto:demo@prestashop.com&quot;&gt;demo@prestashop.com&lt;/a&gt; / Pr3st4Sh0P)&lt;/p&gt; 
&lt;p&gt;You can customize the admin credentials by setting the following environment variables before running docker compose:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;export ADMIN_MAIL=your-email@example.com
export ADMIN_PASSWD=Your-Secure-Password
docker compose up
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Docker will bind your port &lt;strong&gt;8001&lt;/strong&gt; to the web server. If you want to use other port, open and modify the file &lt;code&gt;docker-compose.yml&lt;/code&gt;. MySQL credentials can also be found and modified in this file if needed.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Before auto-installing PrestaShop, this container checks the file &lt;em&gt;app/config/parameters.php&lt;/em&gt; does not exist on startup. If you expect the container to (re)install your shop, remove this file if it exists. And make sure the container user &lt;code&gt;www-data&lt;/code&gt; has write access to the whole workspace.&lt;/p&gt; 
&lt;h3&gt;Documentation&lt;/h3&gt; 
&lt;p&gt;For detailed information, see:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://raw.githubusercontent.com/PrestaShop/PrestaShop/develop/docs/DEVELOPMENT.md&quot;&gt;🚀 Development Guide&lt;/a&gt;&lt;/strong&gt; - Complete setup and development guide&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;p&gt;For technical information (core, module and theme development, performance...), head on to &lt;a href=&quot;https://devdocs.prestashop-project.org/&quot;&gt;PrestaShop DevDocs&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;If you want to learn how to use PrestaShop 9, read our &lt;a href=&quot;https://docs.prestashop-project.org&quot;&gt;User documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;First-time users will be particularly interested in the following guides:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.prestashop-project.org/v.8-documentation/v/english/getting-started&quot;&gt;Getting Started&lt;/a&gt;: How to install PrestaShop, and what you need to know.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.prestashop-project.org/v.8-documentation/v/english/user-guide&quot;&gt;User Guide&lt;/a&gt;: All there is to know to put PrestaShop to good use.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.prestashop-project.org/1-6-documentation/english-documentation/updating-prestashop&quot;&gt;Updating Guide&lt;/a&gt;: Switching to the newest version is not trivial. Make sure you do it right.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.prestashop-project.org/1-6-documentation/english-documentation/merchants-guide&quot;&gt;Merchant&#39;s Guide&lt;/a&gt;: Tips and tricks for first-time online sellers.&lt;/li&gt; 
 &lt;li&gt;The &lt;a href=&quot;https://devdocs.prestashop-project.org/9/faq/&quot;&gt;FAQ&lt;/a&gt; page should also be of tremendous help to you.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;PrestaShop is an Open Source project, and it wouldn&#39;t be possible without the help of the &lt;a href=&quot;https://raw.githubusercontent.com/PrestaShop/PrestaShop/develop/CONTRIBUTORS.md&quot;&gt;hundreds of contributors&lt;/a&gt;, who submitted improvements and bugfixes over the years. Thank you all!&lt;/p&gt; 
&lt;p&gt;If you want to contribute code to PrestaShop, read the &lt;a href=&quot;https://raw.githubusercontent.com/PrestaShop/PrestaShop/develop/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; file in this repository or read the &lt;a href=&quot;https://devdocs.prestashop-project.org/9/contribute/&quot;&gt;tutorials about contribution&lt;/a&gt; on the documentation site.&lt;/p&gt; 
&lt;p&gt;Don&#39;t know where to start? Check the &lt;a href=&quot;https://github.com/PrestaShop/PrestaShop/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22&quot;&gt;good first issue&lt;/a&gt; label to have a look at all beginner-friendly improvements and bug fixes.&lt;/p&gt; 
&lt;p&gt;If you want to help translate PrestaShop in your language, &lt;a href=&quot;https://crowdin.net/project/prestashop-official&quot;&gt;join us on Crowdin&lt;/a&gt;!&lt;/p&gt; 
&lt;p&gt;If using AI tools to write code, make sure your agent has read the &lt;a href=&quot;https://raw.githubusercontent.com/PrestaShop/PrestaShop/develop/.ai/CONTEXT.md&quot;&gt;.ai/CONTEXT.md&lt;/a&gt; file. You can find more details in our dev doc regarding &lt;a href=&quot;https://devdocs.prestashop-project.org/9/development/ai-assisted-development/&quot;&gt;AI assisted development&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Reporting Issues&lt;/h2&gt; 
&lt;p&gt;Our bugtracker is on GitHub. We encourage you to &lt;a href=&quot;https://github.com/PrestaShop/PrestaShop/issues/new/choose&quot;&gt;create detailed issues&lt;/a&gt; as soon as you see them.&lt;/p&gt; 
&lt;p&gt;Read our &lt;a href=&quot;https://devdocs.prestashop-project.org/9/contribute/contribute-reporting-issues/&quot;&gt;Contribute by reporting issues guide&lt;/a&gt; for details and tips.&lt;/p&gt; 
&lt;h2&gt;Reporting Security Issues&lt;/h2&gt; 
&lt;p&gt;Responsible (and private) disclosure is a standard practice when someone encounters a security problem: before making it public, the discoverer informs the Core team about it, so that a fix can be prepared, and thus minimize the potential damage.&lt;/p&gt; 
&lt;p&gt;The PrestaShop team tries to be very proactive when preventing security problems. Even so, critical issues might surface without notice.&lt;/p&gt; 
&lt;p&gt;This is why we have set up a &lt;a href=&quot;https://www.prestashop-project.org/security/bug-bounty/&quot;&gt;Bug Bounty Program&lt;/a&gt; where anyone can privately contact us with all the details about issues that affect the security of PrestaShop merchants or customers. Our security team will answer you, and discuss of a timeframe for your publication of the details.&lt;/p&gt; 
&lt;p&gt;Understanding a security issue means knowing how the attacker got in and hacked the site. If you have those details, then please do contact us privately about it (and please do not publish those details before we answer). If you do not know how the attacker got in, please &lt;a href=&quot;https://www.prestashop-project.org/support/&quot;&gt;ask for help&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Extending PrestaShop&lt;/h2&gt; 
&lt;p&gt;PrestaShop is a very extensible e-commerce platform, both through modules and themes. Developers can even override the default components and behaviors. Learn more about this on the &lt;a href=&quot;https://devdocs.prestashop-project.org/9/modules/&quot;&gt;Modules documentation&lt;/a&gt; and the &lt;a href=&quot;https://devdocs.prestashop-project.org/9/themes/&quot;&gt;Themes documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Community forums&lt;/h2&gt; 
&lt;p&gt;You can discuss about e-commerce, help other merchants and get help, and contribute to improving PrestaShop together with the PrestaShop community on &lt;a href=&quot;https://www.prestashop-project.org/slack/&quot;&gt;PrestaShop Slack channel&lt;/a&gt;, &lt;a href=&quot;https://github.com/PrestaShop/PrestaShop/discussions&quot;&gt;project&#39;s discussions on GitHub&lt;/a&gt; or on the &lt;a href=&quot;https://www.prestashop.com/forums/&quot;&gt;the PrestaShop forums&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Thank you for downloading and using the PrestaShop Open Source e-commerce solution!&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/6763587/f2b5b333-560e-47e7-be29-788d1f25c537" medium="image" />
      
    </item>
    
    <item>
      <title>vrana/adminer</title>
      <link>https://github.com/vrana/adminer</link>
      <description>&lt;p&gt;Database management in a single PHP file&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Adminer&lt;/h1&gt; 
&lt;p&gt;&lt;strong&gt;Adminer&lt;/strong&gt; is a full-featured database management tool written in PHP. It consists of a single file ready to deploy to the target server. &lt;strong&gt;Adminer Editor&lt;/strong&gt; offers data manipulation for end-users.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.adminer.org/&quot;&gt;Official Website&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Supports:&lt;/strong&gt; MySQL, MariaDB, PostgreSQL, CockroachDB, SQLite, MS SQL, Oracle&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Plugins for:&lt;/strong&gt; Elasticsearch, SimpleDB, MongoDB, Redis, Firebird, ClickHouse, IGDB, IMAP&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Requirements:&lt;/strong&gt; PHP 5.3+ (compiled file), PHP 7.4+ (source codes)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Browsers:&lt;/strong&gt; Any, with full functionality in browsers since April 2018 (requires JavaScript)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Screenshot&lt;/h2&gt; 
&lt;p&gt;&lt;img src=&quot;https://www.adminer.org/static/screenshots/table.png&quot; alt=&quot;Table structure&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;p&gt;If downloaded from Git then run: &lt;code&gt;git submodule update --init&lt;/code&gt; (or &lt;code&gt;composer install&lt;/code&gt;)&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;adminer/index.php&lt;/code&gt; - Run development version of Adminer&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;editor/index.php&lt;/code&gt; - Run development version of Adminer Editor&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;editor/example.php&lt;/code&gt; - Example customization&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;compile.php&lt;/code&gt; - Create a single file version&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;lang.php&lt;/code&gt; - Update translations&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;tests/*.spec.js&lt;/code&gt; - Playwright end-to-end tests&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Plugins&lt;/h2&gt; 
&lt;p&gt;There are several plugins distributed with Adminer, as well as many user-contributed plugins listed on the &lt;a href=&quot;https://www.adminer.org/plugins/&quot;&gt;Adminer Plugins page&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/627735/781b5938-fe17-49f4-9b50-4eb0915b5f9f" medium="image" />
      
    </item>
    
    <item>
      <title>joomla/joomla-cms</title>
      <link>https://github.com/joomla/joomla-cms</link>
      <description>&lt;p&gt;Home of the Joomla! Content Management System&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Joomla! CMS™&lt;/h1&gt; 
&lt;h2&gt;Build Status&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Actions&lt;/th&gt; 
   &lt;th&gt;PHP&lt;/th&gt; 
   &lt;th&gt;Node&lt;/th&gt; 
   &lt;th&gt;npm&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/joomla/joomla-cms&quot;&gt;&lt;img src=&quot;https://github.com/joomla/joomla-cms/actions/workflows/ci.yml/badge.svg?branch=5.4-dev&quot; alt=&quot;Build Status&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://www.php.net/&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/PHP-V8.1.0-green&quot; alt=&quot;PHP&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://nodejs.org/en/&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Node-V20.0-green&quot; alt=&quot;node-lts&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://nodejs.org/en/&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/npm-v10.1.0-green&quot; alt=&quot;npm&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Overview&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;This is the source of Joomla! 5.x.&lt;/li&gt; 
 &lt;li&gt;Joomla&#39;s &lt;a href=&quot;https://www.joomla.org&quot;&gt;Official website&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Joomla! 5.4 &lt;a href=&quot;https://docs.joomla.org/Special:MyLanguage/Joomla_5.4_version_history&quot;&gt;version history&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Detailed changes are in the &lt;a href=&quot;https://github.com/joomla/joomla-cms/commits/5.4-dev&quot;&gt;changelog&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;What is Joomla?&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.joomla.org/about-joomla.html&quot;&gt;Joomla!&lt;/a&gt; is a &lt;strong&gt;Content Management System&lt;/strong&gt; (CMS) which enables you to build websites and powerful online applications.&lt;/li&gt; 
 &lt;li&gt;It is a simple and powerful web server application which requires a server with PHP and either MySQL, MariaDB or PostgreSQL to run. You can find &lt;a href=&quot;https://downloads.joomla.org/technical-requirements&quot;&gt;full technical requirements here&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Joomla! is &lt;strong&gt;free and Open Source software&lt;/strong&gt; distributed under the GNU General Public License version 2 or later.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Looking for an installable package?&lt;/h2&gt; 
&lt;p&gt;Joomla is not installable out of the box from this repository, please use:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;For the latest stable package: &lt;a href=&quot;https://downloads.joomla.org&quot;&gt;https://downloads.joomla.org&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;For a nightly package: &lt;a href=&quot;https://developer.joomla.org/nightly-builds.html&quot;&gt;https://developer.joomla.org/nightly-builds.html&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;How to get a working installation from the source&lt;/h2&gt; 
&lt;p&gt;For detailed instructions please visit &lt;a href=&quot;https://docs.joomla.org/Special:MyLanguage/J5.x:Setting_Up_Your_Local_Environment&quot;&gt;https://docs.joomla.org/Special:MyLanguage/J5.x:Setting_Up_Your_Local_Environment&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;You will need:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;PHP - basically the same as you need for running a Joomla Site, but you need the cli (command line interface) Version (see &lt;a href=&quot;https://docs.joomla.org/Special:MyLanguage/Configuring_a_LAMPP_server_for_PHP_development&quot;&gt;https://docs.joomla.org/Special:MyLanguage/Configuring_a_LAMPP_server_for_PHP_development&lt;/a&gt;)&lt;/li&gt; 
 &lt;li&gt;Composer - for managing Joomla&#39;s PHP Dependencies. For help installing composer please read the documentation at &lt;a href=&quot;https://getcomposer.org/doc/00-intro.md&quot;&gt;https://getcomposer.org/doc/00-intro.md&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Node.js - for compiling Joomla&#39;s Javascript and SASS files. For help installing Node.js please follow the instructions available on &lt;a href=&quot;https://nodejs.org/en/&quot;&gt;https://nodejs.org/en/&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Git - for version management. Download from here &lt;a href=&quot;https://git-scm.com/downloads&quot;&gt;https://git-scm.com/downloads&lt;/a&gt; (MacOS users can also use Brew and Linux users can use the built-in package manager, eg apt, yum, etc).&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;strong&gt;Steps to setup the local environment:&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Clone the repository:&lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone https://github.com/joomla/joomla-cms.git
&lt;/code&gt;&lt;/pre&gt; 
&lt;ul&gt; 
 &lt;li&gt;Go to the joomla-cms folder:&lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;cd joomla-cms
&lt;/code&gt;&lt;/pre&gt; 
&lt;ul&gt; 
 &lt;li&gt;Go to the 5.4-dev branch:&lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git checkout 5.4-dev
&lt;/code&gt;&lt;/pre&gt; 
&lt;ul&gt; 
 &lt;li&gt;Install all the needed composer packages:&lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;composer install
&lt;/code&gt;&lt;/pre&gt; 
&lt;ul&gt; 
 &lt;li&gt;Install all the needed npm packages:&lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npm ci
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Things to be aware of when pulling:&lt;/strong&gt; Joomla creates a cache of the namespaces of its extensions in &lt;code&gt;JOOMLA_ROOT/administrator/cache/autoload_psr4.php&lt;/code&gt;. If extensions are created, deleted or removed in git then this file needs to be recreated. You can simply delete the file and it will be regenerated on the next call to Joomla.&lt;/p&gt; 
&lt;h2&gt;Do you want to improve Joomla?&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Where to &lt;a href=&quot;https://issues.joomla.org&quot;&gt;request a feature&lt;/a&gt;?&lt;/li&gt; 
 &lt;li&gt;How do you &lt;a href=&quot;https://docs.joomla.org/Special:MyLanguage/Filing_bugs_and_issues&quot;&gt;report a bug&lt;/a&gt; on the &lt;a href=&quot;https://issues.joomla.org&quot;&gt;Issue Tracker&lt;/a&gt;?&lt;/li&gt; 
 &lt;li&gt;How to &lt;a href=&quot;https://manual.joomla.org/docs/get-started/git/&quot;&gt;submit code&lt;/a&gt; to the Joomla CMS using a Pull Request?&lt;/li&gt; 
 &lt;li&gt;Get Involved: Joomla! is community developed software. &lt;a href=&quot;https://volunteers.joomla.org&quot;&gt;Join the community&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Documentation for &lt;a href=&quot;https://manual.joomla.org/&quot;&gt;Developers&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Documentation for &lt;a href=&quot;https://docs.joomla.org/Special:MyLanguage/Web_designers&quot;&gt;Web designers&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Provide a translation for Joomla: &lt;a href=&quot;https://joomla.crowdin.com/cms&quot;&gt;Joomla Crowdin Project&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Which branch should my Pull Request target?&lt;/h2&gt; 
&lt;p&gt;Using a simple classification keeps the project &lt;strong&gt;stable&lt;/strong&gt;, &lt;strong&gt;transparent&lt;/strong&gt;, and &lt;strong&gt;easy&lt;/strong&gt; for everyone to contribute.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Type of change&lt;/th&gt; 
   &lt;th&gt;What it means&lt;/th&gt; 
   &lt;th&gt;Target branch&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Bug / Patch release&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;The change fixes an actual error. The software crashes, produces the wrong result, or behaves contrary to its specification. It can be resolved without large‑scale refactoring or new functionality.&lt;/td&gt; 
   &lt;td&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/joomla/joomla-cms/tree/5.4-dev&quot;&gt;5.4-dev&lt;/a&gt;&lt;/strong&gt; (6.1-dev) &lt;strong&gt;*&lt;/strong&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Feature / Minor release&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;Anything that isn’t a strict bug – new behavior, refactoring, performance improvements, enhancements, UI tweaks, etc. These changes are bundled together for the next minor version.&lt;/td&gt; 
   &lt;td&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/joomla/joomla-cms/tree/6.2-dev&quot;&gt;6.2-dev&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;&lt;strong&gt;*&lt;/strong&gt; All bugs that already exist in version 5.4.x should be fixed in &lt;code&gt;5.4-dev&lt;/code&gt;. Only bugs that are introduced for the first time in version 6.x should target the &lt;a href=&quot;https://github.com/joomla/joomla-cms/tree/6.1-dev&quot;&gt;&lt;code&gt;6.1-dev&lt;/code&gt;&lt;/a&gt; branch.&lt;/p&gt; 
&lt;p&gt;A member of the maintainer or bug squad team confirms the classification and sets the appropriate labels when a PR is opened. If a PR is opened in the wrong branch, a maintainer will simply ask you to retarget it to the proper branch.&lt;/p&gt; 
&lt;h2&gt;Copyright&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;(C) 2005 Open Source Matters, Inc. &lt;a href=&quot;https://www.joomla.org&quot;&gt;https://www.joomla.org&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Distributed under the GNU General Public License version 2 or later&lt;/li&gt; 
 &lt;li&gt;See &lt;a href=&quot;https://docs.joomla.org/Special:MyLanguage/Joomla_Licenses&quot;&gt;License details&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/2464908/bd0b9400-62eb-11e9-854a-4896c7b726a3" medium="image" />
      
    </item>
    
    <item>
      <title>ChurchCRM/CRM</title>
      <link>https://github.com/ChurchCRM/CRM</link>
      <description>&lt;p&gt;ChurchCRM - A free and open-source Church Management Software (ChMS) to help churches manage their membership data, groups, events, and finances.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;ChurchCRM&lt;/h1&gt; 
&lt;h2&gt;🌟 &lt;strong&gt;Welcome to ChurchCRM!&lt;/strong&gt; 🌟&lt;/h2&gt; 
&lt;p&gt;Welcome to ChurchCRM — an open-source church management system. Visit &lt;a href=&quot;https://churchcrm.io&quot;&gt;churchcrm.io&lt;/a&gt; to learn more.&lt;/p&gt; 
&lt;h2&gt;⛪️ About ChurchCRM&lt;/h2&gt; 
&lt;p&gt;ChurchCRM exists to serve the Church — every congregation, in every country, in every language. We believe that God’s people deserve world-class tools without the burden of licensing fees, vendor lock-in, or data ownership concerns. This software is our ministry: open-source, community-built, freely given.&lt;/p&gt; 
&lt;p&gt;Whether you’re a developer, designer, tester, or simply passionate about improving church management, there’s a place for you here!&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ChurchCRM/CRM/master/LICENSE&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/license-MIT-brightgreen.svg?sanitize=true&quot; alt=&quot;Software License&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/ChurchCRM/CRM/releases&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/downloads/ChurchCRM/CRM/total?color=blue&amp;amp;logo=github&quot; alt=&quot;GitHub All Releases&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/ChurchCRM/CRM/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/release/churchcrm/crm?label=Latest%20Release&quot; alt=&quot;Latest Release&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/ChurchCRM/CRM/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/downloads/ChurchCRM/CRM/latest/total?label=latest%20downloads&amp;amp;color=green&quot; alt=&quot;Latest Release Downloads&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;🚀 Get Started&lt;/h2&gt; 
&lt;p&gt;If you&#39;re new to ChurchCRM, start with our &lt;strong&gt;&lt;a href=&quot;https://docs.churchcrm.io/&quot;&gt;Documentation&lt;/a&gt;&lt;/strong&gt;. You&#39;ll find step-by-step installation instructions, configuration notes, and user guides there.&lt;/p&gt; 
&lt;p&gt;Quick start: see the &quot;Quick Start&quot; section in the Documentation for a fast setup.&lt;/p&gt; 
&lt;p&gt;For detailed technical Documentation and developer guides, see our &lt;a href=&quot;https://docs.churchcrm.io/&quot;&gt;Documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;To test the demo, visit our official demo page:&lt;/p&gt; 
&lt;p&gt;-- Demo: &lt;a href=&quot;https://churchcrm.io/demo.html&quot;&gt;Demo site&lt;/a&gt; — NOTE: this is a shared, read-write demo that may be reset regularly and contains only sample data; do not use it for any sensitive or production data.&lt;/p&gt; 
&lt;h2&gt;🌐 Localization Support&lt;/h2&gt; 
&lt;p&gt;One of ChurchCRM&#39;s strengths is its commitment to inclusivity. ChurchCRM proudly supports localization in &lt;strong&gt;40+ locales&lt;/strong&gt;, ensuring accessibility for diverse communities worldwide. Whether you speak English, Spanish, French, or another supported language, you can use ChurchCRM in a familiar way.&lt;/p&gt; 
&lt;p&gt;Join our &lt;a href=&quot;https://poeditor.com/join/project/RABdnDSqAt&quot;&gt;localization team on poeditor.com&lt;/a&gt; to contribute to your language’s support.&lt;/p&gt; 
&lt;p&gt;See the latest translation status and audit report: &lt;a href=&quot;https://raw.githubusercontent.com/ChurchCRM/CRM/master/locale/poeditor-audit.md&quot;&gt;locale/poeditor-audit.md&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;💡 How to Contribute&lt;/h2&gt; 
&lt;p&gt;We welcome contributions from everyone! Whether it&#39;s bug reports, feature requests, or code contributions, your input is invaluable.&lt;/p&gt; 
&lt;p&gt;[See the &lt;a href=&quot;https://raw.githubusercontent.com/ChurchCRM/CRM/master/CONTRIBUTING.md&quot;&gt;contribution guidelines&lt;/a&gt; for how to file issues and submit pull requests.]&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Quick contributions: fork the repository, create a feature branch, run the test suite, and open a pull request; see &lt;a href=&quot;http://CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; for details.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/ChurchCRM/CRM/graphs/contributors&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/contributors/churchcrm/crm.svg?sanitize=true&quot; alt=&quot;GitHub contributors&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.gg/tuWyFzj3Nj&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Discord-ChurchCRM-5865F2?logo=discord&amp;amp;logoColor=white&quot; alt=&quot;Join the chat at Discord&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;📚 Documentation&lt;/h2&gt; 
&lt;p&gt;Our &lt;a href=&quot;https://docs.churchcrm.io&quot;&gt;Documentation&lt;/a&gt; is your go-to resource for understanding ChurchCRM. If you notice anything missing or unclear, feel free to open an issue or submit a pull request.&lt;/p&gt; 
&lt;h2&gt;🤝 Community&lt;/h2&gt; 
&lt;p&gt;Join our &lt;a href=&quot;https://discord.gg/tuWyFzj3Nj&quot;&gt;Discord community&lt;/a&gt; to connect with other users, ask questions, and share your experiences. We believe in the power of a supportive community!&lt;/p&gt; 
&lt;h2&gt;🙏 Thank You&lt;/h2&gt; 
&lt;p&gt;A heartfelt thank you to all our contributors, past and present. Your efforts make ChurchCRM better with every release.&lt;/p&gt; 
&lt;h3&gt;Recent Contribution History&lt;/h3&gt; 
&lt;p&gt;&lt;img src=&quot;https://repobeats.axiom.co/api/embed/923dc0771aee335863075abad3967d24b57f39d2.svg?sanitize=true&quot; alt=&quot;Recent Contribution History&quot; title=&quot;Repobeats analytics image for ChurchCRM&quot; /&gt;&lt;/p&gt; 
&lt;h3&gt;Star History&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://star-history.com/#churchcrm/crm&amp;amp;Date&quot;&gt;&lt;img src=&quot;https://api.star-history.com/svg?repos=churchcrm/crm&amp;amp;type=Date&quot; alt=&quot;Star History Chart&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;🌐 Stay Connected&lt;/h2&gt; 
&lt;p&gt;Follow us for release announcements, tips, and community highlights:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://churchcrm.io/&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Website-churchcrm.io-blue&quot; alt=&quot;Website&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://x.com/getChurchCRM&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/X-@getChurchCRM-black?logo=x&quot; alt=&quot;X / Twitter&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.facebook.com/getChurchCRM&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Facebook-getChurchCRM-1877F2?logo=facebook&amp;amp;logoColor=white&quot; alt=&quot;Facebook&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.instagram.com/getchurchcrm/&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Instagram-@getchurchcrm-E4405F?logo=instagram&amp;amp;logoColor=white&quot; alt=&quot;Instagram&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.linkedin.com/company/getchurchcrm/&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/LinkedIn-ChurchCRM-0A66C2?logo=linkedin&amp;amp;logoColor=white&quot; alt=&quot;LinkedIn&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.gg/tuWyFzj3Nj&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Discord-Chat-5865F2?logo=discord&amp;amp;logoColor=white&quot; alt=&quot;Discord Chat&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Happy coding and community building! 🎉&lt;/p&gt; 
&lt;p&gt;— The ChurchCRM Team&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/30856851/54b2136b-826a-4c32-b823-1637ab3e2849" medium="image" />
      
    </item>
    
    <item>
      <title>investbrainapp/investbrain</title>
      <link>https://github.com/investbrainapp/investbrain</link>
      <description>&lt;p&gt;Smart LLM-enabled investment tracker that consolidates and monitors market performance across your different brokerages&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://investbra.in&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/investbrain-logo.png&quot; width=&quot;400&quot; alt=&quot;Investbrain Logo&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/investbrainapp/investbrain/&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/stars/investbrainapp/investbrain?style=for-the-badge&amp;amp;color=%23CCCCCC&quot; alt=&quot;GitHub Repo Stars&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/investbrainapp/investbrain/&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/contributors/investbrainapp/investbrain?style=for-the-badge&quot; alt=&quot;GitHub Contributors&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/investbrainapp/investbrain/issues&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/issues/investbrainapp/investbrain?style=for-the-badge&quot; alt=&quot;GitHub Issues&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://hub.docker.com/r/investbrainapp/investbrain/&quot;&gt;&lt;img src=&quot;https://img.shields.io/docker/pulls/investbrainapp/investbrain?style=for-the-badge&quot; alt=&quot;Docker Pulls&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;About Investbrain&lt;/h2&gt; 
&lt;p&gt;Investbrain is a smart open-source investment tracker that helps you manage, track, and make informed decisions about your investments.&lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;https://investbra.in&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/screenshot.png&quot; width=&quot;100%&quot; alt=&quot;Investbrain Screenshot&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Table of contents&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#under-the-hood&quot;&gt;Under the hood&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#self-hosting&quot;&gt;Install (self hosting)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#chat-with-your-holdings&quot;&gt;Chat with your holdings&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#market-data-providers&quot;&gt;Market data providers&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#import--export&quot;&gt;Import / Export&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#configuration&quot;&gt;Configuration&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#updating&quot;&gt;Updating&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#command-line-utilities&quot;&gt;Command line utilities&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#troubleshooting&quot;&gt;Troubleshooting&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#testing&quot;&gt;Testing&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Under the hood&lt;/h2&gt; 
&lt;p&gt;Investbrain is a Laravel PHP web application that has an extensible market data provider interface. Out of the box, we feature many market data providers. But intrepid developers can &lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#custom-providers&quot;&gt;create their own providers&lt;/a&gt;! We also offer integrations with OpenAI and Ollama for our &lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#chat-with-your-holdings&quot;&gt;&quot;chat with your holdings&quot;&lt;/a&gt; capability. Finally, of course we have robust support for i18n, a11y, and dark mode.&lt;/p&gt; 
&lt;h2&gt;Self hosting&lt;/h2&gt; 
&lt;p&gt;For ease of installation, we &lt;em&gt;highly recommend&lt;/em&gt; installing Investbrain using the provided &lt;a href=&quot;https://github.com/investbrainapp/investbrain/raw/main/docker-compose.yml&quot;&gt;Docker Compose&lt;/a&gt; file, which uses the official Investbrain Docker image and includes all the necessary dependencies to seamlessly build everything you need to get started quickly!&lt;/p&gt; 
&lt;p&gt;Before getting started, you should already have &lt;a href=&quot;https://docs.docker.com/engine/install/&quot;&gt;Docker Engine&lt;/a&gt; installed on your machine.&lt;/p&gt; 
&lt;p&gt;Ready? Let&#39;s get started!&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;1. Download copy of Docker Compose file&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;Grab a copy of the &lt;a href=&quot;https://github.com/investbrainapp/investbrain/raw/main/docker-compose.yml&quot;&gt;docker-compose.yml&lt;/a&gt; using &lt;code&gt;wget&lt;/code&gt;, &lt;code&gt;curl&lt;/code&gt; or similar:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;curl -O https://raw.githubusercontent.com/investbrainapp/investbrain/main/docker-compose.yml
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;2. Set your environment&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;Adjust the &lt;code&gt;environment&lt;/code&gt; properties in the compose file to your preferences.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;3. Run &lt;code&gt;docker compose up&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;It might take a few minutes to pull the Docker images. But assuming everything worked as expected, you should now be able to access Investbrain in the browser by visiting:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;http://localhost:8000/register
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Congrats! You&#39;ve just installed Investbrain!&lt;/p&gt; 
&lt;h2&gt;Chat with your holdings&lt;/h2&gt; 
&lt;p&gt;Investbrain offers an AI powered chat assistant that is grounded on &lt;em&gt;your&lt;/em&gt; investments. This enables you to use AI as a thought partner when making investment decisions.&lt;/p&gt; 
&lt;p&gt;Most of the major labs are currently supported (OpenAI, Anthropic, Gemini, xAI, etc). You&#39;ll need to obtain API keys from your selected provider and configure that in your &lt;a href=&quot;https://github.com/investbrainapp/investbrain/raw/main/.env.example&quot;&gt;.env&lt;/a&gt; file using the appropriate keys.&lt;/p&gt; 
&lt;p&gt;Investbrain is also compatible with Ollama (and other OpenAI compatible APIs). If you are self-hosting your own large language models (&quot;LLMs&quot;) that exposes an OpenAI compatible API (e.g. &lt;a href=&quot;https://ollama.com/blog/openai-compatibility&quot;&gt;Ollama&lt;/a&gt;), you&#39;ll need to configure your local endpoint in your &lt;a href=&quot;https://github.com/investbrainapp/investbrain/raw/main/.env.example&quot;&gt;.env&lt;/a&gt; file.&lt;/p&gt; 
&lt;p&gt;See available options &lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#configuration&quot;&gt;below&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Always keep in mind the limitations of LLMs. When in doubt, consult a licensed investment advisor.&lt;/p&gt; 
&lt;h2&gt;Market data providers&lt;/h2&gt; 
&lt;p&gt;Investbrain includes an extensible market data provider interface that allows you to retrieve stock market data from multiple providers, such as &lt;a href=&quot;https://finance.yahoo.com/&quot;&gt;Yahoo Finance&lt;/a&gt;, &lt;a href=&quot;https://twelvedata.com&quot;&gt;Twelve Data&lt;/a&gt;, &lt;a href=&quot;https://finnhub.io/pricing-stock-api-market-data&quot;&gt;Finnhub&lt;/a&gt;, &lt;a href=&quot;https://alpaca.markets/&quot;&gt;Alpaca&lt;/a&gt;, and &lt;a href=&quot;https://www.alphavantage.co/support/&quot;&gt;Alpha Vantage&lt;/a&gt;. The interface includes a built-in fallback mechanism to ensure reliable data access, even if a provider fails.&lt;/p&gt; 
&lt;h3&gt;Market Data Configuration&lt;/h3&gt; 
&lt;p&gt;You can specify the market data provider you want to use in your environment variables:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;MARKET_DATA_PROVIDER=yahoo
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;You can also use Investbrain&#39;s built-in fallback mechanism to ensure reliable data access. If any provider fails, Investbrain will automatically attempt to retrieve data from the next available provider, continuing through your configured providers until one returns successfully.&lt;/p&gt; 
&lt;p&gt;Your selected providers should be listed in your environment variables. Each should be separated by a comma:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;MARKET_DATA_PROVIDER=yahoo,alphavantage
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;In the above example, Yahoo Finance will be attempted first. If Yahoo Finance fails to retrieve market data, the application will automatically try Alpha Vantage.&lt;/p&gt; 
&lt;h3&gt;Custom providers&lt;/h3&gt; 
&lt;p&gt;If you wish to create your own market data provider, you can create your own implementation of the &lt;a href=&quot;https://github.com/investbrainapp/investbrain/raw/main/app/Interfaces/MarketData/MarketDataInterface.php&quot;&gt;MarketDataInterface&lt;/a&gt;. You can refer to any existing market data implementation as an example.&lt;/p&gt; 
&lt;p&gt;Once you&#39;ve created your market data implementation, be sure add your custom provider to the Investbrain configuration file, under the interfaces section:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;
&#39;interfaces&#39; =&amp;gt; [
    //                       *  *  *
    &#39;custom_provider&#39; =&amp;gt; \App\Services\CustomProviderMarketData::class,
    //                       *  *  *
],
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;And add your custom provider to your .env file:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;MARKET_DATA_PROVIDER=yahoo,alphavantage,custom_provider
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Feel free to submit a PR with any custom providers you create.&lt;/p&gt; 
&lt;h2&gt;Import / Export&lt;/h2&gt; 
&lt;p&gt;Investbrain includes a convenient feature which allows you to maintain the portability of your portfolios and transaction data.&lt;/p&gt; 
&lt;h3&gt;Import&lt;/h3&gt; 
&lt;p&gt;Imports are &quot;upserted&quot; to the database. If the record does not already exist in the database, the record will be created. However, when a portfolio or transaction exists (i.e. the record&#39;s ID matches an existing record), the record will be updated. This way, you can simultaneously create new records, but also bulk update records.&lt;/p&gt; 
&lt;h3&gt;Export&lt;/h3&gt; 
&lt;p&gt;Exporting your portfolios and transactions is a convenient way to back-up your Investbrain data. It is also a convenient way to maintain portability of &lt;em&gt;your&lt;/em&gt; data.&lt;/p&gt; 
&lt;h2&gt;Configuration&lt;/h2&gt; 
&lt;p&gt;There are several optional configurations available when installing using the recommended &lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#self-hosting&quot;&gt;Docker method&lt;/a&gt;. These options are configurable using an environment file. Configurations can be added to your &lt;a href=&quot;https://github.com/investbrainapp/investbrain/raw/main/.env.example&quot;&gt;.env&lt;/a&gt; file or to the &lt;code&gt;environment&lt;/code&gt; property in the &lt;a href=&quot;https://github.com/investbrainapp/investbrain/raw/main/docker-compose.yml&quot;&gt;docker-compose.yml&lt;/a&gt; file.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Option&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
   &lt;th&gt;Default&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;APP_URL&lt;/td&gt; 
   &lt;td&gt;The URL where your Investbrain installation will be accessible&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;http://localhost&quot;&gt;http://localhost&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;APP_PORT&lt;/td&gt; 
   &lt;td&gt;The HTTP port exposed by the NGINX container&lt;/td&gt; 
   &lt;td&gt;8000&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;APP_KEY&lt;/td&gt; 
   &lt;td&gt;Encryption key for various security-related functions&lt;/td&gt; 
   &lt;td&gt;Set automatically during install&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;MARKET_DATA_PROVIDER&lt;/td&gt; 
   &lt;td&gt;The market data provider to use (either &lt;code&gt;yahoo&lt;/code&gt;, &lt;code&gt;twelvedata&lt;/code&gt;, &lt;code&gt;alphavantage&lt;/code&gt;, &lt;code&gt;alpaca&lt;/code&gt;, or &lt;code&gt;finnhub&lt;/code&gt;)&lt;/td&gt; 
   &lt;td&gt;yahoo&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;ALPHAVANTAGE_API_KEY&lt;/td&gt; 
   &lt;td&gt;If using the Alpha Vantage provider&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;null&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;FINNHUB_API_KEY&lt;/td&gt; 
   &lt;td&gt;If using the Finnhub provider&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;null&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;ALPACA_API_KEY&lt;/td&gt; 
   &lt;td&gt;If using the Alpaca provider&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;null&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;ALPACA_API_SECRET&lt;/td&gt; 
   &lt;td&gt;If using the Alpaca provider&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;null&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;TWELVEDATA_API_SECRET&lt;/td&gt; 
   &lt;td&gt;If using the Twelve Data provider&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;null&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;MARKET_DATA_REFRESH&lt;/td&gt; 
   &lt;td&gt;Cadence to refresh market data in minutes&lt;/td&gt; 
   &lt;td&gt;30&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;APP_TIMEZONE&lt;/td&gt; 
   &lt;td&gt;Timezone for the application, including daily change captures&lt;/td&gt; 
   &lt;td&gt;UTC&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;AI_CHAT_ENABLED&lt;/td&gt; 
   &lt;td&gt;Whether to enable AI chat features&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;CHAT_PROVIDER&lt;/td&gt; 
   &lt;td&gt;Which chat provider to use (one of &lt;code&gt;openai&lt;/code&gt;, &lt;code&gt;anthropic&lt;/code&gt;, &lt;code&gt;gemini&lt;/code&gt;, &lt;code&gt;azure&lt;/code&gt;, &lt;code&gt;groq&lt;/code&gt;, &lt;code&gt;xai&lt;/code&gt;, &lt;code&gt;deepseek&lt;/code&gt;, &lt;code&gt;mistral&lt;/code&gt;, &lt;code&gt;ollama&lt;/code&gt;)&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;openai&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;CHAT_MODEL&lt;/td&gt; 
   &lt;td&gt;The selected LLM used for AI chat&lt;/td&gt; 
   &lt;td&gt;defaults to current smartest model from lab&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;ANTHROPIC_API_KEY&lt;/td&gt; 
   &lt;td&gt;If using Anthropic for chat&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;null&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;OPENAI_API_KEY&lt;/td&gt; 
   &lt;td&gt;If using OpenAI for chat&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;null&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;OLLAMA_BASE_URL&lt;/td&gt; 
   &lt;td&gt;If using Ollama for chat&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;http://localhost:11434&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;OLLAMA_API_KEY&lt;/td&gt; 
   &lt;td&gt;May be required if using Ollama for chat&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;null&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;DAILY_CHANGE_TIME&lt;/td&gt; 
   &lt;td&gt;The time of day to capture daily change&lt;/td&gt; 
   &lt;td&gt;23:00&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;REGISTRATION_ENABLED&lt;/td&gt; 
   &lt;td&gt;Whether to enable registration of new users&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;Note: These options affect the &lt;a href=&quot;https://github.com/investbrainapp/investbrain/raw/main/docker-compose.yml&quot;&gt;docker-compose.yml&lt;/a&gt; file and are cached during run-time. If change any environment configurations, you&#39;ll have to restart the container before your changes take effect.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h2&gt;Updating&lt;/h2&gt; 
&lt;p&gt;To update Investbrain using the recommended &lt;a href=&quot;https://raw.githubusercontent.com/investbrainapp/investbrain/main/#self-hosting&quot;&gt;Docker installation&lt;/a&gt; method, you just need to stop the running containers:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker compose stop
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Then pull the latest Docker image:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker image pull investbrainapp/investbrain:latest
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Finally bring the containers back up!&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker compose up
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Easy as that!&lt;/p&gt; 
&lt;h2&gt;Command line utilities&lt;/h2&gt; 
&lt;p&gt;Investbrain comes bundled with several helpful command line utilities to make managing your portfolios and holdings more efficient. Keep in mind these commands are extremely powerful and can make irreversable changes to your holdings. Just to be safe, we recommend backing up your portfolios before using these commands.&lt;/p&gt; 
&lt;p&gt;To run these commands, you can use &lt;code&gt;docker exec&lt;/code&gt; like this:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker exec -it investbrain-app php artisan &amp;lt;replace with command you want to run&amp;gt;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;If you need more details on what the command does, you can take a look at the options available using the &lt;code&gt;help&lt;/code&gt; option:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;&amp;lt;command you want to run&amp;gt; --help
&lt;/code&gt;&lt;/pre&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Command&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;refresh:market-data&lt;/td&gt; 
   &lt;td&gt;Refreshes market data with your configured market data provider.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;refresh:dividend-data&lt;/td&gt; 
   &lt;td&gt;Refreshes dividend data with your configured market data provider. Will also re-calculate your total dividends earned for each holding.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;refresh:split-data&lt;/td&gt; 
   &lt;td&gt;Refreshes splits data with your configured market data provider. Will also create new transactions to account for any splits.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;refresh:currency-data&lt;/td&gt; 
   &lt;td&gt;Grabs the latest daily currency exchange rate data and persists to the database.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;capture:daily-change&lt;/td&gt; 
   &lt;td&gt;Captures a snapshot of each portfolio&#39;s daily performance.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;sync:daily-change&lt;/td&gt; 
   &lt;td&gt;Syncs daily snapshots of your portfolio&#39;s daily performance. Useful to fill in gaps in your portfolio charts. (Note: this is an extremely resource intensive query.)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;sync:holdings&lt;/td&gt; 
   &lt;td&gt;Syncs performance of holdings with related transactions (i.e. dividends, realized gains, etc).&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;fix:cost-basis-for-sales&lt;/td&gt; 
   &lt;td&gt;Utility to automatically re-calculates cost basis for sale transactions.&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Troubleshooting&lt;/h2&gt; 
&lt;p&gt;If you are facing issues with Investbrain, it can be handy to monitor the application&#39;s logs:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker exec -it investbrain-app cat storage/logs/laravel.log
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;or you can live monitor logs using &lt;code&gt;tail&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker exec -it investbrain-app tail -f storage/logs/laravel.log
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Common issues&lt;/h3&gt; 
&lt;details&gt; 
 &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;summary&gt;&lt;strong&gt;Application styling is broken and images are too big&lt;/strong&gt;&lt;/summary&gt;
 &lt;p&gt;&lt;/p&gt; 
 &lt;p&gt;If you&#39;re serving Investbrain from a DNS name (e.g. &lt;a href=&quot;http://example.com&quot;&gt;example.com&lt;/a&gt;), it&#39;s likely that you haven&#39;t updated the &lt;code&gt;ASSET_URL&lt;/code&gt; environment yet. The URL provided there will be used to generate absolute URLs for images, JS, and CSS assets on the front end of the application.&lt;/p&gt; 
&lt;/details&gt; 
&lt;details&gt; 
 &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
 &lt;summary&gt;&lt;strong&gt;Market data not refreshing on fresh install&lt;/strong&gt;&lt;/summary&gt;
 &lt;p&gt;&lt;/p&gt; 
 &lt;p&gt;If you&#39;re unable to refresh market data out of the box (i.e. your market data provider is set to Yahoo), there is a chance Yahoo is being blocked by a firewall or adblocker. Pihole is known to block &lt;code&gt;fc.yahoo.com&lt;/code&gt; which is the domain used to query Yahoo.&lt;/p&gt; 
 &lt;p&gt;Once you whitelist &lt;code&gt;fc.yahoo.com&lt;/code&gt; in pihole, your market data should begin populating!&lt;/p&gt; 
&lt;/details&gt; 
&lt;h2&gt;Testing&lt;/h2&gt; 
&lt;p&gt;Investbrain has a robus PHPUnit test suite that creates an in-memory SQLite database and runs any queued jobs synchronously using Laravel&#39;s array driver. You can run the entire Investbrain test suite from within the Docker container by running:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker exec -it investbrain-app php artisan test
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;We appreciate any contributions to Investbrain! Please open a pull request on our &lt;a href=&quot;https://github.com/investbrainapp/investbrain&quot;&gt;Github repository&lt;/a&gt;. Here are some ideas for first time contributors:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Improve our documentation&lt;/li&gt; 
 &lt;li&gt;Create new market data providers&lt;/li&gt; 
 &lt;li&gt;Enhance the user interface&lt;/li&gt; 
 &lt;li&gt;Additional translations&lt;/li&gt; 
 &lt;li&gt;Fix bugs&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;When you submit a contribution, don&#39;t forget to include passing tests with your PR!&lt;/p&gt; 
&lt;h2&gt;Code of Conduct&lt;/h2&gt; 
&lt;p&gt;We ask that you be kind and polite when interacting with the Investbrain community.&lt;/p&gt; 
&lt;h2&gt;Security Vulnerabilities&lt;/h2&gt; 
&lt;p&gt;If you discover a security vulnerability within Investbrain, please submit your report via &lt;a href=&quot;https://github.com/investbrainapp/investbrain/security/advisories/new&quot;&gt;Github&lt;/a&gt;. All security vulnerabilities will be promptly addressed. We ask that you keep any suspected vulnerabilities private and confidential until they have been appropriately addressed.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Investbrain is open-sourced software licensed under the &lt;a href=&quot;https://github.com/investbrainapp/investbrain?tab=License-1-ov-file&quot;&gt;CC-BY-NC 4.0&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/836883359/5a570eb3-93fb-4594-8b7f-68bbe0d6b933" medium="image" />
      
    </item>
    
    <item>
      <title>aonez/Keka</title>
      <link>https://github.com/aonez/Keka</link>
      <description>&lt;p&gt;The macOS &amp; iOS file archiver&lt;/p&gt;&lt;hr&gt;&lt;h1 align=&quot;center&quot;&gt;Keka&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/aonez/Keka/master/#&quot;&gt;&lt;img width=&quot;256&quot; height=&quot;256&quot; src=&quot;https://www.keka.io/img/Keka-Square-512x512.png&quot; align=&quot;left&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;br /&gt; 
&lt;h3&gt;The macOS file archiver.&lt;/h3&gt; 
&lt;p&gt;With Keka you can compress as many files as you want in a bunch of formats. You can also encrypt them to store and share securely and with privacy.&lt;/p&gt; 
&lt;div&gt; 
 &lt;a href=&quot;https://github.com/aonez/Keka/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/release/aonez/keka?color=%2300834a&quot; /&gt;&lt;/a&gt; 
 &lt;a href=&quot;https://github.com/aonez/Keka/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/downloads/aonez/keka/latest/total?color=%2300834a&amp;amp;label=latest&quot; /&gt;&lt;/a&gt; 
 &lt;a href=&quot;https://github.com/aonez/Keka/releases&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/downloads/aonez/keka/total?color=%2300834a&quot; /&gt;&lt;/a&gt; 
 &lt;a href=&quot;https://twitter.com/kekaosx&quot;&gt;&lt;img src=&quot;https://img.shields.io/twitter/follow/kekaosx?style=social&quot; /&gt;&lt;/a&gt; 
 &lt;a href=&quot;https://techhub.social/@keka&quot;&gt;&lt;img src=&quot;https://img.shields.io/mastodon/follow/109670517459928421?domain=https%3A%2F%2Ftechhub.social&amp;amp;style=social&quot; /&gt;&lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; 
&lt;h2&gt;Downloads&lt;/h2&gt; 
&lt;h3&gt;Current version&lt;/h3&gt; 
&lt;p&gt;Go to the Keka website at &lt;a href=&quot;https://www.keka.io&quot;&gt;https://www.keka.io&lt;/a&gt; to get the latest version.&lt;/p&gt; 
&lt;p&gt;Also you can check the history of releases in the &lt;a href=&quot;https://github.com/aonez/Keka/releases&quot;&gt;Releases&lt;/a&gt; section.&lt;/p&gt; 
&lt;h3&gt;Legacy versions&lt;/h3&gt; 
&lt;p&gt;You will find the updated list of legacy versions in the Keka website at &lt;a href=&quot;https://www.keka.io/#legacy&quot;&gt;https://www.keka.io/#legacy&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;What more to do here&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/aonez/Keka/issues&quot;&gt;Issues&lt;/a&gt; - look for open ones, &lt;a href=&quot;https://github.com/aonez/Keka/issues/new&quot;&gt;create&lt;/a&gt; a new one.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/aonez/Keka/wiki&quot;&gt;Wiki&lt;/a&gt; - learn and share Keka knowledge.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/aonez/Keka/discussions&quot;&gt;Discussions&lt;/a&gt; - chat about Keka with others and share your ideas.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/aonez/Keka/releases&quot;&gt;Releases&lt;/a&gt; - download a specific version.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/aonez/Keka/master/Translations/&quot;&gt;Translations&lt;/a&gt; - keep Keka multilingual and well spoken 😃&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;This repository is used mainly to take care of &lt;a href=&quot;https://github.com/aonez/Keka/issues&quot;&gt;Issues&lt;/a&gt; and have a collaborative &lt;a href=&quot;https://github.com/aonez/Keka/wiki&quot;&gt;Wiki&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;If you have a problem or a request just search the &lt;a href=&quot;https://github.com/aonez/Keka/issues&quot;&gt;Issues&lt;/a&gt; for similar ones or &lt;a href=&quot;https://github.com/aonez/Keka/issues/new&quot;&gt;create&lt;/a&gt; a new one.&lt;/p&gt; 
&lt;p&gt;If you&#39;ll like to chat and you think the &lt;a href=&quot;https://github.com/aonez/Keka/issues&quot;&gt;Issues&lt;/a&gt; section is not the right place, just head to the &lt;a href=&quot;https://github.com/aonez/Keka/discussions&quot;&gt;Discussions&lt;/a&gt; section.&lt;/p&gt; 
&lt;p&gt;Also head to &lt;a href=&quot;https://github.com/aonez/Keka/releases&quot;&gt;Releases&lt;/a&gt; if you need a specific version not found on the &lt;a href=&quot;https://www.keka.io&quot;&gt;Keka website&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/73220421/c66dc480-1cf1-11ea-928c-896bfbe985b1" medium="image" />
      
    </item>
    
    <item>
      <title>laravel/boost</title>
      <link>https://github.com/laravel/boost</link>
      <description>&lt;p&gt;Laravel-focused MCP server for augmenting your AI powered local development experience.&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt; &lt;img alt=&quot;Boost Logo Dark Mode&quot; src=&quot;https://raw.githubusercontent.com/laravel/boost/main/art/boost-light-mode.svg#gh-light-mode-only&quot; /&gt; &lt;img alt=&quot;Boost Logo Dark Mode&quot; src=&quot;https://raw.githubusercontent.com/laravel/boost/main/art/boost-dark-mode.svg#gh-dark-mode-only&quot; /&gt; &lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://github.com/laravel/boost/actions&quot;&gt;&lt;img src=&quot;https://github.com/laravel/boost/workflows/tests/badge.svg?sanitize=true&quot; alt=&quot;Build Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://packagist.org/packages/laravel/boost&quot;&gt;&lt;img src=&quot;https://img.shields.io/packagist/dt/laravel/boost?v=1&quot; alt=&quot;Total Downloads&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://packagist.org/packages/laravel/boost&quot;&gt;&lt;img src=&quot;https://img.shields.io/packagist/v/laravel/boost?v=1&quot; alt=&quot;Latest Stable Version&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://packagist.org/packages/laravel/boost&quot;&gt;&lt;img src=&quot;https://img.shields.io/packagist/l/laravel/boost?v=1&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt; &lt;/p&gt; 
&lt;h2&gt;Introduction&lt;/h2&gt; 
&lt;p&gt;Laravel Boost accelerates AI-assisted development by providing the essential context and structure that AI needs to generate high-quality, Laravel-specific code.&lt;/p&gt; 
&lt;h2&gt;Official Documentation&lt;/h2&gt; 
&lt;p&gt;Documentation for Laravel Boost can be found on the &lt;a href=&quot;https://laravel.com/docs/boost&quot;&gt;Laravel website&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;Thank you for considering contributing to Boost! The contribution guide can be found in the &lt;a href=&quot;https://laravel.com/docs/contributions&quot;&gt;Laravel documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Code of Conduct&lt;/h2&gt; 
&lt;p&gt;In order to ensure that the Laravel community is welcoming to all, please review and abide by the &lt;a href=&quot;https://laravel.com/docs/contributions#code-of-conduct&quot;&gt;Code of Conduct&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Security Vulnerabilities&lt;/h2&gt; 
&lt;p&gt;Please review &lt;a href=&quot;https://github.com/laravel/boost/security/policy&quot;&gt;our security policy&lt;/a&gt; on how to report security vulnerabilities.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Laravel Boost is open-sourced software licensed under the &lt;a href=&quot;https://raw.githubusercontent.com/laravel/boost/main/LICENSE.md&quot;&gt;MIT license&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/1020205087/a31bed05-7283-47a6-86a6-42c5152bab44" medium="image" />
      
    </item>
    
    <item>
      <title>sebastianbergmann/phpunit</title>
      <link>https://github.com/sebastianbergmann/phpunit</link>
      <description>&lt;p&gt;The PHP Unit Testing framework.&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;a href=&quot;https://phpunit.de/?ref=github&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/sebastianbergmann/phpunit/main/.github/img/phpunit.svg?sanitize=true&quot; alt=&quot;PHPUnit&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/phpunit/actions&quot;&gt;&lt;img src=&quot;https://github.com/sebastianbergmann/phpunit/workflows/CI/badge.svg?sanitize=true&quot; alt=&quot;CI Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://codecov.io/gh/sebastianbergmann/phpunit&quot;&gt;&lt;img src=&quot;https://codecov.io/gh/sebastianbergmann/phpunit/branch/main/graph/badge.svg?token=0yzBUK8Wri&quot; alt=&quot;codecov&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://packagist.org/packages/phpunit/phpunit&quot;&gt;&lt;img src=&quot;https://poser.pugx.org/phpunit/phpunit/v&quot; alt=&quot;Latest Stable Version&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://packagist.org/packages/phpunit/phpunit/stats&quot;&gt;&lt;img src=&quot;https://poser.pugx.org/phpunit/phpunit/downloads&quot; alt=&quot;Total Downloads&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://packagist.org/packages/phpunit/phpunit/stats&quot;&gt;&lt;img src=&quot;https://poser.pugx.org/phpunit/phpunit/d/monthly&quot; alt=&quot;Monthly Downloads&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://packagist.org/packages/phpunit/phpunit/stats&quot;&gt;&lt;img src=&quot;https://poser.pugx.org/phpunit/phpunit/d/daily&quot; alt=&quot;Daily Downloads&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h1&gt;PHPUnit&lt;/h1&gt; 
&lt;p&gt;PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;p&gt;We distribute a &lt;a href=&quot;https://php.net/phar&quot;&gt;PHP Archive (PHAR)&lt;/a&gt; that has all required dependencies of PHPUnit bundled in a single file:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;$ wget https://phar.phpunit.de/phpunit-X.Y.phar

$ php phpunit-X.Y.phar --version
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Please replace &lt;code&gt;X.Y&lt;/code&gt; with the version of PHPUnit you are interested in.&lt;/p&gt; 
&lt;p&gt;Alternatively, you may use &lt;a href=&quot;https://getcomposer.org/&quot;&gt;Composer&lt;/a&gt; to download and install PHPUnit as well as its dependencies. Please refer to the &lt;a href=&quot;https://phpunit.de/documentation.html?ref=github&quot;&gt;documentation&lt;/a&gt; for details on how to install PHPUnit.&lt;/p&gt; 
&lt;h2&gt;Contribute&lt;/h2&gt; 
&lt;p&gt;Please refer to &lt;a href=&quot;https://github.com/sebastianbergmann/phpunit/raw/main/.github/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; for information on how to contribute to PHPUnit and its related projects.&lt;/p&gt; 
&lt;p&gt;A big &quot;Thank you!&quot; to everyone who has contributed to PHPUnit! You can find a detailed list of contributors on every PHPUnit related package on GitHub.&lt;/p&gt; 
&lt;p&gt;Here is a list of all components that are primarily developed and maintained by &lt;a href=&quot;https://sebastian-bergmann.de/open-source.html?ref=github&quot;&gt;Sebastian Bergmann&lt;/a&gt;:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/phpunit&quot;&gt;phpunit/phpunit&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/php-code-coverage&quot;&gt;phpunit/php-code-coverage&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/php-file-iterator&quot;&gt;phpunit/php-file-iterator&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/php-invoker&quot;&gt;phpunit/php-invoker&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/php-text-template&quot;&gt;phpunit/php-text-template&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/php-timer&quot;&gt;phpunit/php-timer&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/cli-parser&quot;&gt;sebastian/cli-parser&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/comparator&quot;&gt;sebastian/comparator&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/complexity&quot;&gt;sebastian/complexity&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/diff&quot;&gt;sebastian/diff&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/environment&quot;&gt;sebastian/environment&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/exporter&quot;&gt;sebastian/exporter&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/file-filter&quot;&gt;sebastian/file-filter&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/git-state&quot;&gt;sebastian/git-state&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/global-state&quot;&gt;sebastian/global-state&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/lines-of-code&quot;&gt;sebastian/lines-of-code&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/object-enumerator&quot;&gt;sebastian/object-enumerator&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/object-reflector&quot;&gt;sebastian/object-reflector&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/recursion-context&quot;&gt;sebastian/recursion-context&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/type&quot;&gt;sebastian/type&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/sebastianbergmann/version&quot;&gt;sebastian/version&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;A very special thanks to everyone who has contributed to the &lt;a href=&quot;https://github.com/sebastianbergmann/phpunit-documentation-english&quot;&gt;PHPUnit Manual&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;In addition to the components listed above, PHPUnit depends on the components listed below:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/myclabs/DeepCopy&quot;&gt;myclabs/deep-copy&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/nikic/php-parser&quot;&gt;nikic/php-parser&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/phar-io/manifest&quot;&gt;phar-io/manifest&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/phar-io/version&quot;&gt;phar-io/version&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/staabm/side-effects-detector&quot;&gt;staabm/side-effects-detector&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/theseer/tokenizer&quot;&gt;theseer/tokenizer&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;These tools are used to develop PHPUnit:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://getcomposer.org/&quot;&gt;Composer&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://phar.io/&quot;&gt;Phive&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/theseer/Autoload/&quot;&gt;PHP Autoload Builder&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://cs.symfony.com/&quot;&gt;PHP-CS-Fixer&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/humbug/php-scoper&quot;&gt;PHP-Scoper&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://phpstan.org/&quot;&gt;PHPStan&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Sponsors&lt;/h2&gt; 
&lt;p&gt;It has taken &lt;a href=&quot;https://sebastian-bergmann.de/open-source.html?ref=github&quot;&gt;Sebastian Bergmann&lt;/a&gt; thousands of hours to develop, test, and support PHPUnit. &lt;a href=&quot;https://github.com/sponsors/sebastianbergmann&quot;&gt;&lt;strong&gt;You can sponsor his Open Source work through GitHub Sponsors&lt;/strong&gt;&lt;/a&gt;, for example.&lt;/p&gt; 
&lt;p&gt;These businesses support Sebastian Bergmann&#39;s work on PHPUnit:&lt;/p&gt; 
&lt;table&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;width: 30%; vertical-align: middle;&quot;&gt;&lt;a href=&quot;https://www.bubbleshooter.net/&quot;&gt;&lt;img alt=&quot;Bubble Shooter&quot; src=&quot;https://raw.githubusercontent.com/sebastianbergmann/phpunit/main/.github/img/bubble-shooter.png&quot; style=&quot;width: 200px;&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;width: 30%; vertical-align: middle;&quot;&gt;&lt;a href=&quot;https://www.in2it.be/phpunit-supporter/&quot;&gt;&lt;img alt=&quot;in2it vof&quot; src=&quot;https://raw.githubusercontent.com/sebastianbergmann/phpunit/main/.github/img/in2it.svg?sanitize=true&quot; style=&quot;width: 200px;&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;width: 30%; vertical-align: middle;&quot;&gt;&lt;a href=&quot;https://l.rw.rw/php_unit&quot;&gt;&lt;img alt=&quot;Mailtrap&quot; src=&quot;https://raw.githubusercontent.com/sebastianbergmann/phpunit/main/.github/img/mailtrap.svg?sanitize=true&quot; style=&quot;width: 200px;&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;width: 30%; vertical-align: middle;&quot;&gt;&lt;a href=&quot;https://testmo.com/&quot;&gt;&lt;img alt=&quot;Testmo GmbH&quot; src=&quot;https://raw.githubusercontent.com/sebastianbergmann/phpunit/main/.github/img/testmo.svg?sanitize=true&quot; style=&quot;width: 200px;&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;width: 30%; vertical-align: middle;&quot;&gt;&lt;a href=&quot;https://www.testmuai.com/?utm_medium=sponsor&amp;amp;utm_source=phpunit&quot;&gt;&lt;img alt=&quot;TestMu AI&quot; src=&quot;https://raw.githubusercontent.com/sebastianbergmann/phpunit/main/.github/img/testmuai.svg?sanitize=true&quot; style=&quot;width: 200px;&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;width: 30%; vertical-align: middle;&quot;&gt;&lt;a href=&quot;https://tideways.com/&quot;&gt;&lt;img alt=&quot;Tideways GmbH&quot; src=&quot;https://raw.githubusercontent.com/sebastianbergmann/phpunit/main/.github/img/tideways.svg?sanitize=true&quot; style=&quot;width: 200px;&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;width: 30%; vertical-align: middle;&quot;&gt;&lt;a href=&quot;https://typo3.com/&quot;&gt;&lt;img alt=&quot;TYPO3 GmbH&quot; src=&quot;https://raw.githubusercontent.com/sebastianbergmann/phpunit/main/.github/img/typo3.svg?sanitize=true&quot; style=&quot;width: 200px;&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
   &lt;td style=&quot;width: 30%; vertical-align: middle;&quot;&gt;&lt;a href=&quot;https://vema-eg.de/&quot;&gt;&lt;img alt=&quot;VEMA Versicherungsmakler Genossenschaft eG&quot; src=&quot;https://raw.githubusercontent.com/sebastianbergmann/phpunit/main/.github/img/vema.svg?sanitize=true&quot; style=&quot;width: 200px;&quot; /&gt;&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Would you like to see your logo here as well as on the &lt;a href=&quot;https://phpunit.de/sponsors.html?ref=github&quot;&gt;PHPUnit website&lt;/a&gt;? Contact Sebastian Bergmann at &lt;a href=&quot;mailto:sponsoring@phpunit.de&quot;&gt;sponsoring@phpunit.de&lt;/a&gt; to learn more about how you can support his work on PHPUnit.&lt;/p&gt; 
&lt;p&gt;Whether you are a CEO, CFO, CTO, or a developer: your company surely depends on Open Source software. &lt;a href=&quot;https://opensourcepledge.com/&quot;&gt;It is time to pay your share&lt;/a&gt; and support maintainers like &lt;a href=&quot;https://phpunit.de/sponsoring.html&quot;&gt;Sebastian Bergmann&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/448045/f7709980-bb45-11e9-8bdd-10f7c50787fc" medium="image" />
      
    </item>
    
    <item>
      <title>Cacti/cacti</title>
      <link>https://github.com/Cacti/cacti</link>
      <description>&lt;p&gt;Cacti ™&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Cacti&lt;/h1&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/Cacti/cacti/actions/workflows/syntax.yml&quot;&gt;&lt;img src=&quot;https://github.com/Cacti/cacti/actions/workflows/syntax.yml/badge.svg?sanitize=true&quot; alt=&quot;Cacti Commit Audit&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://opensource.box.com/badges&quot;&gt;&lt;img src=&quot;https://opensource.box.com/badges/active.svg?sanitize=true&quot; alt=&quot;Project Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://translate.cacti.net&quot;&gt;&lt;img src=&quot;https://translate.cacti.net/widgets/cacti/-/core/svg-badge.svg?sanitize=true&quot; alt=&quot;Translation Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://isitmaintained.com/project/cacti/cacti&quot;&gt;&lt;img src=&quot;https://isitmaintained.com/badge/resolution/cacti/cacti.svg?sanitize=true&quot; alt=&quot;Average issue resolution time&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://isitmaintained.com/project/cacti/cacti&quot;&gt;&lt;img src=&quot;https://isitmaintained.com/badge/open/cacti/cacti.svg?sanitize=true&quot; alt=&quot;Open issues&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Overview&lt;/h2&gt; 
&lt;p&gt;Cacti is an open-source network monitoring and graphing platform built on RRDtool.&lt;/p&gt; 
&lt;p&gt;It provides a scalable framework to collect, store, and visualize time-series data from network devices, servers, and applications.&lt;/p&gt; 
&lt;p&gt;Core capabilities include:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Automated device discovery&lt;/li&gt; 
 &lt;li&gt;Local and remote data collection&lt;/li&gt; 
 &lt;li&gt;Graph, data source, and RRA templating&lt;/li&gt; 
 &lt;li&gt;SNMP polling (v1/v2/v3) and IPv6 support&lt;/li&gt; 
 &lt;li&gt;Role-based access control (RBAC)&lt;/li&gt; 
 &lt;li&gt;Plugin framework&lt;/li&gt; 
 &lt;li&gt;Dynamic graph viewing and export options&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Release Branches&lt;/h2&gt; 
&lt;p&gt;Cacti maintains two primary branches:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Branch&lt;/th&gt; 
   &lt;th&gt;Purpose&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;1.2.x&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Stable long-lived release series&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;develop&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Active development toward Cacti 1.3.x&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;For the latest published version, see &lt;a href=&quot;https://github.com/Cacti/cacti/releases&quot;&gt;GitHub Releases&lt;/a&gt;.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;System Requirements&lt;/h2&gt; 
&lt;p&gt;Minimum supported dependencies by branch:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Dependency&lt;/th&gt; 
   &lt;th&gt;Cacti &lt;code&gt;1.2.x&lt;/code&gt;&lt;/th&gt; 
   &lt;th&gt;Cacti &lt;code&gt;develop&lt;/code&gt; (1.3.x)&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;MariaDB&lt;/td&gt; 
   &lt;td&gt;5.6+&lt;/td&gt; 
   &lt;td&gt;10.2.x+&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;MySQL&lt;/td&gt; 
   &lt;td&gt;5.6+&lt;/td&gt; 
   &lt;td&gt;8.0+&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;PHP&lt;/td&gt; 
   &lt;td&gt;8.1+&lt;/td&gt; 
   &lt;td&gt;8.1+&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;RRDtool&lt;/td&gt; 
   &lt;td&gt;1.4+&lt;/td&gt; 
   &lt;td&gt;1.8+&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Net-SNMP&lt;/td&gt; 
   &lt;td&gt;5.5+&lt;/td&gt; 
   &lt;td&gt;5.8+&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Notes:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;RRDtool 1.9+ is recommended for newer dynamic graph features in 1.3.x.&lt;/li&gt; 
 &lt;li&gt;Net-SNMP 5.9+ is recommended for broader SNMPv3 protocol coverage.&lt;/li&gt; 
 &lt;li&gt;A web server with PHP support is required.&lt;/li&gt; 
 &lt;li&gt;PHP should be available as CLI or CGI for scheduled polling and maintenance scripts.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;php-snmp&lt;/code&gt; is optional; validate behavior carefully if you depend on IPv6 and SNMPv3.&lt;/li&gt; 
 &lt;li&gt;To force the Net-SNMP binaries while &lt;code&gt;php-snmp&lt;/code&gt; remains installed, set &lt;code&gt;$php_snmp_support = false;&lt;/code&gt; in &lt;code&gt;include/config.php&lt;/code&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Operating system guidance:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;1.2.x&lt;/code&gt;: RHEL/Rocky/Alma 8+ (or equivalent) is a common baseline.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;1.3.x&lt;/code&gt;: RHEL/Rocky/Alma 9+ or CentOS Stream 9+ is preferred for modern PHP packaging.&lt;/li&gt; 
 &lt;li&gt;Debian and Ubuntu are also well supported.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Installation (Source Checkout)&lt;/h2&gt; 
&lt;p&gt;Clone the repository:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone https://github.com/Cacti/cacti.git
cd cacti
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Dependency management:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;For a source checkout on both &lt;code&gt;1.2.x&lt;/code&gt; and &lt;code&gt;develop&lt;/code&gt;, install dependencies with Composer.&lt;/li&gt; 
 &lt;li&gt;Use &lt;code&gt;composer update&lt;/code&gt; only when intentionally refreshing dependency versions.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Install dependencies:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;composer install
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Windows users may need:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;composer install --ignore-platform-req=ext-pcntl --ignore-platform-req=ext-posix
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Then configure your database and web server, and complete setup using the official docs:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/Cacti/documentation&quot;&gt;https://github.com/Cacti/documentation&lt;/a&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Database Upgrades and Schema Checks&lt;/h2&gt; 
&lt;p&gt;When running from source (especially &lt;code&gt;develop&lt;/code&gt;), schema updates may be required after pulling changes.&lt;/p&gt; 
&lt;p&gt;Upgrade the database schema:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo -u cacti php -q cli/upgrade_database.php --forcever=`cat include/cacti_version`
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;If needed, force a re-upgrade from an earlier version:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;php -q cli/upgrade_database.php --forcever=&amp;lt;older_version&amp;gt;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Audit schema consistency:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;php cli/audit_database.php --report
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Data Collection and Polling&lt;/h2&gt; 
&lt;p&gt;Cacti collects data through data sources, which can use:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;SNMP&lt;/li&gt; 
 &lt;li&gt;Scripts&lt;/li&gt; 
 &lt;li&gt;Command output&lt;/li&gt; 
 &lt;li&gt;Databases&lt;/li&gt; 
 &lt;li&gt;Custom input methods&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Polling engines:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Poller&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;PHP Poller&lt;/td&gt; 
   &lt;td&gt;Built-in polling engine&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Spine&lt;/td&gt; 
   &lt;td&gt;High-performance C-based poller&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Spine supports SNMPv1/v2 and SNMPv3 with IPv6, with some advanced protocol support depending on how Net-SNMP is compiled on your platform.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Device discovery and automation workflows&lt;/li&gt; 
 &lt;li&gt;Reusable templates for graphs and data sources&lt;/li&gt; 
 &lt;li&gt;Distributed remote data collectors&lt;/li&gt; 
 &lt;li&gt;Plugin architecture for extensibility&lt;/li&gt; 
 &lt;li&gt;Dynamic graph interactions (time navigation, realtime view, CSV export)&lt;/li&gt; 
 &lt;li&gt;Fine-grained user and group permissions using RBAC&lt;/li&gt; 
 &lt;li&gt;Broad RRDtool graphing support (including VDEFs and stacked lines)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;p&gt;Official documentation is maintained in a separate repository:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/Cacti/documentation&quot;&gt;https://github.com/Cacti/documentation&lt;/a&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;Contributions are welcome.&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Fork this repository.&lt;/li&gt; 
 &lt;li&gt;Create a branch for your change.&lt;/li&gt; 
 &lt;li&gt;Submit a pull request.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;You can also help improve docs in:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/Cacti/documentation&quot;&gt;https://github.com/Cacti/documentation&lt;/a&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Community&lt;/h2&gt; 
&lt;p&gt;Community support is available on the Cacti forums:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://forums.cacti.net&quot;&gt;https://forums.cacti.net&lt;/a&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Contributors&lt;/h2&gt; 
&lt;p&gt;Thanks go to these wonderful people (&lt;a href=&quot;https://allcontributors.org/docs/en/emoji-key&quot;&gt;emoji key&lt;/a&gt;):&lt;/p&gt; 
&lt;!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --&gt; 
&lt;!-- markdownlint-disable --&gt; 
&lt;table&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Rax&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/59353?v=4&quot; width=&quot;100px;&quot; alt=&quot;Ian Berry&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Ian Berry&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Design&quot;&gt;🎨&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/gan-dalf&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/10427042?v=4&quot; width=&quot;100px;&quot; alt=&quot;Reinhard Scheck&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Reinhard Scheck&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/rony&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/87737?v=4&quot; width=&quot;100px;&quot; alt=&quot;Tony Roman&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Tony Roman&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;span title=&quot;Design&quot;&gt;🎨&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/ablyler&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/137642?v=4&quot; width=&quot;100px;&quot; alt=&quot;Andy Blyler&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Andy Blyler&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/TheWitness&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1439914?v=4&quot; width=&quot;100px;&quot; alt=&quot;Larry Adams&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Larry Adams&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Infrastructure&quot;&gt;🚇&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;span title=&quot;Design&quot;&gt;🎨&lt;/span&gt;&lt;span title=&quot;Maintenance&quot;&gt;🚧&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/netniV&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/9052188?v=4&quot; width=&quot;100px;&quot; alt=&quot;Mark Brugnoli-Vinten&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Mark Brugnoli-Vinten&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Infrastructure&quot;&gt;🚇&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;span title=&quot;Design&quot;&gt;🎨&lt;/span&gt;&lt;span title=&quot;Maintenance&quot;&gt;🚧&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/cigamit&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/957322?v=4&quot; width=&quot;100px;&quot; alt=&quot;Jimmy Conner&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Jimmy Conner&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Infrastructure&quot;&gt;🚇&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;span title=&quot;Design&quot;&gt;🎨&lt;/span&gt;&lt;span title=&quot;Maintenance&quot;&gt;🚧&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/xmacan&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/26485719?v=4&quot; width=&quot;100px;&quot; alt=&quot;Petr Macek&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Petr Macek&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/browniebraun&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/5182348?v=4&quot; width=&quot;100px;&quot; alt=&quot;Andreas Braun&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Andreas Braun&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;span title=&quot;Design&quot;&gt;🎨&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/ddb4github&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/17589018?v=4&quot; width=&quot;100px;&quot; alt=&quot;Jing Chen&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Jing Chen&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/somethingwithproof&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/341181?v=4&quot; width=&quot;100px;&quot; alt=&quot;Thomas Vincent&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Thomas Vincent&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Infrastructure&quot;&gt;🚇&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;span title=&quot;Maintenance&quot;&gt;🚧&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/bmfmancini&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/13388748?v=4&quot; width=&quot;100px;&quot; alt=&quot;Sean Mancini&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Sean Mancini&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Infrastructure&quot;&gt;🚇&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Linegod&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/192055?v=4&quot; width=&quot;100px;&quot; alt=&quot;J.P. Pasnak, CD&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;J.P. Pasnak, CD&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/BSOD2600&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/5741811?v=4&quot; width=&quot;100px;&quot; alt=&quot;Chris Bell&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Chris Bell&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/paulgevers&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/3652166?v=4&quot; width=&quot;100px;&quot; alt=&quot;Paul Gevers&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Paul Gevers&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/mortenstevens&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/4620532?v=4&quot; width=&quot;100px;&quot; alt=&quot;Morten Stevens&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Morten Stevens&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/iankberry&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1476889?v=4&quot; width=&quot;100px;&quot; alt=&quot;iankberry&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;iankberry&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/ronytomen&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/5140624?v=4&quot; width=&quot;100px;&quot; alt=&quot;ronytomen&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;ronytomen&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/reboot1983&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/20405704?v=4&quot; width=&quot;100px;&quot; alt=&quot;reboot1983&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;reboot1983&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/micke2k&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/16924668?v=4&quot; width=&quot;100px;&quot; alt=&quot;micke2k&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;micke2k&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Design&quot;&gt;🎨&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/EkaterinePapava&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/96391731?v=4&quot; width=&quot;100px;&quot; alt=&quot;EkaterinePapava&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;EkaterinePapava&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/hljtql&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/170838555?v=4&quot; width=&quot;100px;&quot; alt=&quot;hljtql&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;hljtql&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/yeager&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1206564?v=4&quot; width=&quot;100px;&quot; alt=&quot;yeager&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;yeager&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/YongBoLiu&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/12453888?v=4&quot; width=&quot;100px;&quot; alt=&quot;YongBoLiu&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;YongBoLiu&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/arjanoosting&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1773421?v=4&quot; width=&quot;100px;&quot; alt=&quot;arjanoosting&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;arjanoosting&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Coool&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/8421903?v=4&quot; width=&quot;100px;&quot; alt=&quot;Coool&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Coool&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/kim-fitness&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/47587743?v=4&quot; width=&quot;100px;&quot; alt=&quot;kim-fitness&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;kim-fitness&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/earendilfr&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/2353530?v=4&quot; width=&quot;100px;&quot; alt=&quot;earendilfr&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;earendilfr&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/purplegrape&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/7689554?v=4&quot; width=&quot;100px;&quot; alt=&quot;purplegrape&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;purplegrape&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/zersh01&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/12559114?v=4&quot; width=&quot;100px;&quot; alt=&quot;Сергей&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Сергей&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/DavidLiedke&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/25581728?v=4&quot; width=&quot;100px;&quot; alt=&quot;DavidLiedke&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;DavidLiedke&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/MSS970&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/124117691?v=4&quot; width=&quot;100px;&quot; alt=&quot;MSS970&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;MSS970&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/SjonHortensius&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1684987?v=4&quot; width=&quot;100px;&quot; alt=&quot;SjonHortensius&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;SjonHortensius&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/thurban&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/17292964?v=4&quot; width=&quot;100px;&quot; alt=&quot;thurban&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;thurban&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/riversdev0&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/7363202?v=4&quot; width=&quot;100px;&quot; alt=&quot;riversdev0&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;riversdev0&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/chilek&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1457437?v=4&quot; width=&quot;100px;&quot; alt=&quot;chilek&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;chilek&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/MarcBanyard&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/5603694?v=4&quot; width=&quot;100px;&quot; alt=&quot;MarcBanyard&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;MarcBanyard&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/bernisys&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/32120318?v=4&quot; width=&quot;100px;&quot; alt=&quot;bernisys&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;bernisys&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/ka1lie&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/80548876?v=4&quot; width=&quot;100px;&quot; alt=&quot;ka1lie&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;ka1lie&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/nerosketch&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/3026806?v=4&quot; width=&quot;100px;&quot; alt=&quot;Dmitry&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Dmitry&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/sysres-dev&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/45565495?v=4&quot; width=&quot;100px;&quot; alt=&quot;sysres-dev&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;sysres-dev&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/rb83&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/37115507?v=4&quot; width=&quot;100px;&quot; alt=&quot;rb83&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;rb83&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/click0&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/396824?v=4&quot; width=&quot;100px;&quot; alt=&quot;click0&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;click0&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/smiles1969&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/17500126?v=4&quot; width=&quot;100px;&quot; alt=&quot;smiles1969&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;smiles1969&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/gadzet21&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/33205464?v=4&quot; width=&quot;100px;&quot; alt=&quot;gadzet21&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;gadzet21&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/rlaager&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/113383?v=4&quot; width=&quot;100px;&quot; alt=&quot;rlaager&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;rlaager&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/paulcalabro&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/585059?v=4&quot; width=&quot;100px;&quot; alt=&quot;paulcalabro&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;paulcalabro&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/mhoran&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/5330?v=4&quot; width=&quot;100px;&quot; alt=&quot;mhoran&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;mhoran&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/jpobeda&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/13456559?v=4&quot; width=&quot;100px;&quot; alt=&quot;Javier&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Javier&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/frontierliu&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/24820773?v=4&quot; width=&quot;100px;&quot; alt=&quot;frontierliu&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;frontierliu&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/xbolshe&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/10796236?v=4&quot; width=&quot;100px;&quot; alt=&quot;xbolshe&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;xbolshe&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/arno-st&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/25684899?v=4&quot; width=&quot;100px;&quot; alt=&quot;arno-st&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;arno-st&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/c72578&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/371551?v=4&quot; width=&quot;100px;&quot; alt=&quot;c72578&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;c72578&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/C00kiekiller&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/16733284?v=4&quot; width=&quot;100px;&quot; alt=&quot;C00kiekiller&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;C00kiekiller&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/nuno-silva&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/6935057?v=4&quot; width=&quot;100px;&quot; alt=&quot;nuno-silva&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;nuno-silva&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/pautiina&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/11805503?v=4&quot; width=&quot;100px;&quot; alt=&quot;pautiina&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;pautiina&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/interduo&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/17087236?v=4&quot; width=&quot;100px;&quot; alt=&quot;interduo&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;interduo&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/seanmancini&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/69045419?v=4&quot; width=&quot;100px;&quot; alt=&quot;seanmancini&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;seanmancini&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/jav4&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1255582?v=4&quot; width=&quot;100px;&quot; alt=&quot;jav4&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;jav4&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/fabriciotm&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/13259471?v=4&quot; width=&quot;100px;&quot; alt=&quot;fabriciotm&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;fabriciotm&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/eriksejr&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1184784?v=4&quot; width=&quot;100px;&quot; alt=&quot;eriksejr&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;eriksejr&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/hb9xar&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/16654801?v=4&quot; width=&quot;100px;&quot; alt=&quot;hb9xar&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;hb9xar&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/nightflyza&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1496954?v=4&quot; width=&quot;100px;&quot; alt=&quot;nightflyza&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;nightflyza&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/nbz6&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/4399512?v=4&quot; width=&quot;100px;&quot; alt=&quot;nbz6&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;nbz6&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/iaohkut&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/77691959?v=4&quot; width=&quot;100px;&quot; alt=&quot;iaohkut&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;iaohkut&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/nakayama1869&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/180251799?v=4&quot; width=&quot;100px;&quot; alt=&quot;Nakayama Kito&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Nakayama Kito&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/SMark-Black&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/34352839?v=4&quot; width=&quot;100px;&quot; alt=&quot;SMark-Black&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;SMark-Black&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Givo29&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/21019692?v=4&quot; width=&quot;100px;&quot; alt=&quot;Givo29&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Givo29&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/GregOriol&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/3975044?v=4&quot; width=&quot;100px;&quot; alt=&quot;GregOriol&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;GregOriol&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/gvde&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/12151414?v=4&quot; width=&quot;100px;&quot; alt=&quot;gvde&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;gvde&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/dallenk&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/2725066?v=4&quot; width=&quot;100px;&quot; alt=&quot;dallenk&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;dallenk&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/dvzrv&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/432519?v=4&quot; width=&quot;100px;&quot; alt=&quot;dvzrv&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;dvzrv&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/ctrowat&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/9736285?v=4&quot; width=&quot;100px;&quot; alt=&quot;ctrowat&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;ctrowat&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Beuc&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/980977?v=4&quot; width=&quot;100px;&quot; alt=&quot;Beuc&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Beuc&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/panlinux&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/5117210?v=4&quot; width=&quot;100px;&quot; alt=&quot;panlinux&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;panlinux&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/begemoti&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/3950844?v=4&quot; width=&quot;100px;&quot; alt=&quot;begemoti&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;begemoti&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/dsclassen&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/8882563?v=4&quot; width=&quot;100px;&quot; alt=&quot;dsclassen&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;dsclassen&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/scline&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/4343127?v=4&quot; width=&quot;100px;&quot; alt=&quot;scline&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;scline&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/sky93&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/8404511?v=4&quot; width=&quot;100px;&quot; alt=&quot;sky93&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;sky93&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/SergioChan&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/10103766?v=4&quot; width=&quot;100px;&quot; alt=&quot;SergioChan&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;SergioChan&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/ShaunR&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1671445?v=4&quot; width=&quot;100px;&quot; alt=&quot;ShaunR&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;ShaunR&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/sebastienwarin&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/6674275?v=4&quot; width=&quot;100px;&quot; alt=&quot;sebastienwarin&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;sebastienwarin&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/tbriceno-hub&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/250696663?v=4&quot; width=&quot;100px;&quot; alt=&quot;tbriceno-hub&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;tbriceno-hub&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/tyearke&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/8796171?v=4&quot; width=&quot;100px;&quot; alt=&quot;tyearke&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;tyearke&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Vladyslav78956785786576&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/145745713?v=4&quot; width=&quot;100px;&quot; alt=&quot;Vladyslav78956785786576&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Vladyslav78956785786576&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/aliuzzz&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/43594093?v=4&quot; width=&quot;100px;&quot; alt=&quot;aliuzzz&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;aliuzzz&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/UnAfraid&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/2185291?v=4&quot; width=&quot;100px;&quot; alt=&quot;UnAfraid&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;UnAfraid&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/robwdwd&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/25034043?v=4&quot; width=&quot;100px;&quot; alt=&quot;robwdwd&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;robwdwd&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Poslik&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/35453993?v=4&quot; width=&quot;100px;&quot; alt=&quot;Poslik&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Poslik&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Xake&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/7527?v=4&quot; width=&quot;100px;&quot; alt=&quot;Xake&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Xake&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Cosmologist&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/966525?v=4&quot; width=&quot;100px;&quot; alt=&quot;Cosmologist&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Cosmologist&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/PVi1&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/4092388?v=4&quot; width=&quot;100px;&quot; alt=&quot;PVi1&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;PVi1&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/OhWelp&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/6979910?v=4&quot; width=&quot;100px;&quot; alt=&quot;OhWelp&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;OhWelp&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/TheNetworkIsDown&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/277893?v=4&quot; width=&quot;100px;&quot; alt=&quot;TheNetworkIsDown&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;TheNetworkIsDown&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/tersmitten&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/3392962?v=4&quot; width=&quot;100px;&quot; alt=&quot;tersmitten&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;tersmitten&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/F-i-f&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/17555212?v=4&quot; width=&quot;100px;&quot; alt=&quot;F-i-f&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;F-i-f&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/terrellgf&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/54665471?v=4&quot; width=&quot;100px;&quot; alt=&quot;terrellgf&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;terrellgf&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/surfermarty&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/14908931?v=4&quot; width=&quot;100px;&quot; alt=&quot;surfermarty&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;surfermarty&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/aqr199&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/44886279?v=4&quot; width=&quot;100px;&quot; alt=&quot;aqr199&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;aqr199&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/snsupersharp&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/36817012?v=4&quot; width=&quot;100px;&quot; alt=&quot;snsupersharp&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;snsupersharp&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/skyjou&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/13309854?v=4&quot; width=&quot;100px;&quot; alt=&quot;skyjou&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;skyjou&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/skeletorgithub&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/9963056?v=4&quot; width=&quot;100px;&quot; alt=&quot;skeletorgithub&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;skeletorgithub&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/richud&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1336040?v=4&quot; width=&quot;100px;&quot; alt=&quot;richud&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;richud&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/oshiewan&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/3755601?v=4&quot; width=&quot;100px;&quot; alt=&quot;oshiewan&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;oshiewan&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/oderturm&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/20552268?v=4&quot; width=&quot;100px;&quot; alt=&quot;oderturm&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;oderturm&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/stevenseeley&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1301421?v=4&quot; width=&quot;100px;&quot; alt=&quot;stevenseeley&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;stevenseeley&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/mcnc-clovett&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/57356081?v=4&quot; width=&quot;100px;&quot; alt=&quot;mcnc-clovett&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;mcnc-clovett&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/m8522s&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/43844394?v=4&quot; width=&quot;100px;&quot; alt=&quot;m8522s&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;m8522s&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/linusat&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/19626960?v=4&quot; width=&quot;100px;&quot; alt=&quot;linusat&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;linusat&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/kruegerj&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/8223375?v=4&quot; width=&quot;100px;&quot; alt=&quot;kruegerj&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;kruegerj&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/kotso&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1928528?v=4&quot; width=&quot;100px;&quot; alt=&quot;kotso&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;kotso&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/jsgh&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/7191534?v=4&quot; width=&quot;100px;&quot; alt=&quot;jsgh&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;jsgh&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/jkbzh&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/3439365?v=4&quot; width=&quot;100px;&quot; alt=&quot;jkbzh&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;jkbzh&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/itaxer&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/24791169?v=4&quot; width=&quot;100px;&quot; alt=&quot;itaxer&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;itaxer&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/dwpaulx&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/87430816?v=4&quot; width=&quot;100px;&quot; alt=&quot;dwpaulx&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;dwpaulx&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/ahouston&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1083694?v=4&quot; width=&quot;100px;&quot; alt=&quot;ahouston&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;ahouston&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/xavloose&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/19255191?v=4&quot; width=&quot;100px;&quot; alt=&quot;xavloose&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;xavloose&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/evansa&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/800828?v=4&quot; width=&quot;100px;&quot; alt=&quot;evansa&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;evansa&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/eduardomozart&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/2974895?v=4&quot; width=&quot;100px;&quot; alt=&quot;eduardomozart&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;eduardomozart&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/edewillians10&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/38332419?v=4&quot; width=&quot;100px;&quot; alt=&quot;edewillians10&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;edewillians10&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/dimaslv&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/6514189?v=4&quot; width=&quot;100px;&quot; alt=&quot;dimaslv&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;dimaslv&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/simfishing&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/684382?v=4&quot; width=&quot;100px;&quot; alt=&quot;simfishing&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;simfishing&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/duhow&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1145001?v=4&quot; width=&quot;100px;&quot; alt=&quot;duhow&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;duhow&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/dschall&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/562314?v=4&quot; width=&quot;100px;&quot; alt=&quot;dschall&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;dschall&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/dschultzca&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1688870?v=4&quot; width=&quot;100px;&quot; alt=&quot;dschultzca&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;dschultzca&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/kripper&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1479804?v=4&quot; width=&quot;100px;&quot; alt=&quot;kripper&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;kripper&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/3bars&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/51767560?v=4&quot; width=&quot;100px;&quot; alt=&quot;3bars&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;3bars&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/kornrunner&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/725986?v=4&quot; width=&quot;100px;&quot; alt=&quot;kornrunner&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;kornrunner&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/carryel&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/382836?v=4&quot; width=&quot;100px;&quot; alt=&quot;carryel&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;carryel&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/dabeani&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/7305629?v=4&quot; width=&quot;100px;&quot; alt=&quot;dabeani&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;dabeani&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/xubowin&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/19493946?v=4&quot; width=&quot;100px;&quot; alt=&quot;xubowin&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;xubowin&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/barreljan&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/29972043?v=4&quot; width=&quot;100px;&quot; alt=&quot;barreljan&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;barreljan&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/athos-ribeiro&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/2052794?v=4&quot; width=&quot;100px;&quot; alt=&quot;athos-ribeiro&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;athos-ribeiro&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/apinheiro&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/229617?v=4&quot; width=&quot;100px;&quot; alt=&quot;apinheiro&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;apinheiro&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/sashashura&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/93376818?v=4&quot; width=&quot;100px;&quot; alt=&quot;sashashura&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;sashashura&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/A200K&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/7504530?v=4&quot; width=&quot;100px;&quot; alt=&quot;A200K&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;A200K&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/k0pak4&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/9121784?v=4&quot; width=&quot;100px;&quot; alt=&quot;k0pak4&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;k0pak4&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/TheBlueMatt&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/649246?v=4&quot; width=&quot;100px;&quot; alt=&quot;TheBlueMatt&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;TheBlueMatt&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/mchorsley&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/34482821?v=4&quot; width=&quot;100px;&quot; alt=&quot;mchorsley&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;mchorsley&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/luismrsilva&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/6828187?v=4&quot; width=&quot;100px;&quot; alt=&quot;luismrsilva&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;luismrsilva&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/daniel-lucio&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/3492858?v=4&quot; width=&quot;100px;&quot; alt=&quot;daniel-lucio&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;daniel-lucio&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Luhrel&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/57545107?v=4&quot; width=&quot;100px;&quot; alt=&quot;Luhrel&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Luhrel&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/stslayer1&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/122294943?v=4&quot; width=&quot;100px;&quot; alt=&quot;stslayer1&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;stslayer1&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/KrisShannon&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/24613?v=4&quot; width=&quot;100px;&quot; alt=&quot;KrisShannon&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;KrisShannon&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/devsibwarra&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/15784342?v=4&quot; width=&quot;100px;&quot; alt=&quot;devsibwarra&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;devsibwarra&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/kersten-lohmeyer&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/61520094?v=4&quot; width=&quot;100px;&quot; alt=&quot;kersten-lohmeyer&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;kersten-lohmeyer&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Harry-Junhua-Huang&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/102781739?v=4&quot; width=&quot;100px;&quot; alt=&quot;Harry-Junhua-Huang&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Harry-Junhua-Huang&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/jsoref&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/2119212?v=4&quot; width=&quot;100px;&quot; alt=&quot;jsoref&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;jsoref&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Tests&quot;&gt;⚠️&lt;/span&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/JonBogan&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/28870447?v=4&quot; width=&quot;100px;&quot; alt=&quot;JonBogan&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;JonBogan&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/jayaich&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/6230023?v=4&quot; width=&quot;100px;&quot; alt=&quot;jayaich&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;jayaich&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/jab60&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/108667514?v=4&quot; width=&quot;100px;&quot; alt=&quot;jab60&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;jab60&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/jkrinke&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/3253748?v=4&quot; width=&quot;100px;&quot; alt=&quot;jkrinke&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;jkrinke&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/JamesTilt&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/73500597?v=4&quot; width=&quot;100px;&quot; alt=&quot;JamesTilt&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;JamesTilt&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/neclimdul&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/82823?v=4&quot; width=&quot;100px;&quot; alt=&quot;neclimdul&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;neclimdul&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/hmorandell&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/7601690?v=4&quot; width=&quot;100px;&quot; alt=&quot;hmorandell&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;hmorandell&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/gdsotirov&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/955033?v=4&quot; width=&quot;100px;&quot; alt=&quot;gdsotirov&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;gdsotirov&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/inode64&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/1045720?v=4&quot; width=&quot;100px;&quot; alt=&quot;inode64&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;inode64&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/00gh&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/36605979?v=4&quot; width=&quot;100px;&quot; alt=&quot;00gh&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;00gh&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/dk-dksoft&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/48943297?v=4&quot; width=&quot;100px;&quot; alt=&quot;Dmitrii&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Dmitrii&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Reviewed Pull Requests&quot;&gt;👀&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;mailto:patrick@patrickrademaker.nl&quot;&gt;&lt;img src=&quot;https://www.gravatar.com/avatar/3614e9492b8064f42cbcf90007c958f2?d=identicon&amp;amp;s=100&quot; width=&quot;100px;&quot; alt=&quot;Patrick&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Patrick&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Security&quot;&gt;🛡️&lt;/span&gt;&lt;span title=&quot;Documentation&quot;&gt;📖&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;mailto:daniel@danielnylander.se&quot;&gt;&lt;img src=&quot;https://www.gravatar.com/avatar/e23cdd77f5402b2a5cacb2603d30b162?d=identicon&amp;amp;s=100&quot; width=&quot;100px;&quot; alt=&quot;Daniel Nylander&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Daniel Nylander&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;mailto:baka109g@gmail.com&quot;&gt;&lt;img src=&quot;https://www.gravatar.com/avatar/932b32707ab10a8e56dfb43d10c751b8?d=identicon&amp;amp;s=100&quot; width=&quot;100px;&quot; alt=&quot;Anton Zhuravlev&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Anton Zhuravlev&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;mailto:john.horne@plymouth.ac.uk&quot;&gt;&lt;img src=&quot;https://www.gravatar.com/avatar/99e2704c0e671f6c8213ddb93e549d9a?d=identicon&amp;amp;s=100&quot; width=&quot;100px;&quot; alt=&quot;John Horne&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;John Horne&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;mailto:akapulko@gmail.com&quot;&gt;&lt;img src=&quot;https://www.gravatar.com/avatar/d83b6588c547b1d30c4c8d6744348dd3?d=identicon&amp;amp;s=100&quot; width=&quot;100px;&quot; alt=&quot;Vladyslav V. Prodan&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Vladyslav V. Prodan&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;mailto:ronny.preiss@gmail.com&quot;&gt;&lt;img src=&quot;https://www.gravatar.com/avatar/78c98a1f8223839cf818a0b7263c3f4e?d=identicon&amp;amp;s=100&quot; width=&quot;100px;&quot; alt=&quot;Ronny Preiss&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Ronny Preiss&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;mailto:info@ubilling.net.ua&quot;&gt;&lt;img src=&quot;https://www.gravatar.com/avatar/b933bcb2e004a82603245b5c39ec3f1f?d=identicon&amp;amp;s=100&quot; width=&quot;100px;&quot; alt=&quot;Rostyslav Haitkulov&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Rostyslav Haitkulov&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;mailto:nb1dev@free.fr&quot;&gt;&lt;img src=&quot;https://www.gravatar.com/avatar/5c1bd0c348440ee9bce2040407b1ad0b?d=identicon&amp;amp;s=100&quot; width=&quot;100px;&quot; alt=&quot;Nicolas BUTIN&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Nicolas BUTIN&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;span title=&quot;Translation&quot;&gt;🌍&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/olafhering&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/942324?v=4&quot; width=&quot;100px;&quot; alt=&quot;olafhering&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;olafhering&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/Mojo-OG&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/57604549?v=4&quot; width=&quot;100px;&quot; alt=&quot;Mojo-OG&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;Mojo-OG&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
   &lt;td align=&quot;center&quot; valign=&quot;top&quot; width=&quot;14.28%&quot;&gt;&lt;a href=&quot;https://github.com/abdulm5&quot;&gt;&lt;img src=&quot;https://avatars.githubusercontent.com/u/154353563?v=4&quot; width=&quot;100px;&quot; alt=&quot;abdulm5&quot; /&gt;&lt;br /&gt;&lt;sub&gt;&lt;b&gt;abdulm5&lt;/b&gt;&lt;/sub&gt;&lt;/a&gt;&lt;br /&gt;&lt;span title=&quot;Code&quot;&gt;💻&lt;/span&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;!-- markdownlint-restore --&gt; 
&lt;!-- ALL-CONTRIBUTORS-LIST:END --&gt; 
&lt;p&gt;This project follows the &lt;a href=&quot;https://github.com/all-contributors/all-contributors&quot;&gt;all-contributors&lt;/a&gt; specification. Contributions of any kind are welcome.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Cacti is licensed under the GNU General Public License v2.0.&lt;/p&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/Cacti/cacti/develop/LICENSE&quot;&gt;LICENSE&lt;/a&gt; for details.&lt;/p&gt; 
&lt;p&gt;Copyright (c) 2004-2026 The Cacti Group, Inc.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/29455529/565e5980-aa45-11e9-9ab9-b4d418e35dcd" medium="image" />
      
    </item>
    
    <item>
      <title>cedar2025/Xboard</title>
      <link>https://github.com/cedar2025/Xboard</link>
      <description>&lt;p&gt;High-performance panel based on V2board secondary development supporting new protocols and new features&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Xboard&lt;/h1&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;p&gt;&lt;a href=&quot;https://t.me/XboardOfficial&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Telegram-Channel-blue&quot; alt=&quot;Telegram&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;https://img.shields.io/badge/PHP-8.2+-green.svg?sanitize=true&quot; alt=&quot;PHP&quot; /&gt; &lt;img src=&quot;https://img.shields.io/badge/MySQL-5.7+-blue.svg?sanitize=true&quot; alt=&quot;MySQL&quot; /&gt; &lt;a href=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/LICENSE&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/License-MIT-yellow.svg?sanitize=true&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;h2&gt;📖 Introduction&lt;/h2&gt; 
&lt;p&gt;Xboard is a modern panel system built on Laravel 11, focusing on providing a clean and efficient user experience.&lt;/p&gt; 
&lt;h2&gt;✨ Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;🚀 Built with Laravel 12 + Octane for significant performance gains&lt;/li&gt; 
 &lt;li&gt;🎨 Redesigned admin interface (React + Shadcn UI)&lt;/li&gt; 
 &lt;li&gt;📱 Modern user frontend (Vue3 + TypeScript)&lt;/li&gt; 
 &lt;li&gt;🐳 Ready-to-use Docker deployment solution&lt;/li&gt; 
 &lt;li&gt;🎯 Optimized system architecture for better maintainability&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;🚀 Quick Start&lt;/h2&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone -b compose --depth 1 https://github.com/cedar2025/Xboard &amp;amp;&amp;amp; \
cd Xboard &amp;amp;&amp;amp; \
docker compose run -it --rm \
    -e ENABLE_SQLITE=true \
    -e ENABLE_REDIS=true \
    -e ADMIN_ACCOUNT=admin@demo.com \
    xboard php artisan xboard:install &amp;amp;&amp;amp; \
docker compose up -d
&lt;/code&gt;&lt;/pre&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;After installation, visit: http://SERVER_IP:7001&lt;br /&gt; ⚠️ Make sure to save the admin credentials shown during installation&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h2&gt;📖 Documentation&lt;/h2&gt; 
&lt;h3&gt;🔄 Upgrade Notice&lt;/h3&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;🚨 &lt;strong&gt;Important:&lt;/strong&gt; This version involves significant changes. Please strictly follow the upgrade documentation and backup your database before upgrading. Note that upgrading and migration are different processes, do not confuse them.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h3&gt;Development Guides&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/docs/en/development/plugin-development-guide.md&quot;&gt;Plugin Development Guide&lt;/a&gt; - Complete guide for developing XBoard plugins&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Deployment Guides&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/docs/en/installation/1panel.md&quot;&gt;Deploy with 1Panel&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/docs/en/installation/docker-compose.md&quot;&gt;Deploy with Docker Compose&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/docs/en/installation/aapanel.md&quot;&gt;Deploy with aaPanel&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/docs/en/installation/aapanel-docker.md&quot;&gt;Deploy with aaPanel + Docker&lt;/a&gt; (Recommended)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Migration Guides&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/docs/en/migration/v2board-dev.md&quot;&gt;Migrate from v2board dev&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/docs/en/migration/v2board-1.7.4.md&quot;&gt;Migrate from v2board 1.7.4&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/docs/en/migration/v2board-1.7.3.md&quot;&gt;Migrate from v2board 1.7.3&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;🛠️ Tech Stack&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Backend: Laravel 11 + Octane&lt;/li&gt; 
 &lt;li&gt;Admin Panel: React + Shadcn UI + TailwindCSS&lt;/li&gt; 
 &lt;li&gt;User Frontend: Vue3 + TypeScript + NaiveUI&lt;/li&gt; 
 &lt;li&gt;Deployment: Docker + Docker Compose&lt;/li&gt; 
 &lt;li&gt;Caching: Redis + Octane Cache&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;📷 Preview&lt;/h2&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/docs/images/admin.png&quot; alt=&quot;Admin Preview&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/cedar2025/Xboard/master/docs/images/user.png&quot; alt=&quot;User Preview&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;⚠️ Disclaimer&lt;/h2&gt; 
&lt;p&gt;This project is for learning and communication purposes only. Users are responsible for any consequences of using this project.&lt;/p&gt; 
&lt;h2&gt;❤️ Support The Project&lt;/h2&gt; 
&lt;p&gt;If this project has helped you, donations are appreciated. They help support ongoing maintenance and would make me very happy.&lt;/p&gt; 
&lt;p&gt;TRC20: &lt;code&gt;TLypStEWsVrj6Wz9mCxbXffqgt5yz3Y4XB&lt;/code&gt;&lt;/p&gt; 
&lt;h2&gt;🌟 Maintenance Notice&lt;/h2&gt; 
&lt;p&gt;This project is currently under light maintenance. We will:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Fix critical bugs and security issues&lt;/li&gt; 
 &lt;li&gt;Review and merge important pull requests&lt;/li&gt; 
 &lt;li&gt;Provide necessary updates for compatibility&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;However, new feature development may be limited.&lt;/p&gt; 
&lt;h2&gt;🔔 Important Notes&lt;/h2&gt; 
&lt;ol&gt; 
 &lt;li&gt;Restart required after modifying admin path:&lt;/li&gt; 
&lt;/ol&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;docker compose restart
&lt;/code&gt;&lt;/pre&gt; 
&lt;ol start=&quot;2&quot;&gt; 
 &lt;li&gt;For aaPanel installations, restart the Octane daemon process&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h2&gt;🤝 Contributing&lt;/h2&gt; 
&lt;p&gt;Issues and Pull Requests are welcome to help improve the project.&lt;/p&gt; 
&lt;h2&gt;📈 Star History&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://starchart.cc/cedar2025/Xboard&quot;&gt;&lt;img src=&quot;https://starchart.cc/cedar2025/Xboard.svg?sanitize=true&quot; alt=&quot;Stargazers over time&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/4095ee0f787348fa52904dbaf49c9834bf5f5e41dc66efcc3aecbd73391915ba/cedar2025/Xboard" medium="image" />
      
    </item>
    
    <item>
      <title>espocrm/espocrm</title>
      <link>https://github.com/espocrm/espocrm</link>
      <description>&lt;p&gt;EspoCRM – Open Source CRM Application&lt;/p&gt;&lt;hr&gt;&lt;h2&gt;EspoCRM&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/espocrm/espocrm/master/#espocrm&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/PHPStan-level%208-brightgreen&quot; alt=&quot;PHPStan level 8&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.espocrm.com&quot;&gt;EspoCRM&lt;/a&gt; is a free, open-source CRM platform designed to help organizations build and maintain strong customer relationships. It provides a wide range of tools to store, organize, and manage leads, contacts, sales opportunities, marketing campaigns, support cases, and more – all business information in a simple and intuitive interface.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://github.com/user-attachments/assets/d0806394-3691-43a1-83a5-16ad2e7314e2&quot; alt=&quot;Screenshot&quot; /&gt;&lt;/p&gt; 
&lt;h3&gt;Architecture&lt;/h3&gt; 
&lt;p&gt;EspoCRM is a web application with a frontend designed as a single-page application and a REST API backend written in PHP.&lt;/p&gt; 
&lt;h3&gt;Demo&lt;/h3&gt; 
&lt;p&gt;You can try the CRM on an online &lt;a href=&quot;https://www.espocrm.com/demo/&quot;&gt;demo&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Requirements&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;PHP 8.3 - 8.5;&lt;/li&gt; 
 &lt;li&gt;MySQL 8.0 (and later), or MariaDB 10.3 (and later);&lt;/li&gt; 
 &lt;li&gt;PostgreSQL 15 (and later).&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;For more information about server configuration, see &lt;a href=&quot;https://docs.espocrm.com/administration/server-configuration/&quot;&gt;this article&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Download&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.espocrm.com/download/&quot;&gt;Download&lt;/a&gt; the latest release from our website or from GitHub &lt;a href=&quot;https://github.com/espocrm/espocrm/releases&quot;&gt;releases&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Release notes&lt;/h3&gt; 
&lt;p&gt;Release notes are available at GitHub &lt;a href=&quot;https://github.com/espocrm/espocrm/releases&quot;&gt;releases&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Documentation&lt;/h3&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://docs.espocrm.com&quot;&gt;documentation&lt;/a&gt; for administrators, users and developers.&lt;/p&gt; 
&lt;h3&gt;Why EspoCRM?&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Open-source transparency. EspoCRM&#39;s source code is open and accessible, so anyone can inspect it and see how data is being managed within the CRM.&lt;/li&gt; 
 &lt;li&gt;Customization freedom. You can develop features, create custom entities, fields, relationships, buttons to make the system fit your specific needs. EspoCRM is more than a CRM – it&#39;s a platform for building custom business applications.&lt;/li&gt; 
 &lt;li&gt;Clean user interface. EspoCRM offers an uncluttered, minimalist, and fast user interface, which is easy to navigate and has a short learning curve.&lt;/li&gt; 
 &lt;li&gt;Straightforward REST API. It can be easily integrated with other applications using a REST API.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Who is EspoCRM for?&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;From startups, small &amp;amp; medium-sized businesses to larger organizations. A flexible, fully customizable solution that scales with your needs.&lt;/li&gt; 
 &lt;li&gt;Developers &amp;amp; tech enthusiasts. You can extend functionalities, build extensions, and create custom integrations.&lt;/li&gt; 
 &lt;li&gt;Anyone seeking a free or on-premise CRM.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Installing stable version&lt;/h3&gt; 
&lt;p&gt;See installation instructions:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.espocrm.com/administration/installation/&quot;&gt;Manual installation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.espocrm.com/administration/installation-by-script/&quot;&gt;Installation by script&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.espocrm.com/administration/docker/installation/&quot;&gt;Installation with Docker&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.espocrm.com/administration/docker/traefik/&quot;&gt;Installation with Traefik&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Bug reporting&lt;/h3&gt; 
&lt;p&gt;Create a &lt;a href=&quot;https://github.com/espocrm/espocrm/issues/new/choose&quot;&gt;GitHub issue&lt;/a&gt; or post on our &lt;a href=&quot;https://forum.espocrm.com/forum/bug-reports&quot;&gt;forum&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Development&lt;/h3&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://docs.espocrm.com/development/&quot;&gt;developer documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;We highly recommend using an IDE for development. The backend codebase adheres to SOLID principles, utilizes interfaces, static typing and generics. We recommend to start learning EspoCRM from the Dependency Injection article in the documentation.&lt;/p&gt; 
&lt;p&gt;Metadata plays an integral role in the EspoCRM application. All possible parameters are described with a JSON Schema, meaning you will have autocompletion in the IDE. You can also find the full metadata reference in the documentation.&lt;/p&gt; 
&lt;p&gt;The frontend is an SPA built on a custom framework. It utilizes nested views and service DI, with the core partially written in TypeScript. Developers primarily work with existing form and field view implementations.&lt;/p&gt; 
&lt;h3&gt;Community &amp;amp; Support&lt;/h3&gt; 
&lt;p&gt;If you have a question regarding some features, need help or customizations, want to get in touch with other EspoCRM users, or add a feature request, please use our &lt;a href=&quot;https://forum.espocrm.com/&quot;&gt;community forum&lt;/a&gt;. We believe that using the forum to ask for help and share experience allows everyone in the community to contribute and use this knowledge later.&lt;/p&gt; 
&lt;h3&gt;License&lt;/h3&gt; 
&lt;p&gt;EspoCRM is an open-source project licensed under &lt;a href=&quot;https://raw.githubusercontent.com/espocrm/espocrm/master/LICENSE.txt&quot;&gt;GNU AGPLv3&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Contributing&lt;/h3&gt; 
&lt;p&gt;Before we can merge your pull request, you need to accept our CLA &lt;a href=&quot;https://github.com/espocrm/cla&quot;&gt;here&lt;/a&gt;. See the &lt;a href=&quot;https://github.com/espocrm/espocrm/raw/master/.github/CONTRIBUTING.md&quot;&gt;contributing guidelines&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Branches:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;em&gt;fix&lt;/em&gt; – upcoming maintenance release; minor fixes should be pushed to this branch;&lt;/li&gt; 
 &lt;li&gt;&lt;em&gt;master&lt;/em&gt; – develop branch; new features should be pushed to this branch;&lt;/li&gt; 
 &lt;li&gt;&lt;em&gt;stable&lt;/em&gt; – last stable release.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Language&lt;/h3&gt; 
&lt;p&gt;If you want to improve existing translation or add a language that is not available yet, you can contribute on our &lt;a href=&quot;https://poeditor.com/join/project/gLDKZtUF4i&quot;&gt;POEditor&lt;/a&gt; project. See instructions &lt;a href=&quot;https://www.espocrm.com/blog/how-to-use-poeditor-to-translate-espocrm/&quot;&gt;here&lt;/a&gt;. It may be reasonable to let us know about your intention to join the POEditor project by posting on our forum or via the contact form on our website.&lt;/p&gt; 
&lt;p&gt;Changes on POEditor are usually merged to the GitHub repository before minor releases.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/24459441/b2933644-6df8-4c1f-846f-75bb52e9a3bb" medium="image" />
      
    </item>
    
    <item>
      <title>monicahq/monica</title>
      <link>https://github.com/monicahq/monica</link>
      <description>&lt;p&gt;Personal CRM. Remember everything about your friends, family and business relationships.&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://user-images.githubusercontent.com/61099/242266547-63d98bd9-35f3-4dfe-92f4-a4a8dd75aa5c.png&quot; alt=&quot;Monica’s Logo&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;/p&gt; 
&lt;h1 align=&quot;center&quot;&gt;Document your life&lt;/h1&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;p&gt;&lt;a href=&quot;https://hub.docker.com/_/monica/&quot;&gt;&lt;img src=&quot;https://img.shields.io/docker/pulls/library/monica&quot; alt=&quot;Docker pulls&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;https://sloc.xyz/github/monicahq/monica/&quot; alt=&quot;Lines of code&quot; /&gt; &lt;a href=&quot;https://sonarcloud.io/project/activity?custom_metrics=coverage&amp;amp;graph=custom&amp;amp;id=monica&quot;&gt;&lt;img src=&quot;https://img.shields.io/sonar/coverage/monica?server=https%3A%2F%2Fsonarcloud.io&amp;amp;style=flat-square&amp;amp;label=Coverage%20Status&quot; alt=&quot;Code coverage&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/monicahq/monica/raw/main/LICENSE.md&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/license/monicahq/monica&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://docs.monicahq.com&quot;&gt;Docs&lt;/a&gt; - &lt;a href=&quot;https://github.com/monicahq/monica/issues/new?assignees=&amp;amp;labels=bug&amp;amp;template=bug_report.md&quot;&gt;Bug report&lt;/a&gt; &lt;/p&gt; 
&lt;h2&gt;Monica is an open source personal relationship management system, that lets you document your life.&lt;/h2&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-warning&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-alert mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Warning&lt;/p&gt;
 &lt;p&gt;This branch is in development. It’s our beta version.&lt;/p&gt; 
 &lt;p&gt;If you want to browse the stable and current version, see the &lt;a href=&quot;https://github.com/monicahq/monica/tree/4.x&quot;&gt;4.x branch&lt;/a&gt;.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h2&gt;Table of contents&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#introduction&quot;&gt;Introduction&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#features&quot;&gt;Features&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#who-is-it-for&quot;&gt;Who is it for?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#what-monica-isnt&quot;&gt;What Monica isn’t&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#contribute&quot;&gt;Contribute&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#contribute-as-a-community&quot;&gt;Contribute as a community&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#contribute-as-a-developer&quot;&gt;Contribute as a developer&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#principles-vision-goals-and-strategy&quot;&gt;Principles, vision, goals and strategy&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#principles&quot;&gt;Principles&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#vision&quot;&gt;Vision&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#goals&quot;&gt;Goals&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#why-open-source&quot;&gt;Why Open Source?&lt;/a&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#patreon&quot;&gt;Patreon&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#contact&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#team&quot;&gt;Team&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#thank-you-open-source&quot;&gt;Thank you, open source&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/#license&quot;&gt;License&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Introduction&lt;/h2&gt; 
&lt;p&gt;Monica is an open-source web application that enables you to document your life, organize, and log your interactions with your family and friends. We call it a PRM, or Personal Relationship Management. Imagine a CRM—a commonly used tool by sales teams in the corporate world—for your friends and family.&lt;/p&gt; 
&lt;h3&gt;Features&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Add and manage contacts&lt;/li&gt; 
 &lt;li&gt;Define relationships between contacts&lt;/li&gt; 
 &lt;li&gt;Reminders&lt;/li&gt; 
 &lt;li&gt;Automatic reminders for birthdays&lt;/li&gt; 
 &lt;li&gt;Ability to add notes to a contact&lt;/li&gt; 
 &lt;li&gt;Ability to record how you met someone&lt;/li&gt; 
 &lt;li&gt;Management of activities with a contact&lt;/li&gt; 
 &lt;li&gt;Management of tasks&lt;/li&gt; 
 &lt;li&gt;Management of addresses and all the different ways to contact someone&lt;/li&gt; 
 &lt;li&gt;Management of contact field types&lt;/li&gt; 
 &lt;li&gt;Management of a contact’s pets&lt;/li&gt; 
 &lt;li&gt;Top of the art diary to keep track of what’s happening in your life&lt;/li&gt; 
 &lt;li&gt;Ability to record how your day went&lt;/li&gt; 
 &lt;li&gt;Upload documents and photos&lt;/li&gt; 
 &lt;li&gt;Ability to define custom genders&lt;/li&gt; 
 &lt;li&gt;Ability to define custom activity types&lt;/li&gt; 
 &lt;li&gt;Ability to favorite contacts&lt;/li&gt; 
 &lt;li&gt;Multiple vaults and users&lt;/li&gt; 
 &lt;li&gt;Labels to organize contacts&lt;/li&gt; 
 &lt;li&gt;Ability to define what section should appear on the contact sheet&lt;/li&gt; 
 &lt;li&gt;Multiple currencies&lt;/li&gt; 
 &lt;li&gt;Translated in 27 languages&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Who is it for?&lt;/h3&gt; 
&lt;p&gt;This project is for people who want to document their lives and those who have difficulty remembering details about the lives of people they care about.&lt;/p&gt; 
&lt;p&gt;We’ve also had a lot of positive reviews from people with Asperger syndrome, Alzheimer’s disease, and introverts who use our app every day.&lt;/p&gt; 
&lt;h3&gt;What Monica isn’t&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Monica is not a social network and &lt;strong&gt;it never will be&lt;/strong&gt;. It’s not meant to be social. It’s designed to be the opposite: it’s for your eyes only.&lt;/li&gt; 
 &lt;li&gt;Monica is not a smart assistant. It won’t guess what you want to do. It’s actually pretty dumb: it will only send you emails for the things you asked to be reminded of.&lt;/li&gt; 
 &lt;li&gt;Monica does not have built-in AI with integrations like ChatGPT.&lt;/li&gt; 
 &lt;li&gt;Monica is not a tool that will scan your data and do nasty things with it. It’s your data, your server, do whatever you want with it. You’re in control of your data.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Contribute&lt;/h2&gt; 
&lt;p&gt;Do you want to lend a hand? That’s great! We accept contributions from everyone, regardless of form.&lt;/p&gt; 
&lt;p&gt;Here are some of the things you can do to help.&lt;/p&gt; 
&lt;h3&gt;Contribute as a community&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Unlike Fight Club, the best way to help is &lt;strong&gt;to actually talk about Monica&lt;/strong&gt; as much as you can in blog posts and articles, or on social media.&lt;/li&gt; 
 &lt;li&gt;You can answer questions in &lt;a href=&quot;https://github.com/monicahq/monica/issues&quot;&gt;the issue tracker&lt;/a&gt; to help other community members.&lt;/li&gt; 
 &lt;li&gt;You can financially support Monica’s development &lt;a href=&quot;https://www.patreon.com/monicahq&quot;&gt;on Patreon&lt;/a&gt; or by subscribing to &lt;a href=&quot;https://monicahq.com/pricing&quot;&gt;a paid account&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Contribute as a developer&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Read our &lt;a href=&quot;https://docs.monicahq.com/developers/contribution-guide&quot;&gt;Contribution Guide&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Install &lt;a href=&quot;https://docs.monicahq.com/developers/setup-local-development&quot;&gt;the developer version locally&lt;/a&gt; so you can start contributing.&lt;/li&gt; 
 &lt;li&gt;Look for &lt;a href=&quot;https://github.com/monicahq/monica/issues?q=is%3Aopen+is%3Aissue+label%3Abug&quot;&gt;issues labelled ‘Bugs’&lt;/a&gt; if you are looking to have an immediate impact on Monica.&lt;/li&gt; 
 &lt;li&gt;Look for &lt;a href=&quot;https://github.com/monicahq/monica/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22&quot;&gt;issues labelled ‘Help Wanted’&lt;/a&gt;. These are issues that you can solve relatively easily.&lt;/li&gt; 
 &lt;li&gt;Look for &lt;a href=&quot;https://github.com/monicahq/monica/labels/good%20first%20issue&quot;&gt;issues labelled ’Good First Issue’&lt;/a&gt;. These issues are for people who want to contribute, but try to work on a small feature first.&lt;/li&gt; 
 &lt;li&gt;If you are an advanced developer, you can try to tackle &lt;a href=&quot;https://github.com/monicahq/monica/issues?q=is%3Aopen+is%3Aissue+label%3A%22feature+request%22&quot;&gt;issues labelled ‘Feature Requests’&lt;/a&gt;. These are harder to do and will require a lot of back-and-forth with the repository administrator to make sure we are going to the right direction with the product.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Principles, vision, goals and strategy&lt;/h2&gt; 
&lt;p&gt;We want to use technology in a way that does not harm human relationships, unlike big social networks.&lt;/p&gt; 
&lt;h3&gt;Principles&lt;/h3&gt; 
&lt;p&gt;Monica has a few principles.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;It should help improve relationships.&lt;/li&gt; 
 &lt;li&gt;It should be simple to use, simple to contribute to, simple to understand, extremely simple to maintain.&lt;/li&gt; 
 &lt;li&gt;It is not a social network and never will be.&lt;/li&gt; 
 &lt;li&gt;It is not and never will be ad-supported.&lt;/li&gt; 
 &lt;li&gt;Users are not and never will be tracked.&lt;/li&gt; 
 &lt;li&gt;It should be transparent.&lt;/li&gt; 
 &lt;li&gt;It should be open-source.&lt;/li&gt; 
 &lt;li&gt;It should do one thing (documenting your life) extremely well, and nothing more.&lt;/li&gt; 
 &lt;li&gt;It should be well documented.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Vision&lt;/h3&gt; 
&lt;p&gt;Monica’s vision is to &lt;strong&gt;help people have more meaningful relationships&lt;/strong&gt;.&lt;/p&gt; 
&lt;h3&gt;Goals&lt;/h3&gt; 
&lt;p&gt;We want to provide a platform that is:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;really easy to use&lt;/strong&gt;: we value simplicity over anything else.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;open-source&lt;/strong&gt;: we believe everyone should be able to contribute to this tool, and see for themselves that nothing nasty is done behind the scenes that would go against the best interests of the users. We also want to leverage the community to build attractive features and do things that would not be possible otherwise.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;easy to contribute to&lt;/strong&gt;: we want to keep the codebase as simple as possible. This has two big advantages: anyone can contribute, and it’s easily maintainable on the long run.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;available everywhere&lt;/strong&gt;: Monica should be able to run on any desktop OS or mobile phone easily. This will be made possible by making sure the tool is easily installable by anyone who wants to either contribute or host the platform themselves.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Why Open Source?&lt;/h3&gt; 
&lt;p&gt;Why is Monica open source? Is it risky? Could someone steal my code and use it to start a for-profit business that could hurt my own? Why reveal our strategy to the world? We’ve already received these kinds of questions in our emails.&lt;/p&gt; 
&lt;p&gt;The answer is simple: yes, you can fork Monica and create a competing project, make money from it (even if the license is not ideal for that) and we won’t be aware. But that’s okay, we don’t mind.&lt;/p&gt; 
&lt;p&gt;We wanted to open source Monica for several reasons:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;We believe that this tool can really change people’s lives.&lt;/strong&gt; We aim to make money from this project, but also want everyone to benefit. Open sourcing it will help Monica become much bigger than we imagine. We believe the software should follow our vision, but we must be humble enough to recognize that ideas come from everywhere and people may have better ideas than us.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;You can’t make something great alone.&lt;/strong&gt; While Monica could become a company and hire a bunch of super smart people to work on it, you can’t beat the manpower of an entire community. Open sourcing the product means bugs will be fixed faster, features will be developed faster, and more importantly, developers will be able to contribute to a tool that positively changes their own lives and the lives of other people.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Doing things in a transparent way leads to formidable things.&lt;/strong&gt; People respect the project more when they can see how it’s being worked on. You can’t hide nasty things in the code. You can’t do things behind the backs of your users. Doing everything in the open is a major driving force that motivates you to keep doing what’s right.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Once you’ve created a community of passionate developers around your project, you’ve won.&lt;/strong&gt; Developers are powerful influencers: they create apps, discuss your product on forums, and share it with their networks. Nurture your relationship with developers – users will follow.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Patreon&lt;/h3&gt; 
&lt;p&gt;You can support the development of Monica &lt;a href=&quot;https://www.patreon.com/monicahq&quot;&gt;on Patreon&lt;/a&gt;. Thanks for your help.&lt;/p&gt; 
&lt;h2&gt;Contact&lt;/h2&gt; 
&lt;h2&gt;Team&lt;/h2&gt; 
&lt;p&gt;Our team is made of two core members:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/djaiss&quot;&gt;Regis (djaiss)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/asbiin&quot;&gt;Alexis Saettler (asbiin)&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;We are also fortunate to have an amazing &lt;a href=&quot;https://github.com/monicahq/monica/graphs/contributors&quot;&gt;community of developers&lt;/a&gt; who help us greatly.&lt;/p&gt; 
&lt;h2&gt;Thank you, open source&lt;/h2&gt; 
&lt;p&gt;Monica makes use of numerous open-source projects and we are deeply grateful. We hope that by offering Monica as a free, open-source project, we can help others in the same way these programs have helped us.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Copyright © 2016–2023&lt;/p&gt; 
&lt;p&gt;Licensed under &lt;a href=&quot;https://raw.githubusercontent.com/monicahq/monica/main/LICENSE.md&quot;&gt;the AGPL License&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/82238168/57d16680-5333-11ea-9c6f-b1f2e7f8b45c" medium="image" />
      
    </item>
    
    <item>
      <title>FOSSBilling/FOSSBilling</title>
      <link>https://github.com/FOSSBilling/FOSSBilling</link>
      <description>&lt;p&gt;Empower your hosting business with FOSSBilling, the free and open-source solution for efficient billing and client management.&lt;/p&gt;&lt;hr&gt;&lt;h1 align=&quot;center&quot;&gt; &lt;br /&gt; &lt;a href=&quot;https://fossbilling.org/&quot;&gt; 
  &lt;picture&gt; 
   &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;https://raw.githubusercontent.com/FOSSBilling/branding/refs/heads/main/logo-svg/fossb_logo-white_text.svg&quot; /&gt; 
   &lt;img alt=&quot;FOSSBilling logo&quot; src=&quot;https://raw.githubusercontent.com/FOSSBilling/branding/refs/heads/main/logo-svg/fossb_logo-black_text.svg?sanitize=true&quot; height=&quot;100&quot; /&gt; 
  &lt;/picture&gt; &lt;/a&gt; &lt;br /&gt; &lt;/h1&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;p&gt;&lt;a href=&quot;https://fossbilling.org/downloads/&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/FOSSBilling/fossbilling.org/main/public/img/gh/download-button.png&quot; alt=&quot;Download button&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
 &lt;p&gt;&lt;a href=&quot;https://github.com/FOSSBilling/FOSSBilling/actions/workflows/ci.yml&quot;&gt;&lt;img src=&quot;https://github.com/FOSSBilling/FOSSBilling/actions/workflows/ci.yml/badge.svg?sanitize=true&quot; alt=&quot;CI&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/FOSSBilling/FOSSBilling/releases/latest&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/downloads/FOSSBilling/FOSSBilling/total&quot; alt=&quot;Download Latest&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://opensource.org/licenses/Apache-2.0&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/License-Apache%202.0-blue.svg?sanitize=true&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.codefactor.io/repository/github/fossbilling/fossbilling&quot;&gt;&lt;img src=&quot;https://www.codefactor.io/repository/github/FOSSBilling/FOSSBilling/badge&quot; alt=&quot;CodeFactor&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://opencollective.com/fossbilling&quot;&gt;&lt;img src=&quot;https://opencollective.com/FOSSBilling/tiers/badge.svg?color=brightgreen&quot; alt=&quot;Financial Contributors&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://fossbilling.crowdin.com/FOSSBilling&quot;&gt;&lt;img src=&quot;https://badges.crowdin.net/e/c70c78b4ab1e71424ce53dcf6bca9b12/localized.svg?sanitize=true&quot; alt=&quot;Crowdin&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://fossbilling.org/discord&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/747432407757488179?color=%237289FA&amp;amp;logo=discord&amp;amp;logoColor=%23FFF&quot; alt=&quot;Discord&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://stand-with-ukraine.pp.ua&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg?sanitize=true&quot; alt=&quot;Stand With Ukraine&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://raw.githubusercontent.com/FOSSBilling/FOSSBilling/main/CODE_OF_CONDUCT.md&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Contributor_Covenant-3.svg?sanitize=true&quot; alt=&quot;Contributor Covenant&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;FOSSBilling is under active development and currently considered beta. Expect rough edges and limited support.&lt;/p&gt; 
&lt;/div&gt; 
&lt;p&gt;&lt;strong&gt;FOSSBilling&lt;/strong&gt; is a free, open-source billing and client management system. It helps online service businesses automate invoicing, payments, and client communication. While it’s popular with web hosting providers, it also works well for software licensing, digital downloads, and subscription services.&lt;/p&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Billing &amp;amp; Invoicing&lt;/strong&gt;: automated invoices, reminders, and basic reporting.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Client Management&lt;/strong&gt;: a central place for client data and communication.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Extensibility&lt;/strong&gt;: extension-friendly architecture for integrations and custom features.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Payments&lt;/strong&gt;: support for multiple gateways.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Translations&lt;/strong&gt;: community-powered, multi-language interface.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Responsive UI&lt;/strong&gt;: usable on desktop and mobile.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Security-focused&lt;/strong&gt;: built with security best practices in mind.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Getting Started&lt;/h2&gt; 
&lt;h3&gt;Requirements&lt;/h3&gt; 
&lt;p&gt;FOSSBilling runs on standard LAMP/LEMP stacks. For the latest system requirements (PHP version, extensions, database, etc.), see the official &lt;a href=&quot;https://docs.fossbilling.org/getting-started/requirements/&quot;&gt;requirements&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Installation&lt;/h3&gt; 
&lt;p&gt;Follow the step-by-step &lt;a href=&quot;https://docs.fossbilling.org/getting-started/&quot;&gt;Getting Started guide&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Just exploring?&lt;/strong&gt; Try the public &lt;a href=&quot;https://fossbilling.org/demo&quot;&gt;demo&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;We welcome contributions from the community! We’re actively modernizing the codebase and there’s plenty to do.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Read the &lt;a href=&quot;https://github.com/FOSSBilling/FOSSBilling/raw/main/CONTRIBUTING.md&quot;&gt;contributor guide&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Pick an item from the &lt;a href=&quot;https://github.com/FOSSBilling/FOSSBilling/issues&quot;&gt;open issues&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Open a PR when you’re ready.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If you prefer to start a conversation first, drop by the &lt;a href=&quot;https://forum.fossbilling.org/&quot;&gt;forum&lt;/a&gt; or say hello on &lt;a href=&quot;https://fossbilling.org/discord&quot;&gt;Discord&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Star History&lt;/h2&gt; 
&lt;a href=&quot;https://www.star-history.com/?repos=FOSSBilling%2FFOSSBilling&amp;amp;type=date&amp;amp;legend=top-left&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;https://api.star-history.com/chart?repos=FOSSBilling/FOSSBilling&amp;amp;type=date&amp;amp;theme=dark&amp;amp;legend=top-left&amp;amp;sealed_token=ioJopLgtNzi8yMGmGszWYUH4Wt8JZOgRfi9GscyJOzAhSUWXjpK_hCml7VrZAOnJkL7sWGtd47X7WWR-a0hnJrYr6v-S6IjBNrQJW36PZPQXZSXcfiTnasf0F_U2DDomBkP_p3hUcPegkId4CIwL5vk4dM1S_K-bjklbRDDqnSJpnZg7Pus4QG8uez3K&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;https://api.star-history.com/chart?repos=FOSSBilling/FOSSBilling&amp;amp;type=date&amp;amp;legend=top-left&amp;amp;sealed_token=ioJopLgtNzi8yMGmGszWYUH4Wt8JZOgRfi9GscyJOzAhSUWXjpK_hCml7VrZAOnJkL7sWGtd47X7WWR-a0hnJrYr6v-S6IjBNrQJW36PZPQXZSXcfiTnasf0F_U2DDomBkP_p3hUcPegkId4CIwL5vk4dM1S_K-bjklbRDDqnSJpnZg7Pus4QG8uez3K&quot; /&gt; 
  &lt;img alt=&quot;Star History Chart&quot; src=&quot;https://api.star-history.com/chart?repos=FOSSBilling/FOSSBilling&amp;amp;type=date&amp;amp;legend=top-left&amp;amp;sealed_token=ioJopLgtNzi8yMGmGszWYUH4Wt8JZOgRfi9GscyJOzAhSUWXjpK_hCml7VrZAOnJkL7sWGtd47X7WWR-a0hnJrYr6v-S6IjBNrQJW36PZPQXZSXcfiTnasf0F_U2DDomBkP_p3hUcPegkId4CIwL5vk4dM1S_K-bjklbRDDqnSJpnZg7Pus4QG8uez3K&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; 
&lt;p&gt;Not a developer? Starring the repository helps others discover the project.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;FOSSBilling is released under the Apache 2.0 license. See &lt;a href=&quot;https://github.com/FOSSBilling/FOSSBilling/raw/main/LICENSE&quot;&gt;LICENSE&lt;/a&gt; for details.&lt;/p&gt; 
&lt;h2&gt;Links&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Website: &lt;a href=&quot;https://www.fossbilling.org/&quot;&gt;https://www.fossbilling.org/&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Documentation: &lt;a href=&quot;https://docs.fossbilling.org/&quot;&gt;https://docs.fossbilling.org/&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Discord: &lt;a href=&quot;https://fossbilling.org/discord&quot;&gt;https://fossbilling.org/discord&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Twitter/X: &lt;a href=&quot;https://twitter.com/FOSSBilling&quot;&gt;https://twitter.com/FOSSBilling&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/11da0b278207f3b4575b269a81158e6820b65cd87f016b41d45f007e09c1a5f8/FOSSBilling/FOSSBilling" medium="image" />
      
    </item>
    
    <item>
      <title>Dolibarr/dolibarr</title>
      <link>https://github.com/Dolibarr/dolibarr</link>
      <description>&lt;p&gt;Dolibarr ERP CRM is a modern software package to manage your company or foundation&#39;s activity (contacts, suppliers, invoices, orders, stocks, agenda, accounting, ...). it&#39;s an open source Web application (written in PHP) designed for businesses of any sizes, foundations and freelancers.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;DOLIBARR ERP &amp;amp; CRM&lt;/h1&gt; 
&lt;p&gt;&lt;img src=&quot;https://img.shields.io/sourceforge/dw/dolibarr.svg?sanitize=true&quot; alt=&quot;Downloads per day&quot; /&gt; &lt;img src=&quot;https://img.shields.io/docker/pulls/dolibarr/dolibarr.svg?sanitize=true&quot; alt=&quot;Docker hub pulls&quot; /&gt; &lt;a href=&quot;https://php.net/&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/php-%3E%3D%207.2-8892BF.svg?style=flat-square&quot; alt=&quot;Minimum PHP Version&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/Dolibarr/dolibarr&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/release/Dolibarr/dolibarr&quot; alt=&quot;GitHub release&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://bestpractices.coreinfrastructure.org/projects/5521&quot;&gt;&lt;img src=&quot;https://bestpractices.coreinfrastructure.org/projects/5521/badge&quot; alt=&quot;CII Best Practices&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Dolibarr ERP &amp;amp; CRM is a modern software package that helps manage your organization&#39;s activities (contacts, quotes, invoices, orders, stocks, agenda, human resources, ecm, manufacturing…).&lt;/p&gt; 
&lt;p&gt;It&#39;s an Open-Source Software suite (written in PHP with JavaScript enhancements) designed for small, medium or large companies, foundations and freelancers.&lt;/p&gt; 
&lt;p&gt;You can freely use, study, modify or distribute it according to its license.&lt;/p&gt; 
&lt;p&gt;You can use it as a standalone application or as a web application to access it from the Internet or from a LAN.&lt;/p&gt; 
&lt;p&gt;Dolibarr has a large community ready to help you, free forums and &lt;a href=&quot;https://partners.dolibarr.org&quot;&gt;preferred partners ready to offer commercial support should you need it&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://www.dolibarr.org/medias/dolibarr_screenshot1_1920x1080.jpg&quot; alt=&quot;ScreenShot&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;LICENSE&lt;/h2&gt; 
&lt;p&gt;Dolibarr is released under the terms of the GNU General Public License as published by the Free Software Foundation; either Version 3 of the License, or (at your option) any later version (GPL-3+).&lt;/p&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://github.com/Dolibarr/dolibarr/raw/develop/COPYING&quot;&gt;COPYING&lt;/a&gt; file for a full copy of the license.&lt;/p&gt; 
&lt;p&gt;Other licenses apply for some included dependencies. See &lt;a href=&quot;https://github.com/Dolibarr/dolibarr/raw/develop/COPYRIGHT&quot;&gt;COPYRIGHT&lt;/a&gt; for a full list.&lt;/p&gt; 
&lt;h2&gt;INSTALLING&lt;/h2&gt; 
&lt;p&gt;There is a lot of different solutions to install Dolibarr.&lt;/p&gt; 
&lt;h3&gt;Using packages&lt;/h3&gt; 
&lt;p&gt;If you have low technical skills and you&#39;re looking to install Dolibarr ERP/CRM with just few clicks, you can use one of the packaged versions (see next chapter if you have IT knowledge) :&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://wiki.dolibarr.org/index.php/Dolibarr_for_Windows_(DoliWamp)&quot;&gt;DoliWamp for Windows&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://wiki.dolibarr.org/index.php/Dolibarr_for_Ubuntu_or_Debian&quot;&gt;DoliDeb for Debian, Ubuntu&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;DoliRpm for Red Hat, Fedora, OpenSuse, Mandriva or Mageia&lt;/li&gt; 
 &lt;li&gt;The Docker image (see chapter &quot;Using Docker&quot;)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Releases can be downloaded from &lt;a href=&quot;https://www.dolibarr.org/&quot;&gt;official website&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Using the generic step by step setup (recommended for IT users)&lt;/h3&gt; 
&lt;p&gt;You can use any web server supporting PHP (Apache, Nginx, ...) and a supported database (MariaDB, MySQL or PostgreSQL) to install the standard version:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;Verify that your installed PHP version is supported &lt;a href=&quot;https://wiki.dolibarr.org/index.php/Releases&quot;&gt;see PHP support&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Uncompress the downloaded .zip archive to copy the &lt;code&gt;dolibarr/htdocs&lt;/code&gt; directory and all its files inside your web server root or get the files directly from GitHub (recommended if you know git as it makes it easier if you want to upgrade later):&lt;/p&gt; &lt;p&gt;&lt;code&gt;git clone https://github.com/dolibarr/dolibarr -b x.y&lt;/code&gt; (where x.y is the main version like 9.0, 19.0, ...)&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Set up your web server to use &lt;code&gt;dolibarr/htdocs&lt;/code&gt; as root if your web server does not already define a directory to point to.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Create an empty &lt;code&gt;htdocs/conf/conf.php&lt;/code&gt; file and set &lt;em&gt;write&lt;/em&gt; permissions for your web server user (&lt;em&gt;write&lt;/em&gt; permission will be removed once install is finished)&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;From your browser, go to the dolibarr &quot;install/&quot; page&lt;/p&gt; &lt;p&gt;The URL will depend on how your web configuration directs to your dolibarr installation. It may look like:&lt;/p&gt; &lt;p&gt;&lt;code&gt;http://localhost/dolibarr/htdocs/install/&lt;/code&gt;&lt;/p&gt; &lt;p&gt;or&lt;/p&gt; &lt;p&gt;&lt;code&gt;http://localhost/dolibarr/install/&lt;/code&gt;&lt;/p&gt; &lt;p&gt;or&lt;/p&gt; &lt;p&gt;&lt;code&gt;http://yourdolibarrvirtualhost/install/&lt;/code&gt;&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Follow the installer instructions&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Using Docker images&lt;/h3&gt; 
&lt;p&gt;Dolibarr is also available as a &lt;a href=&quot;https://hub.docker.com/r/dolibarr/dolibarr&quot;&gt;Docker image&lt;/a&gt;. Installation instructions are available &lt;a href=&quot;https://github.com/Dolibarr/dolibarr-docker&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Using ready to use SaaS/Cloud offers&lt;/h3&gt; 
&lt;p&gt;If you lack the time to install it yourself, consider exploring commercial &#39;ready-to-use&#39; Cloud offerings (refer to &lt;a href=&quot;https://saas.dolibarr.org&quot;&gt;https://saas.dolibarr.org&lt;/a&gt;). Keep in mind that this third option comes with associated costs.&lt;/p&gt; 
&lt;h2&gt;UPGRADING&lt;/h2&gt; 
&lt;p&gt;Dolibarr supports upgrading, usually without the need for any (commercial) support (depending on if you use any commercial extensions). It supports upgrading all the way from any version after 2.8 without breakage. This is unique in the ERP ecosystem and a benefit our users highly appreciate!&lt;/p&gt; 
&lt;p&gt;Follow these step-by-step instructions to seamlessly upgrade Dolibarr to the latest version:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;At first make a backup of your Dolibarr files &amp;amp; then &lt;a href=&quot;https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr&quot;&gt;see&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;Verify that your installed PHP version is supported by the new version &lt;a href=&quot;https://wiki.dolibarr.org/index.php/Releases&quot;&gt;see PHP support&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Overwrite all old files from the &#39;dolibarr&#39; directory with files provided in the new version&#39;s package.&lt;/li&gt; 
 &lt;li&gt;At your next access, Dolibarr will redirect you to the &quot;install/&quot; page to follow the upgrade process. &amp;nbsp;If an &lt;code&gt;install.lock&lt;/code&gt; file exists to lock any other upgrade process, the application will ask you to remove the file manually (you should find the &lt;code&gt;install.lock&lt;/code&gt; file in the directory used to store generated and uploaded documents, in most cases, it is the directory called &quot;&lt;em&gt;documents&lt;/em&gt;&quot;).&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;WHAT&#39;S NEW&lt;/h2&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://github.com/Dolibarr/dolibarr/raw/develop/ChangeLog&quot;&gt;ChangeLog&lt;/a&gt; file.&lt;/p&gt; 
&lt;h2&gt;FEATURES&lt;/h2&gt; 
&lt;h3&gt;Main application/modules (all optional)&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Third-Parties Management: Customers, Prospects (Leads) and/or Suppliers + Contacts&lt;/li&gt; 
 &lt;li&gt;Members/Membership/Foundation management&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Product Management&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Products and/or Services catalogue&lt;/li&gt; 
 &lt;li&gt;Stock / Warehouse management + Inventory&lt;/li&gt; 
 &lt;li&gt;Barcodes&lt;/li&gt; 
 &lt;li&gt;Batches / Lots / Serials&lt;/li&gt; 
 &lt;li&gt;Product Variants&lt;/li&gt; 
 &lt;li&gt;Bill of Materials (BOM)&lt;/li&gt; 
 &lt;li&gt;Manufacturing Orders (MO)&lt;/li&gt; 
 &lt;li&gt;Workstations / Workplaces&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Customer/Sales Management&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Customers/Prospects + Contacts management&lt;/li&gt; 
 &lt;li&gt;Opportunities or Leads management&lt;/li&gt; 
 &lt;li&gt;Commercial proposals management (online signing)&lt;/li&gt; 
 &lt;li&gt;Customer Orders management&lt;/li&gt; 
 &lt;li&gt;Contracts/Subscription management&lt;/li&gt; 
 &lt;li&gt;Interventions management&lt;/li&gt; 
 &lt;li&gt;Ticket System (+ Knowledge management)&lt;/li&gt; 
 &lt;li&gt;Partnership management&lt;/li&gt; 
 &lt;li&gt;Shipping management&lt;/li&gt; 
 &lt;li&gt;Customer Invoices/Credit notes and payment management&lt;/li&gt; 
 &lt;li&gt;Point of Sale (POS)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Supplier/Purchase Management&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Suppliers/Vendors + Contacts&lt;/li&gt; 
 &lt;li&gt;Supplier (pricing) requests&lt;/li&gt; 
 &lt;li&gt;Purchase Orders management&lt;/li&gt; 
 &lt;li&gt;Delivery/Reception&lt;/li&gt; 
 &lt;li&gt;Supplier Invoices/Credit notes and payment management&lt;/li&gt; 
 &lt;li&gt;INCOTERMS&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Finance/Accounting&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Invoices/Payments&lt;/li&gt; 
 &lt;li&gt;Bank accounts management&lt;/li&gt; 
 &lt;li&gt;Direct debit and Credit transfer management (European SEPA)&lt;/li&gt; 
 &lt;li&gt;Accounting management&lt;/li&gt; 
 &lt;li&gt;Donations management&lt;/li&gt; 
 &lt;li&gt;Loan management&lt;/li&gt; 
 &lt;li&gt;Margins&lt;/li&gt; 
 &lt;li&gt;Reports&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Collaboration&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Shared calendar/agenda (with &lt;code&gt;ical&lt;/code&gt; and &lt;code&gt;vcal&lt;/code&gt; import/export for third-party tools integration)&lt;/li&gt; 
 &lt;li&gt;Projects &amp;amp; Tasks management&lt;/li&gt; 
 &lt;li&gt;Event organization&lt;/li&gt; 
 &lt;li&gt;Ticket System&lt;/li&gt; 
 &lt;li&gt;Surveys&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;HR - Human Resources Management&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Employee leave management&lt;/li&gt; 
 &lt;li&gt;Expense reports&lt;/li&gt; 
 &lt;li&gt;Recruitment management&lt;/li&gt; 
 &lt;li&gt;Employee/staff management&lt;/li&gt; 
 &lt;li&gt;Timesheets&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Other application/modules&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Electronic Document Management (EDM)&lt;/li&gt; 
 &lt;li&gt;Bookmarks&lt;/li&gt; 
 &lt;li&gt;Reporting&lt;/li&gt; 
 &lt;li&gt;Data export/import&lt;/li&gt; 
 &lt;li&gt;Barcodes&lt;/li&gt; 
 &lt;li&gt;LDAP connectivity&lt;/li&gt; 
 &lt;li&gt;Click-To-Dial integration&lt;/li&gt; 
 &lt;li&gt;Mass emailing&lt;/li&gt; 
 &lt;li&gt;RSS integration&lt;/li&gt; 
 &lt;li&gt;Social platforms linking&lt;/li&gt; 
 &lt;li&gt;Payment platforms integration (PayPal, Stripe, Paybox...)&lt;/li&gt; 
 &lt;li&gt;Email-Collector&lt;/li&gt; 
 &lt;li&gt;AI support via API&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;(around 100 modules available by default, 1000+ addons at the official marketplace &lt;a href=&quot;http://Dolistore.com&quot;&gt;Dolistore.com&lt;/a&gt;)&lt;/p&gt; 
&lt;h3&gt;Other general features&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;Multi-Language Support (Localization in most major languages)&lt;/li&gt; 
 &lt;li&gt;Multi-users and groups with finely-grained rights&lt;/li&gt; 
 &lt;li&gt;Multi-Currency&lt;/li&gt; 
 &lt;li&gt;Multi-Company (by adding an external module)&lt;/li&gt; 
 &lt;li&gt;Very user-friendly and easy to use&lt;/li&gt; 
 &lt;li&gt;Customizable dashboards&lt;/li&gt; 
 &lt;li&gt;Highly customizable: enable only the modules you need, add user personalized fields, choose your skin, several menu managers (can be used by internal users as a back-office with a particular menu, or by external users as a front-office with another one)&lt;/li&gt; 
 &lt;li&gt;APIs (REST, SOAP)&lt;/li&gt; 
 &lt;li&gt;Code that is easy to understand, maintain and develop (PHP with no heavy framework; trigger and hook architecture)&lt;/li&gt; 
 &lt;li&gt;Support a lot of country-specific features: 
  &lt;ul&gt; 
   &lt;li&gt;Spanish Tax RE and IRPF&lt;/li&gt; 
   &lt;li&gt;French NPR VAT rate (VAT called &quot;Non Perçue Récupérable&quot; for DOM-TOM)&lt;/li&gt; 
   &lt;li&gt;Canadian double taxes (federal/province) and other countries using cumulative VAT&lt;/li&gt; 
   &lt;li&gt;Tunisian tax stamp&lt;/li&gt; 
   &lt;li&gt;Argentina invoice numbering using A,B,C...&lt;/li&gt; 
   &lt;li&gt;Greece fetch customer vat details from AADE, all invoice types, MyData(external free module)&lt;/li&gt; 
   &lt;li&gt;ZATCA e-invoicing QR-Code&lt;/li&gt; 
   &lt;li&gt;Compatible with &lt;a href=&quot;https://commission.europa.eu/topics/taxation_en&quot;&gt;European directives&lt;/a&gt; (2006/112/CE ... 2010/45/UE)&lt;/li&gt; 
   &lt;li&gt;Compatible with data privacy rules (Europe&#39;s GDPR, ...)&lt;/li&gt; 
   &lt;li&gt;...&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Flexible PDF &amp;amp; ODT generation for invoices, proposals, orders...&lt;/li&gt; 
 &lt;li&gt;...&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;System Environment / Requirements&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;PHP&lt;/li&gt; 
 &lt;li&gt;MariaDB, MySQL or PostgreSQL&lt;/li&gt; 
 &lt;li&gt;Compatible with all Cloud solutions that match PHP &amp;amp; MySQL or PostgreSQL prerequisites.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;See exact requirements on the &lt;a href=&quot;https://wiki.dolibarr.org/index.php/Prerequisites&quot;&gt;Wiki&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;Extending&lt;/h3&gt; 
&lt;p&gt;Dolibarr can be extended with a lot of other external applications or modules from third-party developers available at the &lt;a href=&quot;https://www.dolistore.com&quot;&gt;DoliStore&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;WHAT DOLIBARR CAN&#39;T DO YET&lt;/h2&gt; 
&lt;p&gt;These are features that Dolibarr does &lt;strong&gt;not&lt;/strong&gt; yet fully support:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Tasks dependencies in projects&lt;/li&gt; 
 &lt;li&gt;Payroll module&lt;/li&gt; 
 &lt;li&gt;Native embedded Webmail, but you can send email to contacts in Dolibarr with e.g. offers, invoices, etc.&lt;/li&gt; 
 &lt;li&gt;Dolibarr can&#39;t do coffee (yet)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;DOCUMENTATION&lt;/h2&gt; 
&lt;p&gt;Administrator, user, developer and translator&#39;s documentation are available along with other community resources in the &lt;a href=&quot;https://wiki.dolibarr.org&quot;&gt;Wiki&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;CONTRIBUTING AND RELEASE PROCESS&lt;/h2&gt; 
&lt;p&gt;This project exists thanks to all the people who contribute. Please read the instructions on how to contribute (report a bug/error, a feature request, send code, ...) [&lt;a href=&quot;https://github.com/Dolibarr/dolibarr/raw/develop/.github/CONTRIBUTING.md&quot;&gt;Contributing&lt;/a&gt;]&lt;/p&gt; 
&lt;p&gt;A View on Contributors:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://github.com/Dolibarr/dolibarr/graphs/contributors&quot;&gt;&lt;img src=&quot;https://opencollective.com/dolibarr/contributors.svg?width=890&amp;amp;button=false&quot; alt=&quot;Dolibarr&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;The release process is described into the file dev/build/makepack-howto.md&lt;/p&gt; 
&lt;h2&gt;CREDITS&lt;/h2&gt; 
&lt;p&gt;Dolibarr is the work of many contributors over the years and uses some fine PHP libraries.&lt;/p&gt; 
&lt;p&gt;See &lt;a href=&quot;https://github.com/Dolibarr/dolibarr/raw/develop/COPYRIGHT&quot;&gt;COPYRIGHT&lt;/a&gt; file.&lt;/p&gt; 
&lt;h2&gt;NEWS AND SOCIAL NETWORKS&lt;/h2&gt; 
&lt;p&gt;Follow Dolibarr project on:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/company/association-dolibarr&quot;&gt;LinkedIn&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://pouet.chapril.org/@dolibarr&quot;&gt;Mastodon&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/dolibarr.org&quot;&gt;BlueSky&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.threads.net/@dolibarr&quot;&gt;Threads&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://x.com/dolibarr&quot;&gt;X&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.facebook.com/dolibarr&quot;&gt;Facebook&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.reddit.com/r/Dolibarr_ERP_CRM/&quot;&gt;Reddit&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.youtube.com/user/DolibarrERPCRM&quot;&gt;YouTube&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/Dolibarr/dolibarr&quot;&gt;GitHub&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Sponsors&lt;/h2&gt; 
&lt;p&gt;Support this project by becoming a sponsor. Your logo will show up here. 🙏 [&lt;a href=&quot;https://opencollective.com/dolibarr#backer&quot;&gt;Become a sponsor/backer&lt;/a&gt;]&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/1957456/e2ae5300-8720-11ea-8962-7120cd093aef" medium="image" />
      
    </item>
    
    <item>
      <title>firefly-iii/firefly-iii</title>
      <link>https://github.com/firefly-iii/firefly-iii</link>
      <description>&lt;p&gt;Firefly III: a personal finances manager&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;a href=&quot;https://packagist.org/packages/grumpydictator/firefly-iii&quot;&gt;&lt;img src=&quot;https://img.shields.io/packagist/v/grumpydictator/firefly-iii.svg?style=flat-square&quot; alt=&quot;Packagist&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.gnu.org/licenses/agpl-3.0.html&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/license/firefly-iii/firefly-iii.svg?style=flat-square&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/firefly-iii/firefly-iii/stargazers&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/stars/firefly-iii/firefly-iii.svg?style=flat-square&quot; alt=&quot;Stargazers&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#support-the-development-of-firefly-iii&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/donate-%24%20%E2%82%AC-brightgreen?style=flat-square&quot; alt=&quot;Donate&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;!-- PROJECT LOGO --&gt; 
&lt;br /&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://firefly-iii.org/&quot;&gt; &lt;img src=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/develop/.github/assets/img/logo-small.png&quot; alt=&quot;Firefly III&quot; width=&quot;120&quot; height=&quot;178&quot; /&gt; &lt;/a&gt; &lt;/p&gt; 
&lt;h1 align=&quot;center&quot;&gt;Firefly III&lt;/h1&gt; 
&lt;p align=&quot;center&quot;&gt; A free and open source personal finance manager &lt;br /&gt; &lt;a href=&quot;https://docs.firefly-iii.org/&quot;&gt;&lt;strong&gt;Explore the documentation&lt;/strong&gt;&lt;/a&gt; &lt;br /&gt; &lt;br /&gt; &lt;a href=&quot;https://demo.firefly-iii.org/&quot;&gt;View the demo&lt;/a&gt; · &lt;a href=&quot;https://github.com/firefly-iii/firefly-iii/issues&quot;&gt;Report a bug&lt;/a&gt; · &lt;a href=&quot;https://github.com/firefly-iii/firefly-iii/issues&quot;&gt;Request a feature&lt;/a&gt; · &lt;a href=&quot;https://github.com/firefly-iii/firefly-iii/discussions&quot;&gt;Ask questions&lt;/a&gt; &lt;/p&gt; 
&lt;hr /&gt; 
&lt;p&gt; &lt;img align=&quot;left&quot; src=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/.github/assets/img/europe.png&quot; alt=&quot;Flag of Europe&quot; height=&quot;50&quot; /&gt; Billionaires and fascists are breaking democracies and international alliances. Their profits are costing us our safety. (Digital) sovereignty is more important than ever. &lt;strong&gt;Firefly III&lt;/strong&gt; is free open source software and originates from, and lives in the European Union (🇳🇱). &lt;/p&gt; 
&lt;hr /&gt; 
&lt;!-- MarkdownTOC autolink=&quot;true&quot; --&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#about-firefly-iii&quot;&gt;About Firefly III&lt;/a&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#purpose&quot;&gt;Purpose&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#features&quot;&gt;Features&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#whos-it-for&quot;&gt;Who&#39;s it for?&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#the-firefly-iii-eco-system&quot;&gt;The Firefly III eco-system&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#getting-started&quot;&gt;Getting Started&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#contributing&quot;&gt;Contributing&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#support-the-development-of-firefly-iii&quot;&gt;Support the development of Firefly III&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#license&quot;&gt;License&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#do-you-need-help-or-do-you-want-to-get-in-touch&quot;&gt;Do you need help, or do you want to get in touch?&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/#acknowledgements&quot;&gt;Acknowledgements&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;!-- /MarkdownTOC --&gt; 
&lt;h2&gt;About Firefly III&lt;/h2&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/develop/.github/assets/img/imac-complete.png&quot; alt=&quot;Firefly III on iMac&quot; /&gt; &lt;/p&gt; 
&lt;p&gt;&quot;Firefly III&quot; is a (self-hosted) manager for your personal finances. It can help you keep track of your expenses and income, so you can spend less and save more. Firefly III supports the use of budgets, categories and tags. Using a bunch of external tools, you can import data. It also has many neat financial reports available.&lt;/p&gt; 
&lt;p&gt;Firefly III should give you &lt;strong&gt;insight&lt;/strong&gt; into and &lt;strong&gt;control&lt;/strong&gt; over your finances. Money should be useful, not scary. You should be able to &lt;em&gt;see&lt;/em&gt; where it is going, to &lt;em&gt;feel&lt;/em&gt; your expenses and to... wow, I&#39;m going overboard with this aren&#39;t I?&lt;/p&gt; 
&lt;p&gt;But you get the idea: this is your money. These are your expenses. Stop them from controlling you. I built this tool because I started to dislike money. Having money, not having money, paying bills with money, you get the idea. But no more. I want to feel &quot;safe&quot;, whatever my balance is. And I hope this tool can help you. I know it helps me.&lt;/p&gt; 
&lt;h3&gt;Purpose&lt;/h3&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/develop/.github/assets/img/ipad-complete.png&quot; alt=&quot;Firefly III on iPad&quot; width=&quot;600&quot; /&gt; &lt;/p&gt; 
&lt;p&gt;Personal financial management is pretty difficult, and everybody has their own approach to it. Some people make budgets, other people limit their cashflow by throwing away their credit cards, others try to increase their current cashflow. There are tons of ways to save and earn money. Firefly III works on the principle that if you know where your money is going, you can stop it from going there.&lt;/p&gt; 
&lt;p&gt;By keeping track of your expenses and your income you can budget accordingly and save money. Stop living from paycheck to paycheck but give yourself the financial wiggle room you need.&lt;/p&gt; 
&lt;p&gt;You can read more about the purpose of Firefly III in the &lt;a href=&quot;https://docs.firefly-iii.org/&quot;&gt;documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;p&gt;Firefly III is pretty feature packed. Some important stuff first:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;It is completely self-hosted and isolated, and will never contact external servers until you explicitly tell it to.&lt;/li&gt; 
 &lt;li&gt;It features a REST JSON API that covers almost every part of Firefly III.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;The most exciting features are:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Create &lt;a href=&quot;https://docs.firefly-iii.org/explanation/financial-concepts/recurring/&quot;&gt;recurring transactions to manage your money&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.firefly-iii.org/how-to/firefly-iii/features/rules/&quot;&gt;Rule based transaction handling&lt;/a&gt; with the ability to create your own rules.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Then the things that make you go &quot;yeah OK, makes sense&quot;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;A &lt;a href=&quot;https://en.wikipedia.org/wiki/Double-entry_bookkeeping_system&quot;&gt;double-entry&lt;/a&gt; bookkeeping system.&lt;/li&gt; 
 &lt;li&gt;Save towards a goal using &lt;a href=&quot;https://docs.firefly-iii.org/explanation/financial-concepts/piggy-banks/&quot;&gt;piggy banks&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;View &lt;a href=&quot;https://docs.firefly-iii.org/how-to/firefly-iii/finances/reports/&quot;&gt;income and expense reports&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;And the things you would hope for but not expect:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;2 factor authentication for extra security 🔒.&lt;/li&gt; 
 &lt;li&gt;Supports &lt;a href=&quot;https://docs.firefly-iii.org/how-to/firefly-iii/features/currencies/&quot;&gt;any currency you want&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;There is a &lt;a href=&quot;https://docs.firefly-iii.org/how-to/firefly-iii/installation/docker/&quot;&gt;Docker image&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;And to organise everything:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Clear views that should show you how you&#39;re doing.&lt;/li&gt; 
 &lt;li&gt;Easy navigation through your records.&lt;/li&gt; 
 &lt;li&gt;Lots of charts because we all love them.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Many more features are listed in the &lt;a href=&quot;https://docs.firefly-iii.org/explanation/firefly-iii/about/introduction/&quot;&gt;documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Who&#39;s it for?&lt;/h2&gt; 
&lt;img src=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/develop/.github/assets/img/iphone-complete.png&quot; alt=&quot;Firefly III on iPhone&quot; align=&quot;left&quot; width=&quot;250&quot; /&gt; 
&lt;p&gt;This application is for people who want to track their finances, keep an eye on their money &lt;strong&gt;without having to upload their financial records to the cloud&lt;/strong&gt;. You&#39;re a bit tech-savvy, you like open source software and you don&#39;t mind tinkering with (self-hosted) servers.&lt;/p&gt; 
&lt;br clear=&quot;left&quot; /&gt; 
&lt;h2&gt;The Firefly III eco-system&lt;/h2&gt; 
&lt;p&gt;Several users have built pretty awesome stuff around the Firefly III API. &lt;a href=&quot;https://docs.firefly-iii.org/references/firefly-iii/third-parties/apps/&quot;&gt;Check out these tools in the documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Getting Started&lt;/h2&gt; 
&lt;p&gt;There are many ways to run Firefly III&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;There is a &lt;a href=&quot;https://demo.firefly-iii.org&quot;&gt;demo site&lt;/a&gt; with an example financial administration already present.&lt;/li&gt; 
 &lt;li&gt;You can &lt;a href=&quot;https://docs.firefly-iii.org/how-to/firefly-iii/installation/self-managed/&quot;&gt;install it on your server&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;You can &lt;a href=&quot;https://docs.firefly-iii.org/how-to/firefly-iii/installation/docker/&quot;&gt;run it using Docker&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;You can &lt;a href=&quot;https://firefly-iii.github.io/kubernetes/&quot;&gt;deploy via Kubernetes&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;You can &lt;a href=&quot;https://www.softaculous.com/softaculous/apps/others/Firefly_III&quot;&gt;install it using Softaculous&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;You can &lt;a href=&quot;https://www.ampps.com/&quot;&gt;install it using AMPPS&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;You can &lt;a href=&quot;https://cloudron.io/store/org.fireflyiii.cloudronapp.html&quot;&gt;install it on Cloudron&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;You can &lt;a href=&quot;https://gist.github.com/ArtisKrumins/ccb24f31d6d4872b57e7c9343a9d1bf0&quot;&gt;install it on Lando&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;You can &lt;a href=&quot;https://github.com/YunoHost-Apps/firefly-iii&quot;&gt;install it on Yunohost&lt;/a&gt;.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;You can contact me at &lt;a href=&quot;mailto:james@firefly-iii.org&quot;&gt;james@firefly-iii.org&lt;/a&gt;, you may open an issue in the &lt;a href=&quot;https://github.com/firefly-iii/firefly-iii&quot;&gt;main repository&lt;/a&gt; or contact me through &lt;a href=&quot;https://gitter.im/firefly-iii/firefly-iii&quot;&gt;gitter&lt;/a&gt; and &lt;a href=&quot;https://fosstodon.org/@ff3&quot;&gt;Mastodon&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Of course, there are some &lt;a href=&quot;https://docs.firefly-iii.org/explanation/support/#contributing-code&quot;&gt;contributing guidelines&lt;/a&gt; and a &lt;a href=&quot;https://github.com/firefly-iii/firefly-iii/raw/main/.github/code_of_conduct.md&quot;&gt;code of conduct&lt;/a&gt;, which I invite you to check out.&lt;/p&gt; 
&lt;p&gt;I can always use your help &lt;a href=&quot;https://docs.firefly-iii.org/explanation/support/&quot;&gt;squashing bugs&lt;/a&gt;, thinking about &lt;a href=&quot;https://docs.firefly-iii.org/explanation/support/&quot;&gt;new features&lt;/a&gt; or &lt;a href=&quot;https://docs.firefly-iii.org/how-to/firefly-iii/development/translations/&quot;&gt;translating Firefly III&lt;/a&gt; into other languages.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://sonarcloud.io/dashboard?id=firefly-iii_firefly-iii&quot;&gt;Sonarcloud&lt;/a&gt; scans the code of Firefly III. If you want to help improve Firefly III, check out the latest reports and take your pick!&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://sonarcloud.io/dashboard?id=firefly-iii_firefly-iii&quot;&gt;&lt;img src=&quot;https://sonarcloud.io/api/project_badges/measure?project=firefly-iii_firefly-iii&amp;amp;metric=alert_status&quot; alt=&quot;Quality Gate Status&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://sonarcloud.io/dashboard?id=firefly-iii_firefly-iii&quot;&gt;&lt;img src=&quot;https://sonarcloud.io/api/project_badges/measure?project=firefly-iii_firefly-iii&amp;amp;metric=bugs&quot; alt=&quot;Bugs&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://sonarcloud.io/dashboard?id=firefly-iii_firefly-iii&quot;&gt;&lt;img src=&quot;https://sonarcloud.io/api/project_badges/measure?project=firefly-iii_firefly-iii&amp;amp;metric=code_smells&quot; alt=&quot;Code Smells&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://sonarcloud.io/dashboard?id=firefly-iii_firefly-iii&quot;&gt;&lt;img src=&quot;https://sonarcloud.io/api/project_badges/measure?project=firefly-iii_firefly-iii&amp;amp;metric=vulnerabilities&quot; alt=&quot;Vulnerabilities&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;There is also a &lt;a href=&quot;https://github.com/firefly-iii/firefly-iii/security/policy&quot;&gt;security policy&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://bestpractices.coreinfrastructure.org/projects/6335&quot;&gt;&lt;img src=&quot;https://bestpractices.coreinfrastructure.org/projects/6335/badge&quot; alt=&quot;CII Best Practices&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;!-- SPONSOR TEXT --&gt; 
&lt;h2&gt;Support the development of Firefly III&lt;/h2&gt; 
&lt;p&gt;Firefly III is a side gig. With your sponsorship or support, I can spend more time on Firefly III. So, if you like Firefly III, and if it helps you save lots of money, why not send me a dime for every dollar saved! 🥳&lt;/p&gt; 
&lt;p&gt;OK, that was a joke. But for real, when you feel Firefly III made your life better, please consider contributing as a sponsor. Please check out my &lt;a href=&quot;https://www.patreon.com/jc5&quot;&gt;Patreon&lt;/a&gt; and &lt;a href=&quot;https://github.com/sponsors/JC5&quot;&gt;GitHub Sponsors&lt;/a&gt; page for more information. You can also &lt;a href=&quot;https://ko-fi.com/Q5Q5R4SH1&quot;&gt;buy me a ☕️ coffee at ko-fi.com&lt;/a&gt; or send something my way using &lt;a href=&quot;https://liberapay.com/JC5&quot;&gt;Liberapay&lt;/a&gt;. Thank you for your consideration.&lt;/p&gt; 
&lt;h3&gt;Sponsorships&lt;/h3&gt; 
&lt;p&gt;Firefly III is sponsored by TestMu AI. Their support allows me to test Firefly III more easily and introduce even fewer bugs with every release.&lt;/p&gt; 
&lt;p&gt;Browser testing via TestMu AI:&lt;/p&gt; 
&lt;a href=&quot;https://www.testmuai.com/?utm_source=fireflyiii&amp;amp;utm_medium=sponsor&quot; target=&quot;_blank&quot;&gt; &lt;img src=&quot;https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/.github/assets/img/testmu.png&quot; alt=&quot;TestMu AI&quot; style=&quot;vertical-align: middle;&quot; width=&quot;250&quot; /&gt; &lt;/a&gt; 
&lt;!-- END OF SPONSOR TEXT --&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;This work &lt;a href=&quot;https://github.com/firefly-iii/firefly-iii/raw/main/LICENSE&quot;&gt;is licensed&lt;/a&gt; under the &lt;a href=&quot;https://www.gnu.org/licenses/agpl-3.0.html&quot;&gt;GNU Affero General Public License v3&lt;/a&gt;.&lt;/p&gt; 
&lt;!-- HELP TEXT --&gt; 
&lt;h2&gt;Do you need help, or do you want to get in touch?&lt;/h2&gt; 
&lt;p&gt;Do you want to contact me? You can email me at &lt;a href=&quot;mailto:james@firefly-iii.org&quot;&gt;james@firefly-iii.org&lt;/a&gt; or get in touch through one of the following support channels:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/firefly-iii/firefly-iii/discussions/&quot;&gt;GitHub Discussions&lt;/a&gt; for questions and support&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://gitter.im/firefly-iii/firefly-iii&quot;&gt;Gitter.im&lt;/a&gt; for a good chat and a quick answer&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/firefly-iii/firefly-iii/issues&quot;&gt;GitHub Issues&lt;/a&gt; for bugs and issues&lt;/li&gt; 
 &lt;li&gt;&lt;a rel=&quot;me&quot; href=&quot;https://fosstodon.org/@ff3&quot;&gt;Mastodon&lt;/a&gt; for news and updates&lt;/li&gt; 
&lt;/ul&gt; 
&lt;!-- END OF HELP TEXT --&gt; 
&lt;h2&gt;Acknowledgements&lt;/h2&gt; 
&lt;p&gt;Over time, &lt;a href=&quot;https://github.com/firefly-iii/firefly-iii/graphs/contributors&quot;&gt;many people have contributed to Firefly III&lt;/a&gt;. I&#39;m grateful for their support and code contributions.&lt;/p&gt; 
&lt;p&gt;The Firefly III logo is made by the excellent Cherie Woo.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/21298446/df3f3500-938f-11eb-9ced-1fc42aec4e90" medium="image" />
      
    </item>
    
    <item>
      <title>Paymenter/Paymenter</title>
      <link>https://github.com/Paymenter/Paymenter</link>
      <description>&lt;p&gt;Free and open-source webshop solution for hostings&lt;/p&gt;&lt;hr&gt;&lt;br /&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://paymenter.org&quot;&gt; 
  &lt;picture&gt; 
   &lt;source media=&quot;(max-width: 768px)&quot; srcset=&quot;https://paymenter.org/iso.svg&quot; width=&quot;65px&quot; /&gt; 
   &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;https://paymenter.org/iso.svg&quot; width=&quot;80px&quot; /&gt; 
   &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;https://paymenter.org/iso.svg&quot; width=&quot;80px&quot; /&gt; 
   &lt;img alt=&quot;Paymenter Isotype&quot; src=&quot;https://paymenter.org/iso.svg?sanitize=true&quot; /&gt; 
  &lt;/picture&gt; &lt;/a&gt; &lt;/p&gt; 
&lt;h1 align=&quot;center&quot;&gt; Paymenter &lt;/h1&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;h3&gt;Open-Source Billing, Built for Hosting&lt;/h3&gt; 
 &lt;p&gt;Automate subscriptions, eliminate billing chaos, and grow your hosting business – without vendor lock-ins or hidden costs.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h4 align=&quot;center&quot;&gt; &lt;a href=&quot;https://paymenter.org&quot;&gt;Website&lt;/a&gt; · &lt;a href=&quot;https://paymenter.org/docs/installation/install&quot;&gt;Documentation&lt;/a&gt; · &lt;a href=&quot;https://demo.paymenter.org&quot;&gt;Live Demo&lt;/a&gt; · &lt;a href=&quot;https://paymenter.org/marketplace&quot;&gt;Extensions&lt;/a&gt; &lt;/h4&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;p&gt;&lt;a href=&quot;https://github.com/Paymenter/paymenter/raw/master/LICENSE&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/license-MIT-blue.svg?sanitize=true&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/downloads/paymenter/paymenter/total&quot; alt=&quot;Downloads&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/Paymenter/paymenter/releases&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/v/release/paymenter/paymenter&quot; alt=&quot;GitHub release (latest by date)&quot; /&gt;&lt;/a&gt; &lt;br /&gt; &lt;br /&gt; &lt;a href=&quot;https://discord.gg/paymenter-882318291014651924&quot;&gt;&lt;img src=&quot;https://img.shields.io/discord/882318291014651924?logo=discord&amp;amp;labelColor=white&amp;amp;color=5865f2&quot; alt=&quot;Discord&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(max-width: 768px)&quot; srcset=&quot;https://upload.wikimedia.org/wikipedia/commons/c/ca/1x1.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;https://paymenter.org/landing/screenshots/dark/dashboard.webp&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;https://paymenter.org/landing/screenshots/light/dashboard.webp&quot; /&gt; 
  &lt;img alt=&quot;Paymenter Dashboard&quot; src=&quot;https://paymenter.org/landing/screenshots/dark/dashboard.webp&quot; /&gt; 
 &lt;/picture&gt; 
 &lt;br /&gt; 
&lt;/div&gt; 
&lt;h2&gt;Getting Started&lt;/h2&gt; 
&lt;h4&gt;Installation &amp;amp; Documentation&lt;/h4&gt; 
&lt;p&gt;For a detailed explanation of how to install and configure Paymenter, take a look at our &lt;a href=&quot;https://paymenter.org/docs/getting-started/introduction/&quot;&gt;documentation here&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Or, get additional help via &lt;a href=&quot;https://discord.gg/xB4UUT3XQg&quot;&gt;Community Discord&lt;/a&gt;.&lt;/p&gt; 
&lt;h4&gt;Requirements&lt;/h4&gt; 
&lt;p&gt;The requirements for Paymenter are the following:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;PHP (8.3 or higher).&lt;/li&gt; 
 &lt;li&gt;Composer&lt;/li&gt; 
 &lt;li&gt;Webserver (Apache or Nginx)&lt;/li&gt; 
 &lt;li&gt;Database (MariaDB)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;What is Paymenter?&lt;/h2&gt; 
&lt;p&gt;Paymenter is an open-source billing platform tailored for hosting companies. It simplifies the management of hosting services, providing a seamless experience for both providers and customers. Built on modern web technologies, Paymenter offers a flexible and robust solution for your hosting business needs.&lt;/p&gt; 
&lt;h3&gt;Key Features:&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;User-Friendly Interface: Paymenter is designed with simplicity in mind, ensuring an intuitive experience for users of all technical levels.&lt;/li&gt; 
 &lt;li&gt;Open Source and Extensible: As an open-source platform, Paymenter encourages community contributions and customization. Its architecture allows for extensive modifications and integration with other tools.&lt;/li&gt; 
 &lt;li&gt;Efficient Management: Streamline your operations with Paymenter powerful admin panel, designed to enhance productivity and reduce overhead.&lt;/li&gt; 
 &lt;li&gt;Secure and Reliable: Built with security as a priority, Paymenter ensures the protection of your data and transactions.&lt;/li&gt; 
 &lt;li&gt;Community Driven: Join an engaged community of developers and hosting providers to collaborate and drive the future development of Paymenter.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Paymenter is available under the MIT license, offering you the freedom to adapt and evolve the platform to meet your specific requirements.&lt;/p&gt; 
&lt;h2&gt;Sponsors&lt;/h2&gt; 
&lt;p&gt;Thanks to all sponsors for helping fund Paymenter&#39;s development. &lt;a href=&quot;https://github.com/sponsors/Paymenter&quot;&gt;Interested in becoming a sponsor?&lt;/a&gt;&lt;/p&gt; 
&lt;a href=&quot;https://www.kuroit.com/?rel=paymenter&quot;&gt; &lt;img src=&quot;https://github.com/user-attachments/assets/8d00b4bb-a66c-449f-94e4-cbb9ea1c0d11&quot; width=&quot;400&quot; /&gt; &lt;/a&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Licensed under the &lt;a href=&quot;https://github.com/Paymenter/Paymenter/raw/master/LICENSE&quot;&gt;MIT License&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/547094968/7abdd3e6-c457-44ab-9d42-5e4d6db58ff8" medium="image" />
      
    </item>
    
    <item>
      <title>googleapis/google-api-php-client</title>
      <link>https://github.com/googleapis/google-api-php-client</link>
      <description>&lt;p&gt;A PHP client library for accessing Google APIs&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;img src=&quot;https://github.com/googleapis/google-api-php-client/workflows/.github/workflows/tests.yml/badge.svg?sanitize=true&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; 
&lt;h1&gt;Google APIs Client Library for PHP&lt;/h1&gt; 
&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: please check to see if the package you&#39;d like to install is available in our list of &lt;a href=&quot;https://cloud.google.com/php/docs/reference&quot;&gt;Google cloud packages&lt;/a&gt; first, as these are the recommended libraries.&lt;/p&gt; 
&lt;dl&gt; 
 &lt;dt&gt;
  Reference Docs
 &lt;/dt&gt;
 &lt;dd&gt;
  &lt;a href=&quot;https://googleapis.github.io/google-api-php-client/&quot;&gt;https://googleapis.github.io/google-api-php-client/&lt;/a&gt;
 &lt;/dd&gt; 
 &lt;dt&gt;
  License
 &lt;/dt&gt;
 &lt;dd&gt;
  Apache 2.0
 &lt;/dd&gt; 
&lt;/dl&gt; 
&lt;p&gt;The Google API Client Library enables you to work with Google APIs such as Gmail, Drive or YouTube on your server.&lt;/p&gt; 
&lt;p&gt;These client libraries are officially supported by Google. However, the libraries are considered complete and are in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features.&lt;/p&gt; 
&lt;h2&gt;Google Cloud Platform&lt;/h2&gt; 
&lt;p&gt;For Google Cloud Platform APIs such as &lt;a href=&quot;https://github.com/googleapis/google-cloud-php-datastore&quot;&gt;Datastore&lt;/a&gt;, &lt;a href=&quot;https://github.com/googleapis/google-cloud-php-storage&quot;&gt;Cloud Storage&lt;/a&gt;, &lt;a href=&quot;https://github.com/googleapis/google-cloud-php-pubsub&quot;&gt;Pub/Sub&lt;/a&gt;, and &lt;a href=&quot;https://github.com/googleapis/google-cloud-php-compute&quot;&gt;Compute Engine&lt;/a&gt;, we recommend using the Google Cloud client libraries. For a complete list of supported Google Cloud client libraries, see &lt;a href=&quot;https://github.com/googleapis/google-cloud-php&quot;&gt;googleapis/google-cloud-php&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Requirements&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.php.net/&quot;&gt;PHP 8.0 or higher&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Developer Documentation&lt;/h2&gt; 
&lt;p&gt;The &lt;a href=&quot;https://raw.githubusercontent.com/googleapis/google-api-php-client/main/docs/&quot;&gt;docs folder&lt;/a&gt; provides detailed guides for using this library.&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;p&gt;You can use &lt;strong&gt;Composer&lt;/strong&gt; or simply &lt;strong&gt;Download the Release&lt;/strong&gt;&lt;/p&gt; 
&lt;h3&gt;Composer&lt;/h3&gt; 
&lt;p&gt;The preferred method is via &lt;a href=&quot;https://getcomposer.org/&quot;&gt;composer&lt;/a&gt;. Follow the &lt;a href=&quot;https://getcomposer.org/doc/00-intro.md&quot;&gt;installation instructions&lt;/a&gt; if you do not already have composer installed.&lt;/p&gt; 
&lt;p&gt;Once composer is installed, execute the following command in your project root to install this library:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;composer require google/apiclient
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;If you&#39;re facing a timeout error then either increase the timeout for composer by adding the env flag as &lt;code&gt;COMPOSER_PROCESS_TIMEOUT=600 composer install&lt;/code&gt; or you can put this in the &lt;code&gt;config&lt;/code&gt; section of the composer schema:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;{
    &quot;config&quot;: {
        &quot;process-timeout&quot;: 600
    }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Finally, be sure to include the autoloader:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;require_once &#39;/path/to/your-project/vendor/autoload.php&#39;;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This library relies on &lt;code&gt;google/apiclient-services&lt;/code&gt;. That library provides up-to-date API wrappers for a large number of Google APIs. In order that users may make use of the latest API clients, this library does not pin to a specific version of &lt;code&gt;google/apiclient-services&lt;/code&gt;. &lt;strong&gt;In order to prevent the accidental installation of API wrappers with breaking changes&lt;/strong&gt;, it is highly recommended that you pin to the &lt;a href=&quot;https://github.com/googleapis/google-api-php-client-services/releases&quot;&gt;latest version&lt;/a&gt; yourself prior to using this library in production.&lt;/p&gt; 
&lt;h4&gt;Cleaning up unused services&lt;/h4&gt; 
&lt;p&gt;There are over 200 Google API services. The chances are good that you will not want them all. In order to avoid shipping these dependencies with your code, you can run the &lt;code&gt;Google\Task\Composer::cleanup&lt;/code&gt; task and specify the services you want to keep in &lt;code&gt;composer.json&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
    &quot;require&quot;: {
        &quot;google/apiclient&quot;: &quot;^2.15.0&quot;
    },
    &quot;scripts&quot;: {
        &quot;pre-autoload-dump&quot;: &quot;Google\\Task\\Composer::cleanup&quot;
    },
    &quot;extra&quot;: {
        &quot;google/apiclient-services&quot;: [
            &quot;Drive&quot;,
            &quot;YouTube&quot;
        ]
    }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This example will remove all services other than &quot;Drive&quot; and &quot;YouTube&quot; when &lt;code&gt;composer update&lt;/code&gt; or a fresh &lt;code&gt;composer install&lt;/code&gt; is run.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;IMPORTANT&lt;/strong&gt;: If you add any services back in &lt;code&gt;composer.json&lt;/code&gt;, you will need to remove the &lt;code&gt;vendor/google/apiclient-services&lt;/code&gt; directory explicitly for the change you made to have effect:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;rm -r vendor/google/apiclient-services
composer update
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: This command performs an exact match on the service name, so to keep &lt;code&gt;YouTubeReporting&lt;/code&gt; and &lt;code&gt;YouTubeAnalytics&lt;/code&gt; as well, you&#39;d need to add each of them explicitly:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
    &quot;extra&quot;: {
        &quot;google/apiclient-services&quot;: [
            &quot;Drive&quot;,
            &quot;YouTube&quot;,
            &quot;YouTubeAnalytics&quot;,
            &quot;YouTubeReporting&quot;
        ]
    }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Download the Release&lt;/h3&gt; 
&lt;p&gt;If you prefer not to use composer, you can download the package in its entirety. The &lt;a href=&quot;https://github.com/googleapis/google-api-php-client/releases&quot;&gt;Releases&lt;/a&gt; page lists all stable versions. Download any file with the name &lt;code&gt;google-api-php-client-[RELEASE_NAME].zip&lt;/code&gt; for a package including this library and its dependencies.&lt;/p&gt; 
&lt;p&gt;Uncompress the zip file you download, and include the autoloader in your project:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;require_once &#39;/path/to/google-api-php-client/vendor/autoload.php&#39;;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;For additional installation and setup instructions, see &lt;a href=&quot;https://raw.githubusercontent.com/googleapis/google-api-php-client/main/docs/&quot;&gt;the documentation&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Examples&lt;/h2&gt; 
&lt;p&gt;See the &lt;a href=&quot;https://raw.githubusercontent.com/googleapis/google-api-php-client/main/examples&quot;&gt;&lt;code&gt;examples/&lt;/code&gt;&lt;/a&gt; directory for examples of the key client features. You can view them in your browser by running the php built-in web server.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;$ php -S localhost:8000 -t examples/
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;And then browsing to the host and port you specified (in the above example, &lt;code&gt;http://localhost:8000&lt;/code&gt;).&lt;/p&gt; 
&lt;h3&gt;Basic Example&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;// include your composer dependencies
require_once &#39;vendor/autoload.php&#39;;

$client = new Google\Client();
$client-&amp;gt;setApplicationName(&quot;Client_Library_Examples&quot;);
$client-&amp;gt;setDeveloperKey(&quot;YOUR_APP_KEY&quot;);

$service = new Google\Service\Books($client);
$query = &#39;Henry David Thoreau&#39;;
$optParams = [
  &#39;filter&#39; =&amp;gt; &#39;free-ebooks&#39;,
];
$results = $service-&amp;gt;volumes-&amp;gt;listVolumes($query, $optParams);

foreach ($results-&amp;gt;getItems() as $item) {
  echo $item[&#39;volumeInfo&#39;][&#39;title&#39;], &quot;&amp;lt;br /&amp;gt; \n&quot;;
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Authentication with OAuth&lt;/h3&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;An example of this can be seen in &lt;a href=&quot;https://raw.githubusercontent.com/googleapis/google-api-php-client/main/examples/simple-file-upload.php&quot;&gt;&lt;code&gt;examples/simple-file-upload.php&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;ol&gt; 
 &lt;li&gt; &lt;p&gt;Follow the instructions to &lt;a href=&quot;https://raw.githubusercontent.com/googleapis/google-api-php-client/main/docs/oauth-web.md#create-authorization-credentials&quot;&gt;Create Web Application Credentials&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Download the JSON credentials&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Set the path to these credentials using &lt;code&gt;Google\Client::setAuthConfig&lt;/code&gt;:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;$client = new Google\Client();
$client-&amp;gt;setAuthConfig(&#39;/path/to/client_credentials.json&#39;);
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Set the scopes required for the API you are going to call&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;$client-&amp;gt;addScope(Google\Service\Drive::DRIVE);
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Set your application&#39;s redirect URI&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;// Your redirect URI can be any registered URI, but in this example
// we redirect back to this same page
$redirect_uri = &#39;http://&#39; . $_SERVER[&#39;HTTP_HOST&#39;] . $_SERVER[&#39;PHP_SELF&#39;];
$client-&amp;gt;setRedirectUri($redirect_uri);
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;In the script handling the redirect URI, exchange the authorization code for an access token:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;if (isset($_GET[&#39;code&#39;])) {
    $token = $client-&amp;gt;fetchAccessTokenWithAuthCode($_GET[&#39;code&#39;]);
}
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;Authentication with Service Accounts&lt;/h3&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;An example of this can be seen in &lt;a href=&quot;https://raw.githubusercontent.com/googleapis/google-api-php-client/main/examples/service-account.php&quot;&gt;&lt;code&gt;examples/service-account.php&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;p&gt;Some APIs (such as the &lt;a href=&quot;https://developers.google.com/youtube/v3/&quot;&gt;YouTube Data API&lt;/a&gt;) do not support service accounts. Check with the specific API documentation if API calls return unexpected 401 or 403 errors.&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt; &lt;p&gt;Follow the instructions to &lt;a href=&quot;https://raw.githubusercontent.com/googleapis/google-api-php-client/main/docs/oauth-server.md#creating-a-service-account&quot;&gt;Create a Service Account&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Download the JSON credentials&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Set the path to these credentials using the &lt;code&gt;GOOGLE_APPLICATION_CREDENTIALS&lt;/code&gt; environment variable:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;putenv(&#39;GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json&#39;);
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Tell the Google client to use your service account credentials to authenticate:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;$client = new Google\Client();
$client-&amp;gt;useApplicationDefaultCredentials();
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Set the scopes required for the API you are going to call&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;$client-&amp;gt;addScope(Google\Service\Drive::DRIVE);
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;If you have delegated domain-wide access to the service account and you want to impersonate a user account, specify the email address of the user account using the method setSubject:&lt;/p&gt; &lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;$client-&amp;gt;setSubject($user_to_impersonate);
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
&lt;/ol&gt; 
&lt;h4&gt;How to use a specific JSON key&lt;/h4&gt; 
&lt;p&gt;If you want to a specific JSON key instead of using &lt;code&gt;GOOGLE_APPLICATION_CREDENTIALS&lt;/code&gt; environment variable, you can do this:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;$jsonKey = [
   &#39;type&#39; =&amp;gt; &#39;service_account&#39;,
   // ...
];
$client = new Google\Client();
$client-&amp;gt;setAuthConfig($jsonKey);
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Making Requests&lt;/h3&gt; 
&lt;p&gt;The classes used to call the API in &lt;a href=&quot;https://github.com/googleapis/google-api-php-client-services&quot;&gt;google-api-php-client-services&lt;/a&gt; are autogenerated. They map directly to the JSON requests and responses found in the &lt;a href=&quot;https://developers.google.com/apis-explorer/#p/&quot;&gt;APIs Explorer&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;A JSON request to the &lt;a href=&quot;https://developers.google.com/apis-explorer/#p/datastore/v1beta3/datastore.projects.runQuery&quot;&gt;Datastore API&lt;/a&gt; would look like this:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;POST https://datastore.googleapis.com/v1beta3/projects/YOUR_PROJECT_ID:runQuery?key=YOUR_API_KEY
&lt;/code&gt;&lt;/pre&gt; 
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
    &quot;query&quot;: {
        &quot;kind&quot;: [{
            &quot;name&quot;: &quot;Book&quot;
        }],
        &quot;order&quot;: [{
            &quot;property&quot;: {
                &quot;name&quot;: &quot;title&quot;
            },
            &quot;direction&quot;: &quot;descending&quot;
        }],
        &quot;limit&quot;: 10
    }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Using this library, the same call would look something like this:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;// create the datastore service class
$datastore = new Google\Service\Datastore($client);

// build the query - this maps directly to the JSON
$query = new Google\Service\Datastore\Query([
    &#39;kind&#39; =&amp;gt; [
        [
            &#39;name&#39; =&amp;gt; &#39;Book&#39;,
        ],
    ],
    &#39;order&#39; =&amp;gt; [
        &#39;property&#39; =&amp;gt; [
            &#39;name&#39; =&amp;gt; &#39;title&#39;,
        ],
        &#39;direction&#39; =&amp;gt; &#39;descending&#39;,
    ],
    &#39;limit&#39; =&amp;gt; 10,
]);

// build the request and response
$request = new Google\Service\Datastore\RunQueryRequest([&#39;query&#39; =&amp;gt; $query]);
$response = $datastore-&amp;gt;projects-&amp;gt;runQuery(&#39;YOUR_DATASET_ID&#39;, $request);
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;However, as each property of the JSON API has a corresponding generated class, the above code could also be written like this:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;// create the datastore service class
$datastore = new Google\Service\Datastore($client);

// build the query
$request = new Google\Service\Datastore_RunQueryRequest();
$query = new Google\Service\Datastore\Query();
//   - set the order
$order = new Google\Service\Datastore_PropertyOrder();
$order-&amp;gt;setDirection(&#39;descending&#39;);
$property = new Google\Service\Datastore\PropertyReference();
$property-&amp;gt;setName(&#39;title&#39;);
$order-&amp;gt;setProperty($property);
$query-&amp;gt;setOrder([$order]);
//   - set the kinds
$kind = new Google\Service\Datastore\KindExpression();
$kind-&amp;gt;setName(&#39;Book&#39;);
$query-&amp;gt;setKinds([$kind]);
//   - set the limit
$query-&amp;gt;setLimit(10);

// add the query to the request and make the request
$request-&amp;gt;setQuery($query);
$response = $datastore-&amp;gt;projects-&amp;gt;runQuery(&#39;YOUR_DATASET_ID&#39;, $request);
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The method used is a matter of preference, but &lt;em&gt;it will be very difficult to use this library without first understanding the JSON syntax for the API&lt;/em&gt;, so it is recommended to look at the &lt;a href=&quot;https://developers.google.com/apis-explorer/#p/&quot;&gt;APIs Explorer&lt;/a&gt; before using any of the services here.&lt;/p&gt; 
&lt;h3&gt;Making HTTP Requests Directly&lt;/h3&gt; 
&lt;p&gt;If Google Authentication is desired for external applications, or a Google API is not available yet in this library, HTTP requests can be made directly.&lt;/p&gt; 
&lt;p&gt;If you are installing this client only to authenticate your own HTTP client requests, you should use &lt;a href=&quot;https://github.com/googleapis/google-auth-library-php#call-the-apis&quot;&gt;&lt;code&gt;google/auth&lt;/code&gt;&lt;/a&gt; instead.&lt;/p&gt; 
&lt;p&gt;The &lt;code&gt;authorize&lt;/code&gt; method returns an authorized &lt;a href=&quot;http://docs.guzzlephp.org/&quot;&gt;Guzzle Client&lt;/a&gt;, so any request made using the client will contain the corresponding authorization.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;// create the Google client
$client = new Google\Client();

/**
 * Set your method for authentication. Depending on the API, This could be
 * directly with an access token, API key, or (recommended) using
 * Application Default Credentials.
 */
$client-&amp;gt;useApplicationDefaultCredentials();
$client-&amp;gt;addScope(Google\Service\Plus::PLUS_ME);

// returns a Guzzle HTTP Client
$httpClient = $client-&amp;gt;authorize();

// make an HTTP request
$response = $httpClient-&amp;gt;get(&#39;https://www.googleapis.com/plus/v1/people/me&#39;);
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Caching&lt;/h3&gt; 
&lt;p&gt;It is recommended to use another caching library to improve performance. This can be done by passing a &lt;a href=&quot;https://www.php-fig.org/psr/psr-6/&quot;&gt;PSR-6&lt;/a&gt; compatible library to the client:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;use League\Flysystem\Adapter\Local;
use League\Flysystem\Filesystem;
use Cache\Adapter\Filesystem\FilesystemCachePool;

$filesystemAdapter = new Local(__DIR__.&#39;/&#39;);
$filesystem        = new Filesystem($filesystemAdapter);

$cache = new FilesystemCachePool($filesystem);
$client-&amp;gt;setCache($cache);
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;In this example we use &lt;a href=&quot;http://www.php-cache.com/&quot;&gt;PHP Cache&lt;/a&gt;. Add this to your project with composer:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;composer require cache/filesystem-adapter
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Updating Tokens&lt;/h3&gt; 
&lt;p&gt;When using &lt;a href=&quot;https://developers.google.com/identity/protocols/OAuth2InstalledApp#offline&quot;&gt;Refresh Tokens&lt;/a&gt; or &lt;a href=&quot;https://developers.google.com/identity/protocols/OAuth2ServiceAccount#overview&quot;&gt;Service Account Credentials&lt;/a&gt;, it may be useful to perform some action when a new access token is granted. To do this, pass a callable to the &lt;code&gt;setTokenCallback&lt;/code&gt; method on the client:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;$logger = new Monolog\Logger();
$tokenCallback = function ($cacheKey, $accessToken) use ($logger) {
  $logger-&amp;gt;debug(sprintf(&#39;new access token received at cache key %s&#39;, $cacheKey));
};
$client-&amp;gt;setTokenCallback($tokenCallback);
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Debugging Your HTTP Request using Charles&lt;/h3&gt; 
&lt;p&gt;It is often very useful to debug your API calls by viewing the raw HTTP request. This library supports the use of &lt;a href=&quot;https://www.charlesproxy.com/documentation/getting-started/&quot;&gt;Charles Web Proxy&lt;/a&gt;. Download and run Charles, and then capture all HTTP traffic through Charles with the following code:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;// FOR DEBUGGING ONLY
$httpClient = new GuzzleHttp\Client([
    &#39;proxy&#39; =&amp;gt; &#39;localhost:8888&#39;, // by default, Charles runs on localhost port 8888
    &#39;verify&#39; =&amp;gt; false, // otherwise HTTPS requests will fail.
]);

$client = new Google\Client();
$client-&amp;gt;setHttpClient($httpClient);
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Now all calls made by this library will appear in the Charles UI.&lt;/p&gt; 
&lt;p&gt;One additional step is required in Charles to view SSL requests. Go to &lt;strong&gt;Charles &amp;gt; Proxy &amp;gt; SSL Proxying Settings&lt;/strong&gt; and add the domain you&#39;d like captured. In the case of the Google APIs, this is usually &lt;code&gt;*.googleapis.com&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;Controlling HTTP Client Configuration Directly&lt;/h3&gt; 
&lt;p&gt;Google API Client uses &lt;a href=&quot;http://docs.guzzlephp.org/&quot;&gt;Guzzle&lt;/a&gt; as its default HTTP client. That means that you can control your HTTP requests in the same manner you would for any application using Guzzle.&lt;/p&gt; 
&lt;p&gt;Let&#39;s say, for instance, we wished to apply a referrer to each request.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;use GuzzleHttp\Client;

$httpClient = new Client([
    &#39;headers&#39; =&amp;gt; [
        &#39;referer&#39; =&amp;gt; &#39;mysite.com&#39;
    ]
]);

$client = new Google\Client();
$client-&amp;gt;setHttpClient($httpClient);
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Other Guzzle features such as &lt;a href=&quot;http://docs.guzzlephp.org/en/stable/handlers-and-middleware.html&quot;&gt;Handlers and Middleware&lt;/a&gt; offer even more control.&lt;/p&gt; 
&lt;h3&gt;Partial Consent and Granted Scopes&lt;/h3&gt; 
&lt;p&gt;When using OAuth2 3LO (e.g. you&#39;re a client requesting credentials from a 3rd party, such as in the &lt;a href=&quot;https://raw.githubusercontent.com/googleapis/google-api-php-client/main/examples/simple-file-upload.php&quot;&gt;simple file upload example&lt;/a&gt;), you may want to take advantage of Partial Consent.&lt;/p&gt; 
&lt;p&gt;To allow clients to only grant certain scopes in the OAuth2 screen, pass the querystring parameter for &lt;code&gt;enable_serial_consent&lt;/code&gt; when generating the authorization URL:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;$authUrl = $client-&amp;gt;createAuthUrl($scope, [&#39;enable_serial_consent&#39; =&amp;gt; &#39;true&#39;]);
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Once the flow is completed, you can see which scopes were granted by calling &lt;code&gt;getGrantedScope&lt;/code&gt; on the OAuth2 object:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;// Space-separated string of granted scopes if it exists, otherwise null.
echo $client-&amp;gt;getOAuth2Service()-&amp;gt;getGrantedScope();
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Service Specific Examples&lt;/h3&gt; 
&lt;p&gt;YouTube: &lt;a href=&quot;https://github.com/youtube/api-samples/tree/master/php&quot;&gt;https://github.com/youtube/api-samples/tree/master/php&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;How Do I Contribute?&lt;/h2&gt; 
&lt;p&gt;Please see the &lt;a href=&quot;https://raw.githubusercontent.com/googleapis/google-api-php-client/main/.github/CONTRIBUTING.md&quot;&gt;contributing&lt;/a&gt; page for more information. In particular, we love pull requests - but please make sure to sign the contributor license agreement.&lt;/p&gt; 
&lt;h2&gt;Frequently Asked Questions&lt;/h2&gt; 
&lt;h3&gt;What do I do if something isn&#39;t working?&lt;/h3&gt; 
&lt;p&gt;For support with the library the best place to ask is via the google-api-php-client tag on StackOverflow: &lt;a href=&quot;https://stackoverflow.com/questions/tagged/google-api-php-client&quot;&gt;https://stackoverflow.com/questions/tagged/google-api-php-client&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;If there is a specific bug with the library, please &lt;a href=&quot;https://github.com/googleapis/google-api-php-client/issues&quot;&gt;file an issue&lt;/a&gt; in the GitHub issues tracker, including an example of the failing code and any specific errors retrieved. Feature requests can also be filed, as long as they are core library requests, and not-API specific: for those, refer to the documentation for the individual APIs for the best place to file requests. Please try to provide a clear statement of the problem that the feature would address.&lt;/p&gt; 
&lt;h3&gt;I want an example of X!&lt;/h3&gt; 
&lt;p&gt;If X is a feature of the library, file away! If X is an example of using a specific service, the best place to go is to the teams for those specific APIs - our preference is to link to their examples rather than add them to the library, as they can then pin to specific versions of the library. If you have any examples for other APIs, let us know and we will happily add a link to the README above!&lt;/p&gt; 
&lt;h3&gt;Why do some Google\Service classes have weird names?&lt;/h3&gt; 
&lt;p&gt;The &lt;em&gt;Google\Service&lt;/em&gt; classes are generally automatically generated from the API discovery documents: &lt;a href=&quot;https://developers.google.com/discovery/&quot;&gt;https://developers.google.com/discovery/&lt;/a&gt;. Sometimes new features are added to APIs with unusual names, which can cause some unexpected or non-standard style naming in the PHP classes.&lt;/p&gt; 
&lt;h3&gt;How do I deal with non-JSON response types?&lt;/h3&gt; 
&lt;p&gt;Some services return XML or similar by default, rather than JSON, which is what the library supports. You can request a JSON response by adding an &#39;alt&#39; argument to optional params that is normally the last argument to a method call:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-php&quot;&gt;$opt_params = array(
  &#39;alt&#39; =&amp;gt; &quot;json&quot;
);
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;How do I set a field to null?&lt;/h3&gt; 
&lt;p&gt;The library strips out nulls from the objects sent to the Google APIs as it is the default value of all of the uninitialized properties. To work around this, set the field you want to null to &lt;code&gt;Google\Model::NULL_VALUE&lt;/code&gt;. This is a placeholder that will be replaced with a true null when sent over the wire.&lt;/p&gt; 
&lt;h2&gt;Code Quality&lt;/h2&gt; 
&lt;p&gt;Run the PHPUnit tests with PHPUnit. You can configure an API key and token in BaseTest.php to run all calls, but this will require some setup on the Google Developer Console.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;phpunit tests/
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Coding Style&lt;/h3&gt; 
&lt;p&gt;To check for coding style violations, run&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;vendor/bin/phpcs src --standard=style/ruleset.xml -np
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;To automatically fix (fixable) coding style violations, run&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;vendor/bin/phpcbf src --standard=style/ruleset.xml
&lt;/code&gt;&lt;/pre&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/65a6def4b86f47570c573be63bad9e5a4e70370b1a455342f48fefe85e9e56d8/googleapis/google-api-php-client" medium="image" />
      
    </item>
    
    <item>
      <title>SpartnerNL/Laravel-Excel</title>
      <link>https://github.com/SpartnerNL/Laravel-Excel</link>
      <description>&lt;p&gt;🚀 Supercharged Excel exports and imports in Laravel&lt;/p&gt;&lt;hr&gt;&lt;br /&gt; 
&lt;br /&gt; 
&lt;p align=&quot;center&quot;&gt; 
 &lt;!-- XMAS: https://user-images.githubusercontent.com/7728097/146406114-a5f5e13a-e2ee-47a2-9bf9-ad43cdbdf200.png--&gt; &lt;img width=&quot;589&quot; src=&quot;https://user-images.githubusercontent.com/7728097/143205384-af3c73a8-0253-45f3-b5ac-28a335dddb87.png&quot; alt=&quot;Laravel Excel logo&quot; /&gt; &lt;/p&gt; 
&lt;br /&gt; 
&lt;h3 align=&quot;center&quot;&gt;Supercharged Excel exports and imports&lt;/h3&gt; 
&lt;p align=&quot;center&quot;&gt; A simple, but elegant &lt;a href=&quot;https://laravel.com&quot; target=&quot;_blank&quot;&gt;Laravel&lt;/a&gt;&lt;a&gt;&lt;/a&gt; wrapper around &lt;a href=&quot;https://phpspreadsheet.readthedocs.io/&quot; target=&quot;_blank&quot;&gt;PhpSpreadsheet&lt;/a&gt; exports and imports. &lt;/p&gt; 
&lt;h4 align=&quot;center&quot;&gt; &lt;a href=&quot;https://docs.laravel-excel.com/3.1/exports/&quot;&gt;Quickstart&lt;/a&gt; &lt;span&gt; · &lt;/span&gt; &lt;a href=&quot;https://docs.laravel-excel.com/3.1/getting-started/&quot;&gt;Documentation&lt;/a&gt; &lt;span&gt; · &lt;/span&gt; &lt;a href=&quot;https://course.laravel-excel.com&quot;&gt;Video Course&lt;/a&gt; &lt;span&gt; · &lt;/span&gt; &lt;a href=&quot;https://github.com/SpartnerNL/Laravel-Nova-Excel&quot;&gt;Nova&lt;/a&gt; &lt;span&gt; · &lt;/span&gt; &lt;a href=&quot;https://medium.com/maatwebsite/laravel-excel/home&quot;&gt;Blog&lt;/a&gt; &lt;span&gt; · &lt;/span&gt; &lt;a href=&quot;https://docs.laravel-excel.com/3.1/getting-started/contributing.html&quot;&gt;Contributing&lt;/a&gt; &lt;span&gt; · &lt;/span&gt; &lt;a href=&quot;https://docs.laravel-excel.com/3.1/getting-started/support.html&quot;&gt;Support&lt;/a&gt; &lt;/h4&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;a href=&quot;https://github.com/SpartnerNL/Laravel-Excel/actions&quot;&gt; &lt;img src=&quot;https://github.com/SpartnerNL/Laravel-Excel/actions/workflows/run-tests.yml/badge.svg?sanitize=true&quot; alt=&quot;Github Actions&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://styleci.io/repos/14259390&quot;&gt; &lt;img src=&quot;https://styleci.io/repos/14259390/shield?branch=3.1&quot; alt=&quot;StyleCI&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://packagist.org/packages/maatwebsite/excel&quot;&gt; &lt;img src=&quot;https://poser.pugx.org/maatwebsite/excel/v/stable.png&quot; alt=&quot;Latest Stable Version&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://packagist.org/packages/maatwebsite/excel&quot;&gt; &lt;img src=&quot;https://poser.pugx.org/maatwebsite/excel/downloads.png&quot; alt=&quot;Total Downloads&quot; /&gt; &lt;/a&gt; &lt;a href=&quot;https://github.com/SpartnerNL/Laravel-Excel/raw/3.1/LICENSE&quot;&gt; &lt;img src=&quot;https://poser.pugx.org/maatwebsite/excel/license.png&quot; alt=&quot;License&quot; /&gt; &lt;/a&gt; &lt;/p&gt; 
&lt;h2&gt;✨ Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Easily export collections to Excel.&lt;/strong&gt; Supercharge your Laravel collections and export them directly to an Excel or CSV document. Exporting has never been so easy.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Supercharged exports.&lt;/strong&gt; Export queries with automatic chunking for better performance. You provide us the query, we handle the performance. Exporting even larger datasets? No worries, Laravel Excel has your back. You can queue your exports so all of this happens in the background.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Supercharged imports.&lt;/strong&gt; Import workbooks and worksheets to Eloquent models with chunk reading and batch inserts! Have large files? You can queue every chunk of a file! Your entire import will happen in the background.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;&lt;strong&gt;Export Blade views.&lt;/strong&gt; Want to have a custom layout in your spreadsheet? Use a HTML table in a Blade view and export that to Excel.&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;img src=&quot;https://user-images.githubusercontent.com/7728097/57463977-2263fc80-727c-11e9-833d-669d816fb7fb.jpg&quot; alt=&quot;banner&quot; /&gt; &lt;br /&gt;&lt;/p&gt; 
&lt;h2&gt;🎓 Learning Laravel Excel&lt;/h2&gt; 
&lt;p&gt;You can find the full documentation of Laravel Excel &lt;a href=&quot;https://docs.laravel-excel.com&quot;&gt;on the website&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;We welcome suggestions for improving our docs. The documentation repository can be found at &lt;a href=&quot;https://github.com/SpartnerNL/laravel-excel-docs&quot;&gt;https://github.com/SpartnerNL/laravel-excel-docs&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Some articles and tutorials can be found on our blog: &lt;a href=&quot;https://medium.com/maatwebsite/laravel-excel/home&quot;&gt;https://medium.com/maatwebsite/laravel-excel/home&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;📬 License &amp;amp; Postcardware&lt;/h2&gt; 
&lt;p&gt;&lt;img src=&quot;https://user-images.githubusercontent.com/7728097/53638144-9e5f1a00-3c25-11e9-9f4a-fc71c9d94562.jpg&quot; alt=&quot;1_5nblgs68uarg0wxxejozdq&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;Laravel Excel is created with love and care by Spartner (formerly known as Maatwebsite) to give back to the Laravel community. It is completely free (MIT license) to use, however the package is licensed as Postcardware. This means that if it makes it to your production environment, we would very much appreciate receiving a postcard from your hometown.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Spartner&lt;/strong&gt; Markt 2 6231 LS Meerssen The Netherlands.&lt;/p&gt; 
&lt;p&gt;More about the license can be found at: &lt;a href=&quot;https://docs.laravel-excel.com/3.1/getting-started/license.html&quot;&gt;https://docs.laravel-excel.com/3.1/getting-started/license.html&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Created by Spartner (formerly Maatwebsite)&lt;/h2&gt; 
&lt;p&gt;We are a strategic development partner, creating web-based custom built software from Laravel. In need of a digital solution for your challenge? Give us a call.&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://spartner.software&quot;&gt;https://spartner.software&lt;/a&gt; &lt;a href=&quot;mailto:info@spartner.nl&quot;&gt;info@spartner.nl&lt;/a&gt; +31 (0) 10 - 7449312&lt;/p&gt; 
&lt;h2&gt;🔧 Supported Versions&lt;/h2&gt; 
&lt;p&gt;Versions will be supported for a limited amount of time.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Version&lt;/th&gt; 
   &lt;th&gt;Laravel Version&lt;/th&gt; 
   &lt;th&gt;Php Version&lt;/th&gt; 
   &lt;th&gt;Support&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;2.1&lt;/td&gt; 
   &lt;td&gt;&amp;lt;=5.6&lt;/td&gt; 
   &lt;td&gt;&amp;lt;=7.0&lt;/td&gt; 
   &lt;td&gt;Unsupported since 15-5-2018&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;3.0&lt;/td&gt; 
   &lt;td&gt;^5.5&lt;/td&gt; 
   &lt;td&gt;^7.0&lt;/td&gt; 
   &lt;td&gt;Unsupported since 31-12-2018&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;3.1&lt;/td&gt; 
   &lt;td&gt;&amp;gt;=5.8 | &amp;lt;=13.x&lt;/td&gt; 
   &lt;td&gt;^7.2 | ^8.0&lt;/td&gt; 
   &lt;td&gt;New features&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/14259390/9b03c380-7ee0-11e9-8003-8b49ee61464c" medium="image" />
      
    </item>
    
  </channel>
</rss>
