<p>As <a href="https://github.com/kubernetes-helm/chartmuseum" rel="noreferrer">https://github.com/kubernetes-helm/chartmuseum</a>, I set up chartmuseum by running <code>helm install incubator/chartmuseum</code> in Kubernetes cluster.</p>

<p>When I want to upload chart by running </p>

<p><code>curl --data-binary "@mychart-0.1.0.tgz" http://$URL:$PORT/api/charts</code></p>

<p>it returns <code>404 page not found</code> even if i run it in the container which chartmuseum running on.</p>

<p>By default helm chart <code>incubator/chartmuseum</code> installs with <code>DISABLE_API: true</code> parameter, so, that's why any request to <code>/api</code> don't work (returns 404).</p>

<p>You need to install helm chart <code>incubator/chartmuseum</code> with <code>DISABLE_API: false</code> parameter:</p>

<pre><code>helm install incubator/chartmuseum --set env.open.DISABLE_API=false
</code></pre>

<p><strong>EDIT:</strong></p>

<p>Helm chart <code>incubator/chartmuseum</code> was <a href="https://github.com/helm/charts/pull/4601" rel="noreferrer">moved</a> to <code>stable/chartmuseum</code> on Apr 6, 2018.</p>

<p>Now you need to install helm chart <code>stable/chartmuseum</code> with <code>DISABLE_API: false</code> parameter:</p>

<pre><code>helm install stable/chartmuseum --set env.open.DISABLE_API=false
</code></pre>

<p>After that you can perform any operations with its API, for example:</p>

<pre><code>$ curl --data-binary "@mychart-0.1.0.tgz" http://localhost:8080/api/charts
{"saved":true}

$ curl http://localhost:8080/api/charts
{"mychart":[{"name":"mychart","version":"0.1.0","description":"A Helm chart for Kubernetes","apiVersion":"v1","urls":["charts/mychart-0.1.0.tgz"],"created":"2018-02-11T12:51:15.763951001Z","digest":"ae8d7138002d432014dc8638ec37202823e9207445caf08a660d154b26e936ea"}]}
</code></pre>
