40 lines
1.5 KiB
Plaintext
Executable File
40 lines
1.5 KiB
Plaintext
Executable File
{
|
|
"$schema": "https://schemas.runtipi.io/v2/dynamic-compose.json",
|
|
"schemaVersion": 2,
|
|
"services": [
|
|
{
|
|
"name": "vpn_a",
|
|
"image": "vpn-openconnect-sso:latest",
|
|
"isMain": true,
|
|
"internalPort": 6901,
|
|
"capAdd": ["NET_ADMIN"],
|
|
"devices": [
|
|
{ "hostPath": "/dev/net/tun", "containerPath": "/dev/net/tun" }
|
|
],
|
|
"environment": [
|
|
{ "key": "OC_URL", "value": "${OC_URL_A}" },
|
|
{ "key": "OC_SERVERCERT", "value": "${OC_SERVERCERT_A}" },
|
|
{ "key": "OC_AUTHGROUP", "value": "${OC_AUTHGROUP_A}" },
|
|
{ "key": "OC_INTERFACE", "value": "tun0" },
|
|
{ "key": "OC_SSO_ARGS", "value": "${OC_SSO_ARGS_A}" },
|
|
{ "key": "VNC_PASSWORD", "value": "${VNC_PASS_A}" },
|
|
{ "key": "NOVNC_PORT", "value": "6901" }
|
|
],
|
|
"volumes": [
|
|
{ "hostPath": "${APP_DATA_DIR}/data/vpn_a_state", "containerPath": "/root" }
|
|
],
|
|
"restartPolicy": "unless-stopped"
|
|
},
|
|
{
|
|
"name": "ssh_tunnel",
|
|
"image": "alpine:3.20",
|
|
"networkMode": "service:vpn_a",
|
|
"volumes": [
|
|
{ "hostPath": "${SSH_KEY_PATH}", "containerPath": "/root/.ssh/id_ed25519-lenovo", "readOnly": true }
|
|
],
|
|
"command": "sh -lc \"apk add --no-cache openssh-client && exec ssh -N -i /root/.ssh/id_ed25519-lenovo -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -L 127.0.0.1:8090:localhost:8090 -L 127.0.0.1:2001:localhost:2001 -L 127.0.0.1:36001:localhost:36001 zawa@10.3.1.201\"",
|
|
"restartPolicy": "unless-stopped"
|
|
}
|
|
]
|
|
}
|