Files
i2p.www/i2p2www/pages/site/get-involved/guides/reseed-docker.html
2023-01-05 02:10:03 +00:00

123 lines
4.6 KiB
HTML

{% extends "global/layout.html" %}
{% block title %}{{ _('How to Set up a Reseed Server using a Docker Image') }}{% endblock %}
{% block lastupdated %}2023-01{% endblock %}
{% block content %}
<h2>{% trans %}General Information{% endtrans %}</h2>
<p>{% trans %}
These guidelines are based on idk's <a href="https://i2pgit.org/idk/reseed-tools">reseed-tools</a> server.
They should be very similar to the guidelines for DivaExchange's <a href="https://codeberg.org/diva.exchange/i2p-reseed">i2p-reseed</a> server.
These guidelines make use of Docker to manage the reseed server in lieu of the initsystem.
If you are not interested in using Docker they will be of no use to you.
{% endtrans %}</p>
<h4><a href="reseed-policy">{% trans %}To read the reseed policy, follow this link.{% endtrans %}</a></h4>
<h4><a href="reseed">{% trans %}Please see the general information for all reseed servers in addition to reading this section.{% endtrans %}</a></h4>
<h2>{% trans %}Installation from a Docker Image{% endtrans %}</h2>
<p>{% trans %}
To make it easier to deploy reseeds, it is possible to run the reseed-tools as a
Docker image. Because the software requires access to a network database to host
a reseed, you will need to mount the netDb as a volume inside your docker
container to provide access to it, and you will need to run it as the same user
and group inside the container as I2P.
{% endtrans %}</p>
<p>{% trans %}
When you run a reseed under Docker in this fashion, it will automatically
generate a self-signed certificate for your reseed server in a Docker volume
named reseed-keys.{% endtrans %}
<em>
{% trans %}Back up this directory{% endtrans %}
</em>
, {% trans %}if it is lost it is impossible to reproduce.{% endtrans %}
</p>
<p>{% trans %}
Additional flags can be passed to the application in the Docker container by
appending them to the command. Please note that Docker is not currently
compatible with .onion reseeds unless you pass the &ndash;network=host tag.
{% endtrans %}</p>
<h2>
{% trans %}If I2P is running as your user, do this:{% endtrans %}
</h2>
<pre><code> docker run -itd \
--name reseed \
--publish 443:8443 \
--restart always \
--volume $HOME/.i2p/netDb:$HOME/.i2p/netDb:z \
--volume reseed-keys:/var/lib/i2p/i2p-config/reseed \
eyedeekay/reseed \
--signer $YOUR_EMAIL_HERE
</code></pre>
<h2>
{% trans %}If I2P is running as another user, do this:{% endtrans %}
</h2>
<pre><code> docker run -itd \
--name reseed \
--user $(I2P_UID) \
--group-add $(I2P_GID) \
--publish 443:8443 \
--restart always \
--volume /PATH/TO/USER/I2P/HERE/netDb:/var/lib/i2p/i2p-config/netDb:z \
--volume reseed-keys:/var/lib/i2p/i2p-config/reseed \
eyedeekay/reseed \
--signer $YOUR_EMAIL_HERE
</code></pre>
<h2>
<strong>
{% trans %}Debian/Ubuntu and Docker{% endtrans %}
</strong>
</h2>
<p>
{% trans %}In many cases I2P will be running as the Debian system user{% endtrans %}
<code>
i2psvc
</code>
. {% trans %}This is the case for all installs where Debian&rsquo;s Advanced Packaging Tool(apt) was used to peform the task.
If you used "apt-get install" this command will work for you. In that case, just copy-and-paste:{% endtrans %}
</p>
<pre><code> docker run -itd \
--name reseed \
--user $(id -u i2psvc) \
--group-add $(id -g i2psvc) \
--publish 443:8443 \
--restart always \
--volume /var/lib/i2p/i2p-config/netDb:/var/lib/i2p/i2p-config/netDb:z \
--volume reseed-keys:/var/lib/i2p/i2p-config/reseed \
eyedeekay/reseed \
--signer $YOUR_EMAIL_HERE
</code></pre>
<p>{% trans %}The
certificates themselves are available in{% endtrans %}
<code>
reseed-keys
</code>
. {% trans %}When
you are ready, you should copy the{% endtrans %}
<code>
*.crt
</code>
{% trans %}files from that volume and share them with the I2P community on{% endtrans %}
<a href="http://zzz.i2p">
<code>
zzz.i2p
</code>
</a>
. {% trans %}These will allow I2P users
to authenticate your reseed services and secure the I2P network.{% endtrans %}
</p>
<p>
{% trans %}Contact us via email zzz at mail.i2p (alternatively, post in the reseed section on the zzz.i2p forum)
Provide us with details about your new reseed server:{% endtrans %}
<ul>
<li>{% trans %}Reseed website URL{% endtrans %}</li>
<li>{% trans %}Public SSL certificate{% endtrans %}</li>
<li>{% trans %}Public reseed su3 certificate{% endtrans %}</li>
<li>{% trans %}Your contact email{% endtrans %}</li>
<li>{% trans %}A statement that you agree to the privacy policy above{% endtrans %}</li>
</ul>
<p>
{% endblock %}