IPv6 (hopefully)

This commit is contained in:
Aaron Dewes 2023-09-27 22:07:45 +02:00
parent e8d03dc980
commit ce7d299cf3
5 changed files with 49 additions and 2 deletions

View File

@ -12,6 +12,7 @@ services:
networks: networks:
default: default:
ipv4_address: $TOR_PROXY_IP ipv4_address: $TOR_PROXY_IP
ipv6_address: $TOR_PROXY_IP6
extra_hosts: extra_hosts:
- host.docker.internal:host-gateway - host.docker.internal:host-gateway
app-tor: app-tor:
@ -25,6 +26,7 @@ services:
networks: networks:
default: default:
ipv4_address: $APPS_TOR_IP ipv4_address: $APPS_TOR_IP
ipv6_address: $APPS_TOR_IP6
extra_hosts: extra_hosts:
- host.docker.internal:host-gateway - host.docker.internal:host-gateway
app-2-tor: app-2-tor:
@ -38,6 +40,7 @@ services:
networks: networks:
default: default:
ipv4_address: $APPS_2_TOR_IP ipv4_address: $APPS_2_TOR_IP
ipv6_address: $APPS_2_TOR_IP6
extra_hosts: extra_hosts:
- host.docker.internal:host-gateway - host.docker.internal:host-gateway
app-3-tor: app-3-tor:
@ -51,6 +54,7 @@ services:
networks: networks:
default: default:
ipv4_address: $APPS_3_TOR_IP ipv4_address: $APPS_3_TOR_IP
ipv6_address: $APPS_3_TOR_IP6
extra_hosts: extra_hosts:
- host.docker.internal:host-gateway - host.docker.internal:host-gateway
caddy: caddy:
@ -76,6 +80,7 @@ services:
networks: networks:
default: default:
ipv4_address: $BITCOIN_IP ipv4_address: $BITCOIN_IP
ipv6_address: $BITCOIN_IP6
dashboard: dashboard:
container_name: dashboard container_name: dashboard
image: ghcr.io/runcitadel/dashboard:next@sha256:d1a88462f9e1d5a31a20dd07c8b65def9a6499e739a23fb3702bd2fc32d2b15b image: ghcr.io/runcitadel/dashboard:next@sha256:d1a88462f9e1d5a31a20dd07c8b65def9a6499e739a23fb3702bd2fc32d2b15b
@ -84,6 +89,7 @@ services:
networks: networks:
default: default:
ipv4_address: $DASHBOARD_IP ipv4_address: $DASHBOARD_IP
ipv6_address: $DASHBOARD_IP6
manager: manager:
container_name: manager container_name: manager
image: harbor.nirvati.org/citadel/api:main@sha256:bf500e4e518be3fc28502151669aec976c95469201dca003f0068118ebb902f5 image: harbor.nirvati.org/citadel/api:main@sha256:bf500e4e518be3fc28502151669aec976c95469201dca003f0068118ebb902f5
@ -135,6 +141,7 @@ services:
networks: networks:
default: default:
ipv4_address: $MANAGER_IP ipv4_address: $MANAGER_IP
ipv6_address: $MANAGER_IP6
i2p: i2p:
container_name: i2p container_name: i2p
user: 1000:1000 user: 1000:1000
@ -148,13 +155,18 @@ services:
networks: networks:
default: default:
ipv4_address: $I2P_IP ipv4_address: $I2P_IP
ipv6_address: $I2P_IP6
networks: networks:
default: default:
name: citadel_main_network name: citadel_main_network
enable_ipv6: true
ipam: ipam:
driver: default driver: default
config: config:
- subnet: $NETWORK_IP/24 - subnet: $NETWORK_IP/24
gateway: $GATEWAY_IP
- subnet: $NETWORK_IP6/96
gateway: $GATEWAY_IP6
volumes: volumes:
jwt-public-key: jwt-public-key:
name: citadel-jwt-public-key name: citadel-jwt-public-key

19
scripts/configure vendored
View File

@ -225,6 +225,22 @@ APPS_2_TOR_IP="10.21.21.11"
APPS_3_TOR_IP="10.21.21.12" APPS_3_TOR_IP="10.21.21.12"
I2P_IP="10.21.21.13" I2P_IP="10.21.21.13"
# IP6 addresses for services
NETWORK_IP6="fd00::21:0:0:0"
GATEWAY_IP6="fd00::21:0:0:1"
DASHBOARD_IP6="fd00::21:0:0:3"
MANAGER_IP6="fd00::21:0:0:4"
#MIDDLEWARE_IP6="fd00::21:0:0:5"
#NEUTRINO_SWITCHER_IP6="fd00::21:0:0:6"
BITCOIN_IP6="fd00::21:0:0:7"
#LND_IP6="fd00::21:0:0:8"
TOR_PROXY_IP6="fd00::21:0:0:9"
APPS_TOR_IP6="fd00::21:0:0:10"
APPS_2_TOR_IP6="fd00::21:0:0:11"
APPS_3_TOR_IP6="fd00::21:0:0:12"
I2P_IP6="fd00::21:0:0:13"
# Ports # Ports
BITCOIN_RPC_PORT="8332" BITCOIN_RPC_PORT="8332"
BITCOIN_P2P_PORT="8333" BITCOIN_P2P_PORT="8333"
@ -294,6 +310,7 @@ build_template("./templates/bitcoin-sample.conf", "./bitcoin/bitcoin.conf")
build_template("./templates/i2p-sample.conf", "./i2p/i2pd.conf") build_template("./templates/i2p-sample.conf", "./i2p/i2pd.conf")
build_template("./templates/i2p-tunnels-sample.conf", "./i2p/tunnels.conf") build_template("./templates/i2p-tunnels-sample.conf", "./i2p/tunnels.conf")
MIDDLEWARE_IP="NOT_YET_SET" MIDDLEWARE_IP="NOT_YET_SET"
MIDDLEWARE_IP6="NOT_YET_SET"
build_template("./templates/.env-sample", "./.env") build_template("./templates/.env-sample", "./.env")
print("Ensuring Docker Compose is up to date...") print("Ensuring Docker Compose is up to date...")
@ -336,8 +353,10 @@ if reconfiguring:
if reconfiguring: if reconfiguring:
dotenv=parse_dotenv('./.env') dotenv=parse_dotenv('./.env')
MIDDLEWARE_IP = dotenv["APP_{}_MIDDLEWARE_IP".format(implementation.upper().replace("-", "_"))] MIDDLEWARE_IP = dotenv["APP_{}_MIDDLEWARE_IP".format(implementation.upper().replace("-", "_"))]
MIDDLEWARE_IP6 = dotenv["APP_{}_MIDDLEWARE_IP6".format(implementation.upper().replace("-", "_"))]
else: else:
MIDDLEWARE_IP = "0.0.0.0" MIDDLEWARE_IP = "0.0.0.0"
MIDDLEWARE_IP6 = "::"
build_template("./templates/.env-sample", "./.env") build_template("./templates/.env-sample", "./.env")

View File

@ -33,3 +33,15 @@ APPS_2_TOR_IP=<apps-2-tor-ip>
APPS_3_TOR_IP=<apps-3-tor-ip> APPS_3_TOR_IP=<apps-3-tor-ip>
DOCKER_BINARY=<docker-binary> DOCKER_BINARY=<docker-binary>
UPDATE_CHANNEL=<update-channel> UPDATE_CHANNEL=<update-channel>
NETWORK_IP6=<network-ip6>
GATEWAY_IP6=<gateway-ip6>
DASHBOARD_IP6=<dashboard-ip6>
MANAGER_IP6=<manager-ip6>
MIDDLEWARE_IP6=<middleware-ip6>
I2P_IP6=<i2p-ip6>
BITCOIN_IP6=<bitcoin-ip6>
TOR_PROXY_IP6=<tor-proxy-ip6>
APPS_TOR_IP6=<apps-tor-ip6>
APPS_2_TOR_IP6=<apps-2-tor-ip6>
APPS_3_TOR_IP6=<apps-3-tor-ip6>

View File

@ -16,7 +16,7 @@
reverse_proxy {{MANAGER_IP}}:3000 reverse_proxy {{MANAGER_IP}}:3000
} }
reverse_proxy {{DASHBOARD_IP}}:3000 reverse_proxy [{{DASHBOARD_IP6}}]:3000
} }
@ -39,7 +39,7 @@
reverse_proxy {{MANAGER_IP}}:3000 reverse_proxy {{MANAGER_IP}}:3000
} }
reverse_proxy {{DASHBOARD_IP}}:3000 reverse_proxy [{{DASHBOARD_IP6}}]:3000
} }
{% endif %} {% endif %}

View File

@ -17,6 +17,7 @@ i2psam=<i2p-ip>:<i2p-sam-port>
# Connections # Connections
rpcallowip=<gateway-ip>/16 rpcallowip=<gateway-ip>/16
rpcallowip=[<gateway-ip6>]/96
rpcallowip=127.0.0.1 rpcallowip=127.0.0.1
rpcauth=<bitcoin-rpc-auth> rpcauth=<bitcoin-rpc-auth>
@ -44,7 +45,10 @@ peerblockfilters=1
# only apply to mainnet unless they appear in the appropriate section below. # only apply to mainnet unless they appear in the appropriate section below.
<network-section> <network-section>
bind=<bitcoin-ip> bind=<bitcoin-ip>
bind=<bitcoin-ip6>
port=<bitcoin-p2p-port> port=<bitcoin-p2p-port>
rpcport=<bitcoin-rpc-port> rpcport=<bitcoin-rpc-port>
rpcbind=<bitcoin-ip> rpcbind=<bitcoin-ip>
rpcbind=<bitcoin-ip6>
rpcbind=127.0.0.1 rpcbind=127.0.0.1
rpcbind=[::1]