# Download/Install

> Install the Flexter packages from the Sonra package repositories, or download and install them manually.

---

Site [llms.txt](/flexter/master/llms.txt)

---

Flexter is distributed as six packages: `xml2er`, `xsd2er`, `json2er`, `merge2er`, `flexchma` and `flexter-ui`. They are available from the Sonra YUM/DNF and APT repositories, and as RPM, DEB and TGZ files for manual installation.

<div class="alert alert-primary" role="alert"><div class="h4 alert-heading" role="heading">Credentials</div>


Every method below needs the repository credentials provided by Sonra. Replace `<USER>` and `<PASS>` with them.
</div>


## Repository Setup







<ul class="nav nav-tabs" id="tabs-1" role="tablist">
  <li class="nav-item">
      <button class="nav-link active"
          id="tabs-01-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-00" role="tab"
          data-td-tp-persist="rhel / fedora (dnf)" aria-controls="tabs-01-00" aria-selected="true">
        RHEL / Fedora (DNF)
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-01-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-01-01" role="tab"
          data-td-tp-persist="debian / ubuntu (apt)" aria-controls="tabs-01-01" aria-selected="false">
        Debian / Ubuntu (APT)
      </button>
    </li>
</ul>

<div class="tab-content" id="tabs-1-content">
    <div class="tab-body tab-pane fade show active"
        id="tabs-01-00" role="tabpanel" aria-labelled-by="tabs-01-00-tab" tabindex="1">
        <p>Supported distributions: Red Hat Enterprise Linux, CentOS Stream, Rocky Linux, AlmaLinux, Fedora, Oracle Linux and Amazon Linux. Both <code>dnf</code> and <code>yum</code> work with the commands below.</p>
<p>Create the repository file, which normally requires root access:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo vi /etc/yum.repos.d/sonra-flexter.repo
</span></span></code></pre></div><p>with the following content:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-ini" data-lang="ini"><span class="line"><span class="cl"><span class="k">[sonra-flexter]</span>
</span></span><span class="line"><span class="cl"><span class="na">name</span><span class="o">=</span><span class="s">Sonra Repository</span>
</span></span><span class="line"><span class="cl"><span class="na">baseurl</span><span class="o">=</span><span class="s">https://yum.sonra.io/flexter</span>
</span></span><span class="line"><span class="cl"><span class="na">username</span><span class="o">=</span><span class="s">&lt;USER&gt;</span>
</span></span><span class="line"><span class="cl"><span class="na">password</span><span class="o">=</span><span class="s">&lt;PASS&gt;</span>
</span></span><span class="line"><span class="cl"><span class="na">gpgkey</span><span class="o">=</span><span class="s">https://yum.sonra.io/RPM-GPG-KEY-Sonra</span>
</span></span><span class="line"><span class="cl"><span class="na">gpgcheck</span><span class="o">=</span><span class="s">0</span>
</span></span><span class="line"><span class="cl"><span class="na">enabled</span><span class="o">=</span><span class="s">0</span>
</span></span><span class="line"><span class="cl"><span class="na">priority</span><span class="o">=</span><span class="s">1</span>
</span></span></code></pre></div><div class="alert alert-warning" role="alert"><div class="h4 alert-heading" role="heading">Repository disabled by default</div>
<p>The repository is created with <code>enabled=0</code> so that a routine <code>dnf upgrade</code> of the server never upgrades Flexter unintentionally. Always pass <code>--repo=sonra-flexter</code> explicitly when installing or upgrading Flexter.</p>
</div>
<p><strong>Installing the latest version</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo dnf --repo<span class="o">=</span>sonra-flexter install xml2er xsd2er json2er merge2er flexchma flexter-ui
</span></span></code></pre></div><p><strong>Installing a specific version</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo dnf --repo<span class="o">=</span>sonra-flexter install xml2er-2.14.2 xsd2er-2.14.2 json2er-2.14.2 merge2er-2.14.2 flexchma-2.14.2 flexter-ui-2.14.2
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-01-01" role="tabpanel" aria-labelled-by="tabs-01-01-tab" tabindex="1">
        <p>Supported distributions: Debian, Ubuntu, Linux Mint, MX Linux, Kali Linux, Raspberry Pi OS and Pop!_OS.</p>
<p>Write access (sudo or root) to <code>/etc/apt/sources.list.d/</code> and <code>/etc/apt/auth.conf.d/</code> is required, and the <code>apt-transport-https</code>, <code>curl</code> and <code>gpg</code> packages must be installed:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo apt update
</span></span><span class="line"><span class="cl">sudo apt install apt-transport-https curl gpg
</span></span></code></pre></div><p>Import the Sonra signing key so that <code>apt</code> trusts the repository:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -sL https://apt.sonra.io/DEB-GPG-KEY-Sonra <span class="p">|</span> sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/DEB-GPG-KEY-Sonra
</span></span></code></pre></div><p>Create the repository list file:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;deb [arch=all signed-by=/etc/apt/trusted.gpg.d/DEB-GPG-KEY-Sonra] https://apt.sonra.io/flexter releases main #Sonra Flexter&#34;</span> <span class="p">|</span> sudo tee /etc/apt/sources.list.d/sonra-flexter.list &gt; /dev/null
</span></span></code></pre></div><p>Create the authentication file with your credentials:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;machine apt.sonra.io login &lt;USER&gt; password &lt;PASS&gt;&#34;</span> <span class="p">|</span> sudo tee /etc/apt/auth.conf.d/sonra-flexter.conf &gt; /dev/null
</span></span></code></pre></div><p><strong>Installing the latest version</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo apt update
</span></span><span class="line"><span class="cl">sudo apt install xml2er xsd2er json2er merge2er flexchma flexter-ui
</span></span></code></pre></div><p><strong>Installing a specific version</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo apt update
</span></span><span class="line"><span class="cl">sudo apt install <span class="nv">xml2er</span><span class="o">=</span>2.14.2 <span class="nv">xsd2er</span><span class="o">=</span>2.14.2 <span class="nv">json2er</span><span class="o">=</span>2.14.2 <span class="nv">merge2er</span><span class="o">=</span>2.14.2 <span class="nv">flexchma</span><span class="o">=</span>2.14.2 flexter-ui<span class="o">=</span>2.14.2
</span></span></code></pre></div><div class="alert alert-warning" role="alert"><div class="h4 alert-heading" role="heading">Disabling the repository after installation</div>
<p>Unlike the DNF repository, the APT repository is enabled by default. To avoid unintended Flexter upgrades during routine server maintenance, disable it once the installation is done by renaming the list file, and rename it back before the next Flexter upgrade:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># disable</span>
</span></span><span class="line"><span class="cl">sudo mv /etc/apt/sources.list.d/sonra-flexter.list<span class="o">{</span>,.disabled<span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># re-enable</span>
</span></span><span class="line"><span class="cl">sudo mv /etc/apt/sources.list.d/sonra-flexter.list<span class="o">{</span>.disabled,<span class="o">}</span>
</span></span></code></pre></div></div>

    </div>
</div>


## Manual Download

When no repository has been set up, the packages can be downloaded directly and installed manually.

Every package is available at the following URL pattern. Omit `-VERSION` to get the latest release:

```text
https://download.sonra.io/flexter/<MODULE>[-VERSION].<EXTENSION>

# examples
https://download.sonra.io/flexter/xml2er.rpm
https://download.sonra.io/flexter/xml2er-2.14.2.rpm
https://download.sonra.io/flexter/xml2er-2.14.2.tgz
```

The downloads are authenticated. All examples below use `curl`, but `wget` works the same way:

```bash
# curl
curl -u "<USER>:<PASS>" -OL <URL>

# wget
wget --user "<USER>" --password "<PASS>" <URL>
```









<ul class="nav nav-tabs" id="tabs-4" role="tablist">
  <li class="nav-item">
      <button class="nav-link active"
          id="tabs-04-00-tab" data-bs-toggle="tab" data-bs-target="#tabs-04-00" role="tab"
          data-td-tp-persist="rhel / fedora (rpm)" aria-controls="tabs-04-00" aria-selected="true">
        RHEL / Fedora (RPM)
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-04-01-tab" data-bs-toggle="tab" data-bs-target="#tabs-04-01" role="tab"
          data-td-tp-persist="debian / ubuntu (deb)" aria-controls="tabs-04-01" aria-selected="false">
        Debian / Ubuntu (DEB)
      </button>
    </li><li class="nav-item">
      <button class="nav-link"
          id="tabs-04-02-tab" data-bs-toggle="tab" data-bs-target="#tabs-04-02" role="tab"
          data-td-tp-persist="other unix (tgz)" aria-controls="tabs-04-02" aria-selected="false">
        Other Unix (TGZ)
      </button>
    </li>
</ul>

<div class="tab-content" id="tabs-4-content">
    <div class="tab-body tab-pane fade show active"
        id="tabs-04-00" role="tabpanel" aria-labelled-by="tabs-04-00-tab" tabindex="4">
        <p><strong>Download the installers</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/flexchma.rpm
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/xml2er.rpm
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/xsd2er.rpm
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/json2er.rpm
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/merge2er.rpm
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/flexter-ui.rpm
</span></span></code></pre></div><details>
<summary><b>Checking the hashes (optional)</b></summary>
<p>Each package has a companion <code>.md5</code> file to verify the download:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="k">for</span> m in flexchma xml2er xsd2er json2er merge2er flexter-ui<span class="p">;</span> <span class="k">do</span>
</span></span><span class="line"><span class="cl">  curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL <span class="s2">&#34;https://download.sonra.io/flexter/</span><span class="nv">$m</span><span class="s2">.rpm.md5&#34;</span>
</span></span><span class="line"><span class="cl"><span class="k">done</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># helper function</span>
</span></span><span class="line"><span class="cl">md5ck<span class="o">()</span> <span class="o">{</span> md5sum -c &lt;<span class="o">(</span><span class="nb">echo</span> <span class="s2">&#34;</span><span class="k">$(</span>cat <span class="s2">&#34;</span><span class="nv">$1</span><span class="s2">.md5&#34;</span><span class="k">)</span><span class="s2"> </span><span class="nv">$1</span><span class="s2">&#34;</span><span class="o">)</span><span class="p">;</span> <span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> f in *.rpm<span class="p">;</span> <span class="k">do</span> md5ck <span class="s2">&#34;</span><span class="nv">$f</span><span class="s2">&#34;</span><span class="p">;</span> <span class="k">done</span>
</span></span></code></pre></div></details>
<p><strong>Install the packages</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo dnf install xml2er*.rpm xsd2er*.rpm json2er*.rpm merge2er*.rpm flexchma*.rpm flexter-ui*.rpm
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-04-01" role="tabpanel" aria-labelled-by="tabs-04-01-tab" tabindex="4">
        <p><strong>Download the installers</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/flexchma.deb
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/xml2er.deb
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/xsd2er.deb
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/json2er.deb
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/merge2er.deb
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/flexter-ui.deb
</span></span></code></pre></div><details>
<summary><b>Checking the hashes (optional)</b></summary>
<p>Each package has a companion <code>.md5</code> file to verify the download:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="k">for</span> m in flexchma xml2er xsd2er json2er merge2er flexter-ui<span class="p">;</span> <span class="k">do</span>
</span></span><span class="line"><span class="cl">  curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL <span class="s2">&#34;https://download.sonra.io/flexter/</span><span class="nv">$m</span><span class="s2">.deb.md5&#34;</span>
</span></span><span class="line"><span class="cl"><span class="k">done</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># helper function</span>
</span></span><span class="line"><span class="cl">md5ck<span class="o">()</span> <span class="o">{</span> md5sum -c &lt;<span class="o">(</span><span class="nb">echo</span> <span class="s2">&#34;</span><span class="k">$(</span>cat <span class="s2">&#34;</span><span class="nv">$1</span><span class="s2">.md5&#34;</span><span class="k">)</span><span class="s2"> </span><span class="nv">$1</span><span class="s2">&#34;</span><span class="o">)</span><span class="p">;</span> <span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> f in *.deb<span class="p">;</span> <span class="k">do</span> md5ck <span class="s2">&#34;</span><span class="nv">$f</span><span class="s2">&#34;</span><span class="p">;</span> <span class="k">done</span>
</span></span></code></pre></div></details>
<p><strong>Install the packages</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo apt install ./xml2er*.deb ./xsd2er*.deb ./json2er*.deb ./merge2er*.deb ./flexchma*.deb ./flexter-ui*.deb
</span></span></code></pre></div>
    </div>
    <div class="tab-body tab-pane fade"
        id="tabs-04-02" role="tabpanel" aria-labelled-by="tabs-04-02-tab" tabindex="4">
        <p>For distributions that are neither RHEL nor Debian based, such as macOS, Alpine, Arch, Gentoo, the BSDs or Solaris derivatives, the <code>.tgz</code> packages are extracted manually.</p>
<p><strong>Download the installers</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/flexchma.tgz
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/xml2er.tgz
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/xsd2er.tgz
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/json2er.tgz
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/merge2er.tgz
</span></span><span class="line"><span class="cl">curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL https://download.sonra.io/flexter/flexter-ui.tgz
</span></span></code></pre></div><details>
<summary><b>Checking the hashes (optional)</b></summary>
<p>Each package has a companion <code>.md5</code> file to verify the download:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="k">for</span> m in flexchma xml2er xsd2er json2er merge2er flexter-ui<span class="p">;</span> <span class="k">do</span>
</span></span><span class="line"><span class="cl">  curl -u <span class="s2">&#34;&lt;USER&gt;:&lt;PASS&gt;&#34;</span> -OL <span class="s2">&#34;https://download.sonra.io/flexter/</span><span class="nv">$m</span><span class="s2">.tgz.md5&#34;</span>
</span></span><span class="line"><span class="cl"><span class="k">done</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># helper function</span>
</span></span><span class="line"><span class="cl">md5ck<span class="o">()</span> <span class="o">{</span> md5sum -c &lt;<span class="o">(</span><span class="nb">echo</span> <span class="s2">&#34;</span><span class="k">$(</span>cat <span class="s2">&#34;</span><span class="nv">$1</span><span class="s2">.md5&#34;</span><span class="k">)</span><span class="s2"> </span><span class="nv">$1</span><span class="s2">&#34;</span><span class="o">)</span><span class="p">;</span> <span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> f in *.tgz<span class="p">;</span> <span class="k">do</span> md5ck <span class="s2">&#34;</span><span class="nv">$f</span><span class="s2">&#34;</span><span class="p">;</span> <span class="k">done</span>
</span></span></code></pre></div></details>
<p><strong>Install with root access</strong></p>
<p>The packages extract into <code>/usr/share/flexter</code>. Link the command line tools into <code>/usr/bin</code> and the configuration directory into <code>/etc/flexter</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="k">for</span> m in flexchma xml2er xsd2er json2er merge2er flexter-ui<span class="p">;</span> <span class="k">do</span>
</span></span><span class="line"><span class="cl">  sudo tar xzf <span class="nv">$m</span>*.tgz -C /usr/share
</span></span><span class="line"><span class="cl"><span class="k">done</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> m in flexchma xml2er xsd2er json2er merge2er<span class="p">;</span> <span class="k">do</span>
</span></span><span class="line"><span class="cl">  sudo ln -s /usr/share/flexter/<span class="nv">$m</span>/bin/<span class="nv">$m</span> /usr/bin/<span class="nv">$m</span>
</span></span><span class="line"><span class="cl"><span class="k">done</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">sudo mkdir -p /etc/flexter
</span></span><span class="line"><span class="cl">sudo ln -s /usr/share/flexter/conf /etc/flexter/conf
</span></span></code></pre></div><p><strong>Install without root access</strong></p>
<p>The same layout under the user&rsquo;s home directory, with the tools linked into <code>~/.local/bin</code> and the configuration into <code>~/.config/flexter</code>:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">mkdir -p ~/.local/share ~/.local/bin ~/.config
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> m in flexchma xml2er xsd2er json2er merge2er flexter-ui<span class="p">;</span> <span class="k">do</span>
</span></span><span class="line"><span class="cl">  tar xzf <span class="nv">$m</span>*.tgz -C ~/.local/share
</span></span><span class="line"><span class="cl"><span class="k">done</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> m in flexchma xml2er xsd2er json2er merge2er<span class="p">;</span> <span class="k">do</span>
</span></span><span class="line"><span class="cl">  ln -s ~/.local/share/flexter/<span class="nv">$m</span>/bin/<span class="nv">$m</span> ~/.local/bin/<span class="nv">$m</span>
</span></span><span class="line"><span class="cl"><span class="k">done</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">ln -s ~/.local/share/flexter/conf ~/.config/flexter
</span></span></code></pre></div><div class="alert alert-primary" role="alert"><div class="h4 alert-heading" role="heading">PATH</div>
<p>Make sure <code>~/.local/bin</code> is on your <code>PATH</code>. If it is not, add it to your shell profile:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;export PATH=&#34;$PATH:$HOME/.local/bin&#34;&#39;</span> &gt;&gt; ~/.bash_profile
</span></span><span class="line"><span class="cl"><span class="nb">source</span> ~/.bash_profile
</span></span></code></pre></div></div>

    </div>
</div>


Continue with the [Database Setup](https://docs.sonra.io/flexter/master/docs/installation/direct-installation/database/) and the [Post-Installation](https://docs.sonra.io/flexter/master/docs/installation/direct-installation/post-installation/) steps.
