Skip to content

Commit f7ea763

Browse files
Make link interface configurable
1 parent ce8ef99 commit f7ea763

File tree

2 files changed

+18
-22
lines changed

2 files changed

+18
-22
lines changed

Makefile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
.PHONY: docker link setup gateway ci
22

33
GATEWAY_NETWORK=gateway
4+
CONTEXT=default
45

56
docker:
6-
docker build -t fractalnetworks/selfhosted-gateway:latest ./src/gateway/
7-
docker build -t fractalnetworks/gateway-link:latest ./src/gateway-link/
8-
docker build -t fractalnetworks/gateway-client:latest ./src/client-link/
9-
docker build -t fractalnetworks/gateway-cli:latest ./src/create-link/
7+
docker -c $(CONTEXT) build -t fractalnetworks/selfhosted-gateway:latest ./src/gateway/
8+
docker -c $(CONTEXT) build -t fractalnetworks/gateway-link:latest ./src/gateway-link/
9+
docker -c $(CONTEXT) build -t fractalnetworks/gateway-client:latest ./src/client-link/
10+
docker -c $(CONTEXT) build -t fractalnetworks/gateway-cli:latest ./src/create-link/
1011

1112
setup:
1213
docker network create $(GATEWAY_NETWORK)

src/client-link/entrypoint.sh

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,26 @@
11
#!/bin/sh
22
set -euxo pipefail
33

4-
echo $GATEWAY_CLIENT_WG_PRIVKEY > /etc/wireguard/link0.key
4+
# Set the interface name from environment variable or default to "link0"
5+
INTERFACE_NAME=${INTERFACE_NAME:-link0}
56

7+
echo $GATEWAY_CLIENT_WG_PRIVKEY > /etc/wireguard/${INTERFACE_NAME}.key
68
cleanupLink() {
7-
if ip link show link0 > /dev/null 2>&1; then
8-
ip link delete link0
9+
if ip link show ${INTERFACE_NAME} > /dev/null 2>&1; then
10+
ip link delete ${INTERFACE_NAME}
911
fi
1012
}
11-
12-
if ! ip link show link0 > /dev/null 2>&1; then
13+
if ! ip link show ${INTERFACE_NAME} > /dev/null 2>&1; then
1314
trap cleanupLink EXIT
14-
ip link add link0 type wireguard
15+
ip link add ${INTERFACE_NAME} type wireguard
1516
fi
16-
17-
wg set link0 private-key /etc/wireguard/link0.key
18-
wg set link0 listen-port 18521
19-
ip addr add 10.0.0.2/24 dev link0
20-
ip link set link0 up
21-
ip link set link0 mtu $LINK_MTU
22-
23-
wg set link0 peer $GATEWAY_LINK_WG_PUBKEY allowed-ips 10.0.0.1/32 persistent-keepalive 30 endpoint $GATEWAY_ENDPOINT
24-
17+
wg set ${INTERFACE_NAME} private-key /etc/wireguard/${INTERFACE_NAME}.key
18+
wg set ${INTERFACE_NAME} listen-port 18521
19+
ip addr add 10.0.0.2/24 dev ${INTERFACE_NAME}
20+
ip link set ${INTERFACE_NAME} up
21+
ip link set ${INTERFACE_NAME} mtu $LINK_MTU
22+
wg set ${INTERFACE_NAME} peer $GATEWAY_LINK_WG_PUBKEY allowed-ips 10.0.0.1/32 persistent-keepalive 30 endpoint $GATEWAY_ENDPOINT
2523
if [ -z ${FORWARD_ONLY+x} ]; then
26-
2724
echo "Using caddy with SSL termination to forward traffic to app."
2825
if [ ! -z ${CADDY_TLS_PROXY+x} ]; then # if CADDY_TLS_PROXY is set
2926
echo "Configure Caddy for use with TLS backend"
@@ -40,7 +37,6 @@ $EXPOSE {
4037
}
4138
END
4239
)
43-
4440
else # CADDY_TLS_INSECURE is false
4541
EXPOSE=$(cat <<-END
4642
$EXPOSE {
@@ -61,7 +57,6 @@ $EXPOSE {
6157
END
6258
)
6359
fi
64-
6560
CADDYFILE='/etc/Caddyfile'
6661
BASIC_AUTH=${BASIC_AUTH:-}
6762
BASIC_AUTH_CONFIG=${BASIC_AUTH_CONFIG:-}

0 commit comments

Comments
 (0)