mirror of
https://github.com/PurpleI2P/pyseeder
synced 2025-01-30 08:34:22 +00:00
Added Dockerfile
This commit is contained in:
parent
346978b70a
commit
bfc600b4ef
28
contrib/docker/Dockerfile
Normal file
28
contrib/docker/Dockerfile
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
FROM alpine:latest
|
||||||
|
LABEL authors "Darknet Villain <supervillain@riseup.net>"
|
||||||
|
|
||||||
|
ENV PYSEEDER_HOME="/home/pyseeder"
|
||||||
|
ENV DATA_DIR="${PYSEEDER_HOME}/data"
|
||||||
|
|
||||||
|
RUN mkdir -p "$PYSEEDER_HOME" "$DATA_DIR" "$DATA_DIR"/data "$DATA_DIR"/output \
|
||||||
|
&& adduser -S -h "$PYSEEDER_HOME" pyseeder \
|
||||||
|
&& chown -R pyseeder:nobody "$PYSEEDER_HOME" \
|
||||||
|
&& chmod -R 700 "$DATA_DIR"
|
||||||
|
|
||||||
|
RUN apk --no-cache add python3 py3-pip build-base git openssl-dev musl-dev python3-dev libffi-dev \
|
||||||
|
&& pip3 install --no-cache-dir https://github.com/PurpleI2P/pyseeder/zipball/master \
|
||||||
|
&& apk --purge del python3 py3-pip build-base git openssl-dev musl-dev python3-dev libffi-dev
|
||||||
|
|
||||||
|
# 2. Adding required libraries to run i2pd to ensure it will run.
|
||||||
|
RUN apk --no-cache add python3 openssl
|
||||||
|
|
||||||
|
VOLUME "$DATA_DIR"
|
||||||
|
USER pyseeder
|
||||||
|
|
||||||
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
RUN chmod a+x /entrypoint.sh
|
||||||
|
|
||||||
|
EXPOSE 8443
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/entrypoint.sh" ]
|
||||||
|
|
30
contrib/docker/README.md
Normal file
30
contrib/docker/README.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
Pyseeder docker container
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Using it with i2pd container:
|
||||||
|
|
||||||
|
1) Run i2pd docker container and locate it's datadir volume with `docker inspect <container>`
|
||||||
|
|
||||||
|
It will show something like that:
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
"Mounts": [
|
||||||
|
{
|
||||||
|
"Name": "69c5fb747b09701acebcf22478f99719e87ac65b3ac11464cd949bebe03a744a",
|
||||||
|
"Source": "/var/lib/docker/volumes/69c5fb747b09701acebcf22478f99719e87ac65b3ac11464cd949bebe03a744a/_data",
|
||||||
|
"Destination": "/home/i2pd/data",
|
||||||
|
"Driver": "local",
|
||||||
|
"Mode": "",
|
||||||
|
"RW": true,
|
||||||
|
"Propagation": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
2) Run pyseeder image with that volume mounted at `/i2pd_data`:
|
||||||
|
|
||||||
|
docker run --name=test10 -P -dt -v 69c5fb747b09701acebcf22478f99719e87ac65b3ac11464cd949bebe03a744a:/i2pd_data pyseeder
|
||||||
|
|
||||||
|
3) Enjoy your reseed.
|
23
contrib/docker/entrypoint.sh
Executable file
23
contrib/docker/entrypoint.sh
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
COMMAND="pyseeder"
|
||||||
|
|
||||||
|
if [ "$1" = "--help" ]; then
|
||||||
|
$COMMAND --help
|
||||||
|
else
|
||||||
|
# TODO
|
||||||
|
# make configurable SIGNER_ID and cert, key etc
|
||||||
|
|
||||||
|
DATA_DIR="/home/pyseeder/data"
|
||||||
|
SIGNER_ID="test@mail.i2p"
|
||||||
|
PRIVKEY_FILE="$DATA_DIR/data/private_key.pem"
|
||||||
|
CERT_FILE=` echo $DATA_DIR/data/$SIGNER_ID.crt | sed 's/@/_at_/' `
|
||||||
|
RESEED_FILE="$DATA_DIR/output/i2pseeds.su3"
|
||||||
|
I2PD_DIR="/i2pd_data"
|
||||||
|
|
||||||
|
$COMMAND keygen --signer-id $SIGNER_ID --no-encrypt \
|
||||||
|
--private-key $PRIVKEY_FILE --cert $CERT_FILE
|
||||||
|
$COMMAND reseed --netdb $I2PD_DIR/netDb --signer-id $SIGNER_ID --no-encrypt \
|
||||||
|
--private-key $PRIVKEY_FILE --outfile $RESEED_FILE
|
||||||
|
$COMMAND serve --private-key $PRIVKEY_FILE --cert $CERT_FILE --file $RESEED_FILE
|
||||||
|
fi
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user