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