Files
runtipi/apps/rego-tunnel/config.json
alexz 0d773fba51
Some checks failed
Test / test (push) Has been cancelled
new hostshare dir for rego-tunnel app
2026-01-04 09:03:51 +00:00

181 lines
5.3 KiB
JSON
Executable File

{
"name": "Rego Tunnel",
"available": true,
"port": 8006,
"exposable": true,
"dynamic_config": true,
"id": "rego-tunnel",
"description": "Linux VM with Cisco AnyConnect VPN for accessing Rego environments securely.",
"tipi_version": 3,
"version": "latest",
"categories": ["utilities"],
"short_desc": "Linux VM VPN tunnel to Rego environments.",
"author": "alexz",
"source": "https://git.alexzaw.dev/alexz/runtipi",
"form_fields": [
{
"type": "number",
"label": "RAM (GB)",
"hint": "RAM to assign to the VM (in gigabytes)",
"placeholder": "8",
"required": true,
"env_variable": "WINDOWS_RAM_GB",
"default": "8"
},
{
"type": "number",
"label": "CPU Cores",
"hint": "CPU cores to assign to the VM",
"placeholder": "4",
"required": true,
"env_variable": "WINDOWS_CPU_CORES",
"default": "4"
},
{
"type": "text",
"label": "VM IP (internal)",
"hint": "Internal VM IP on the tap/bridge network",
"placeholder": "100.100.0.2",
"required": true,
"env_variable": "VM_NET_IP",
"default": "100.100.0.2"
},
{
"type": "text",
"label": "VM MAC",
"hint": "Used for DHCP reservation (VM must use DHCP)",
"placeholder": "52:54:00:12:34:56",
"required": true,
"env_variable": "VM_MAC",
"default": "52:54:00:12:34:56"
},
{
"type": "text",
"label": "Bridge name",
"hint": "Linux bridge created inside the container for VM networking",
"placeholder": "br-rego-vpn",
"required": true,
"env_variable": "BRIDGE_NAME",
"default": "br-rego-vpn"
},
{
"type": "text",
"label": "TAP name",
"hint": "Tap interface name used by QEMU",
"placeholder": "tap0",
"required": true,
"env_variable": "TAP_NAME",
"default": "tap0"
},
{
"type": "ip",
"label": "Bridge CIDR",
"hint": "Bridge address/CIDR assigned inside the container",
"placeholder": "100.100.0.1",
"required": true,
"env_variable": "BRIDGE_CIDR",
"default": "100.100.0.1"
},
{
"type": "text",
"label": "QEMU binary",
"hint": "Override the QEMU system binary (e.g. /usr/bin/qemu-system-amd64). Leave empty for default.",
"placeholder": "/usr/bin/qemu-system-amd64",
"required": false,
"env_variable": "QEMU_BIN",
"default": "/usr/bin/qemu-system-amd64"
},
{
"type": "text",
"label": "TAP2 name (shared network)",
"hint": "Optional second TAP interface for a second VM NIC. Set to enable NIC2 (e.g. tap1).",
"placeholder": "tap1",
"required": false,
"env_variable": "TAP2_NAME",
"default": "tap1"
},
{
"type": "text",
"label": "Bridge2 name (shared network)",
"hint": "Optional second Linux bridge for NIC2 (e.g. br-app).",
"placeholder": "br-app",
"required": false,
"env_variable": "BRIDGE2_NAME",
"default": "br-app"
},
{
"type": "text",
"label": "Bridge2 uplink interface",
"hint": "If set, bridge NIC2 onto this container interface (e.g. eth0 for 10.x app network, eth1 for 172.x main network).",
"placeholder": "eth0",
"required": false,
"env_variable": "BRIDGE2_UPLINK_IF",
"default": "eth0"
},
{
"type": "text",
"label": "Bridge2 CIDR (optional)",
"hint": "Optional IPv4/CIDR for Bridge2. If empty and uplink is set, the bridge inherits the uplink IPv4 address.",
"placeholder": "10.128.13.2/24",
"required": false,
"env_variable": "BRIDGE2_CIDR",
"default": "10.128.13.2/24"
},
{
"type": "text",
"label": "VM MAC2 (shared network)",
"hint": "Optional MAC for NIC2 (e.g. 52:54:00:12:34:57).",
"placeholder": "52:54:00:12:34:57",
"required": false,
"env_variable": "VM_MAC2",
"default": "52:54:00:12:34:57"
},
{
"type": "ip",
"label": "VM subnet",
"hint": "Subnet that should be NATed out of the container",
"placeholder": "100.100.0.0",
"required": true,
"env_variable": "VM_SUBNET",
"default": "100.100.0.0"
},
{
"type": "ip",
"label": "Target IP (routed via VM)",
"hint": "Traffic to this IP is routed via the VM (VPN inside the VM)",
"placeholder": "10.35.33.230",
"required": true,
"env_variable": "TARGET_IP",
"default": "10.35.33.230"
},
{
"type": "text",
"label": "DNS servers",
"hint": "DNS servers offered to the VM via DHCP",
"placeholder": "1.1.1.1,8.8.8.8",
"required": true,
"env_variable": "DNS_SERVERS",
"default": "1.1.1.1,8.8.8.8"
},
{
"type": "text",
"label": "DHCP lease time",
"hint": "Lease duration (dnsmasq format, e.g. 12h)",
"placeholder": "12h",
"required": true,
"env_variable": "LEASE_TIME",
"default": "12h"
},
{
"type": "text",
"label": "Host share directory",
"hint": "Host path mounted into the container at /hostshare and exported into the VM",
"placeholder": "${APP_DATA_DIR}",
"required": true,
"env_variable": "HOSTSHARE_DIR",
"default": "/etc/runtipi/user-config/runtipi/rego-tunnel/shared"
}
],
"supported_architectures": ["amd64"]
}