Docker with sentinel cli for the dvpn network, More documentation in future still connected 🚀
2.5K

Docker image with sentinel-cli dvpn : https://hub.docker.com/r/cyberpoison/sentinel-client-cli-dvpn
Github Repo: https://github.com/CyberPoison/sentinel-cli-dvpn/tree/main
More documentation shortly
Docker run command
docker run \
--name dvpn \
--restart=always \
--env TZ=Europe/London \
--privileged \
--read-only=false \
--volume "$(pwd)/.sentinel-wallet/:/root/.sentinelcli" \
--network=bridge \
cyberpoison/sentinel-client-cli-dvpn:latest
and on a other terminal then:
docker exec -it -w /root/ dvpn /bin/bash
Go to docker container exec and do:
sysctl -w "net.ipv6.conf.all.disable_ipv6 = 0"
sysctl -w "net.ipv6.conf.all.disable_ipv6 = 0"
sysctl -w "net.ipv6.conf.default.disable_ipv6 = 0"
sysctl -w "net.ipv6.conf.lo.disable_ipv6 = 0"
to route the local packets to the other containers or to reach dockers network externally:
ip route add 127.0.0.1/8 dev lo
ip route add 10.0.0.0/8 dev eth0
ip route add 172.16.0.0/12 dev eth0
ip route add 192.168.0.0/16 dev eth0
ip route add 169.254.0.0/16 dev eth0
ip route add ::1/128 dev lo
ip route add fc00::/7 dev eth0
ip route add fe80::/10 dev eth0
ip route add ::ffff:7f00:1/104 dev lo
ip route add ::ffff:a00:0/104 dev eth0
ip route add ::ffff:a9fe:0/112 dev eth0
ip route add ::ffff:ac10:0/108 dev eth0
ip route add ::ffff:c0a8:0/112 dev eth0
Some documentation/tutorial here: https://standardvpn.com/dvpn-cli/
You need documentation also ? It's here: https://docs.sentinel.co/sentinel-cli
You need to run container as privilegied:
Tags meanings:
<KEY_NAME> = Wallet Name
<ACCOUNT_ADDRESS> = Your Wallet Address
<NODE_ADDRESS> = The Node you want to subscribe usually starts with "sentnode....."
<SUBSCRIPTION_ID> = Subscrition ID ? Your Subscription id on sentinel network
sentinelcli keys add \
--home "${HOME}/.sentinelcli" \
--keyring-backend file \
<KEY_NAME>
The memotic can be useful to sig in, on your keplr extention and manage the cryto
Save also the wallet address, as you will need it in future steps.
if you want you can use: https://map.sentinel.co/ to select your node
sentinelcli query nodes \
--home "${HOME}/.sentinelcli" \
--node https://rpc.trinityvalidator.com:443 \
--page 1
Please ensure that you select one option between <gigabytes> and <hours>. The unused option should be assigned a value of 0.
Use: https://map.sentinel.co/ to select your node if you want.
sentinelcli tx node subscribe \
<sentnode_address> \
<gigabytes> \
<hours> \
udvpn \
--from <KEY_NAME> \
--chain-id=sentinelhub-2 \
--node https://rpc.trinityvalidator.com:443 \
--gas-prices=0.5udvpn \
--gas=300000 \
--keyring-backend file
sentinelcli query subscriptions \
--home "${HOME}/.sentinelcli" \
--node https://rpc.trinityvalidator.com:443 \
--page 1 \
--address <ACCOUNT_ADDRESS>
sentinelcli connect \
--home "${HOME}/.sentinelcli" \
--keyring-backend file \
--chain-id sentinelhub-2 \
--node https://rpc.trinityvalidator.com:443 \
--gas-prices 0.1udvpn \
--yes \
--from <KEY_NAME> <SUBSCRIPTION_ID> <NODE_ADDRESS>
sentinelcli disconnect \
--home "${HOME}/.sentinelcli"
I'm running this container on a k8s stack as a side-car pod so to get a overview of the config in k8s / yaml
apiVersion: apps/v1
kind: Deployment
metadata:
manager: kube-controller-manager
operation: Update
subresource: status
name: dvpn
namespace: vpn
resourceVersion: {}
uid: {}
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector: {}
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
annotations:
cattle.io/timestamp: '2023-09-08T05:11:08Z'
creationTimestamp: null
labels:
app: ottfr
tier: api
namespace: ott
spec:
containers:
- args:
- '-f'
- /dev/null
command:
- tail
env:
- name: TZ
value: Europe/London
image: cyberpoison/sentinel-client-cli:amd64
imagePullPolicy: Always
name: container-0
resources: {}
securityContext:
capabilities:
add:
- NET_BIND_SERVICE
- NET_RAW
- SETPCAP
- NET_BROADCAST
- SYS_CHROOT
- DAC_OVERRIDE
- NET_ADMIN
- SYS_MODULE
privileged: true
readOnlyRootFilesystem: false
runAsNonRoot: false
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /root/.sentinelcli
name: sentinell-wallet
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: docker-hub-secrets
nodeName: hcloud-worker-1
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- hostPath:
path: /mnt/.sentinel-wallet/
type: DirectoryOrCreate
name: sentinell-wallet
All this work is under GPL Domain :)
Code will be commited shortly as soon i have managed getting it working on kubernetes, btw the container it self is giving already a node dvpn sentinell ip :) 🚀🚀
This docker image is working on k8s, if you find issues feel free to make a pull request on the repo at the top of this page.
Content type
Image
Digest
sha256:b3dca9ed3…
Size
741.5 MB
Last updated
over 2 years ago
docker pull cyberpoison/sentinel-client-cli-dvpn