docker: add configuration to connect I2P routers to a reseeder
The reseeder includes fixes to run from bisentenialwrug/i2p-reseed until the official image has merged them. Fixes are: - autogenerating keys for TLS - calling the right command to start the reseeder The I2P routers are also configured to reseed from a single reseed host. And finally the keys the reseeder uses to sign the su3 payloads are shared in a volume with the I2P routers. Unfortunately, it still doesn't work as the reseeder sends empty packers or something. Stil trying to figure that out. #5 - Create SAM server tunnels in trans-proxy
This commit is contained in:
@@ -1,13 +1,6 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
i2pd:
|
||||
build:
|
||||
context: i2p
|
||||
ports:
|
||||
- "26976:26976"
|
||||
networks:
|
||||
- no_internet
|
||||
|
||||
# Changes ownership of the volumes to the i2psvc user
|
||||
volume_setup:
|
||||
@@ -27,18 +20,27 @@ services:
|
||||
volumes:
|
||||
- reseed_i2p:/var/lib/i2p/i2p-config/netDb
|
||||
reseeder:
|
||||
image: eyedeekay/reseed
|
||||
command: --signer somebody@test.i2p
|
||||
image: bisentenialwrug/i2p-reseed
|
||||
command: --signer somebody@reseeder --interval 30s --numRi 1 --port 8080
|
||||
user: "101"
|
||||
depends_on:
|
||||
- reseed-i2pd
|
||||
networks:
|
||||
- no_internet
|
||||
volumes:
|
||||
- ./reseed/entrypoint.sh:/var/lib/i2p/go/src/i2pgit.org/idk/reseed-tools/entrypoint.sh
|
||||
- reseed_i2p:/var/lib/i2p/i2p-config/netDb
|
||||
- reseed_keys:/var/lib/i2p/i2p-config/reseed
|
||||
|
||||
i2pd:
|
||||
build:
|
||||
context: i2p
|
||||
depends_on:
|
||||
- reseeder
|
||||
networks:
|
||||
- no_internet
|
||||
volumes:
|
||||
- reseed_keys:/var/lib/i2p/i2p-config/certificates/reseed
|
||||
|
||||
volumes:
|
||||
reseed_i2p: {}
|
||||
reseed_keys: {}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
# Taken from https://www.github.com/hkparker/i2p-docker
|
||||
# Adapted to open SAM by default
|
||||
# Adapted to open SAM by default and allow custom reseeding
|
||||
FROM debian:buster
|
||||
|
||||
ARG I2P_DIR=/usr/share/i2p
|
||||
@@ -59,21 +59,26 @@ RUN sed -i 's/.*\(en_US\.UTF-8\)/\1/' /etc/locale.gen && \
|
||||
/usr/sbin/locale-gen && \
|
||||
/usr/sbin/update-locale LANG=${LANG} LANGUAGE=${LANGUAGE}
|
||||
|
||||
ARG RESEED_URL=http://reseeder:8080
|
||||
COPY clients.config.d/ ${I2PSVC_CONF_DIR}/clients.config.d/
|
||||
RUN chown -R i2psvc:i2psvc ${I2PSVC_DIR} && \
|
||||
rm ${I2PSVC_CONF_DIR}/clients.config && \
|
||||
sed -i 's/127\.0\.0\.1/0.0.0.0/g' ${I2PSVC_CONF_DIR}/i2ptunnel.config && \
|
||||
# SAM Bridge
|
||||
# sed -i 's/clientApp.1.args=.+/clientApp.1.args=sam.keys 0.0.0.0 7656 i2cp.tcp.host=0.0.0.0 i2cp.tcp.port=7654/g' ${I2PSVC_CONF_DIR}/clients.config.d/*sam* && \
|
||||
printf "i2cp.tcp.bindAllInterfaces=true\n" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
printf "i2np.ipv4.firewalled=true\ni2np.ntcp.ipv6=false\n" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
printf "i2np.udp.ipv6=false\ni2np.upnp.enable=false\n" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
printf "i2np.udp.internalPort=26976" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
printf "i2np.udp.port=26976" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
printf "i2np.ntcp.port=26976" >> ${I2PSVC_CONF_DIR}/router.config
|
||||
echo "i2cp.tcp.bindAllInterfaces=true" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "i2np.ipv4.firewalled=true\ni2np.ntcp.ipv6=false" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "i2np.udp.ipv6=false\ni2np.upnp.enable=false" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "i2np.udp.internalPort=26976" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "i2np.udp.port=26976" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "i2np.ntcp.port=26976" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "i2p.reseedURL=${RESEED_URL}" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "i2p.disableSSLHostnameVerification=true" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "i2np.allowLocal=true" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "router.rejectStartupTime=20000" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "routerconsole.welcomeWizardComplete=true" >> ${I2PSVC_CONF_DIR}/router.config && \
|
||||
echo "router.blocklist.enable=false" >> ${I2PSVC_CONF_DIR}/router.config
|
||||
|
||||
#VOLUME /var/lib/i2p
|
||||
WORKDIR $I2PSVC_DIR
|
||||
# Move to i2psvc config dir. It's where we'll be most active
|
||||
WORKDIR $I2PSVC_CONF_DIR
|
||||
USER i2psvc
|
||||
ENTRYPOINT ["/usr/bin/i2prouter"]
|
||||
CMD ["console"]
|
||||
|
@@ -1,5 +0,0 @@
|
||||
#! /usr/bin/env sh
|
||||
|
||||
cp -r /var/lib/i2p/go/src/i2pgit.org/idk/reseed-tools/content ./content
|
||||
|
||||
/var/lib/i2p/go/src/i2pgit.org/idk/reseed-tools/reseed-tools reseed --yes=true --netdb=/var/lib/i2p/i2p-config/netDb $@
|
Reference in New Issue
Block a user