Merge branch 'master' into master
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 5.8 KiB |
|
@ -31,6 +31,8 @@ const networkExceptions = [
|
|||
"plex",
|
||||
"zerotier",
|
||||
"gladys",
|
||||
"scrypted",
|
||||
"homebridge",
|
||||
];
|
||||
const getAppConfigs = (): AppConfig[] => {
|
||||
const apps: AppConfig[] = [];
|
||||
|
|
15
apps/homebridge/config.json
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "Home Bridge",
|
||||
"available": true,
|
||||
"port": 8581,
|
||||
"tipi_version": 1,
|
||||
"version": "latest",
|
||||
"id": "homebridge",
|
||||
"categories": ["automation"],
|
||||
"description": "HomeKit support for the impatient.",
|
||||
"short_desc": "HomeKit support for the impatient. ",
|
||||
"author": "ArneNaessens",
|
||||
"source": "https://github.com/homebridge/homebridge",
|
||||
"form_fields": []
|
||||
}
|
18
apps/homebridge/docker-compose.yml
Normal file
|
@ -0,0 +1,18 @@
|
|||
|
||||
version: '3'
|
||||
services:
|
||||
homebridge:
|
||||
container_name: homebridge
|
||||
image: homebridge/homebridge:latest
|
||||
restart: unless-stopped
|
||||
privileged: true
|
||||
network_mode: host
|
||||
environment:
|
||||
- TZ=${TZ}
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/homebridge:/homebridge
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10mb"
|
||||
max-file: "1"
|
22
apps/homebridge/metadata/description.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
# Homebridge
|
||||
|
||||
|
||||
**Homebridge** is a lightweight NodeJS server you can run on your home network that emulates the iOS HomeKit API. It supports Plugins, which are community-contributed modules that provide a basic bridge from HomeKit to various 3rd-party APIs provided by manufacturers of "smart home" devices.
|
||||
|
||||
Since Siri supports devices added through HomeKit, this means that with Homebridge you can ask Siri to control devices that don't have any support for HomeKit at all. For instance, using just some of the available plugins, you can say:
|
||||
|
||||
- _Siri, unlock the back door._ \[pictured to the right\]
|
||||
- _Siri, open the garage door._
|
||||
- _Siri, turn on the coffee maker._
|
||||
- _Siri, turn on the living room lights._
|
||||
- _Siri, good morning!_
|
||||
|
||||
You can explore all available plugins at the NPM website by [searching for the keyword `homebridge-plugin`](https://www.npmjs.com/search?q=homebridge-plugin).
|
||||
|
||||
## [](https://github.com/homebridge/homebridge#community)Community
|
||||
|
||||
The official Homebridge Discord server and Reddit community are where users can discuss Homebridge and ask for help.
|
||||
|
||||
[![Homebridge Discord](https://camo.githubusercontent.com/11240ac552626b069352ce3b64e2502aff52aa97481699fc281dfa678eb141ca/68747470733a2f2f646973636f72646170702e636f6d2f6170692f6775696c64732f3433323636333333303238313232363237302f7769646765742e706e673f7374796c653d62616e6e657232)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://github.com/homebridge/homebridge/raw/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)
|
||||
|
||||
HomeKit communities can also be found on both [Discord](https://discord.gg/RcV7fa8) and [Reddit](https://www.reddit.com/r/homekit).
|
BIN
apps/homebridge/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 72 KiB |
|
@ -6,8 +6,8 @@
|
|||
"exposable": true,
|
||||
"https": true,
|
||||
"id": "portainer",
|
||||
"tipi_version": 12,
|
||||
"version": "2.18.4-alpine",
|
||||
"tipi_version": 13,
|
||||
"version": "2.19.0-alpine",
|
||||
"categories": [
|
||||
"utilities"
|
||||
],
|
||||
|
|
|
@ -2,7 +2,7 @@ version: "3.7"
|
|||
|
||||
services:
|
||||
portainer:
|
||||
image: portainer/portainer-ce:2.18.4-alpine
|
||||
image: portainer/portainer-ce:2.19.0-alpine
|
||||
container_name: portainer
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
|
|
24
apps/scrypted/config.json
Normal file
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "Scrypted",
|
||||
"port": 10443,
|
||||
"available": true,
|
||||
"exposable": false,
|
||||
"https": true,
|
||||
"id": "scrypted",
|
||||
"tipi_version": 4,
|
||||
"version": "18-jammy-full.s6-v0.41.0",
|
||||
"categories": ["security"],
|
||||
"description": "Scrypted is a high performance home video integration and automation platform",
|
||||
"short_desc": "High performance home video integration and automation platform",
|
||||
"author": "Koush",
|
||||
"source": "https://github.com/koush/scrypted",
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "random",
|
||||
"label": "Scrypted Bearer Token",
|
||||
"min": 32,
|
||||
"env_variable": "SCRYPTED_BEARER_TOKEN"
|
||||
}
|
||||
]
|
||||
}
|
27
apps/scrypted/docker-compose.yml
Normal file
|
@ -0,0 +1,27 @@
|
|||
version: "3"
|
||||
|
||||
services:
|
||||
scrypted:
|
||||
container_name: scrypted
|
||||
image: koush/scrypted:18-jammy-full.s6-v0.41.0
|
||||
privileged: true
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/scrypted/database:/server/volume
|
||||
- ${ROOT_FOLDER_HOST}/media/data/NVR/scrypted:/nvr
|
||||
#- /var/run/dbus:/var/run/dbus
|
||||
#- /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket
|
||||
environment:
|
||||
- SCRYPTED_WEBHOOK_UPDATE_AUTHORIZATION=${SCRYPTED_BEARER_TOKEN}
|
||||
- SCRYPTED_DOCKER_AVAHI=false
|
||||
#- SCRYPTED_WEBHOOK_UPDATE=${APP_PROTOCOL:-http}://${APP_DOMAIN}/v1/update
|
||||
devices:
|
||||
- /dev/bus/usb:/dev/bus/usb
|
||||
- /dev/dri:/dev/dri
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "10"
|
||||
|
23
apps/scrypted/metadata/description.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
# Install Info
|
||||
|
||||
When installing the NVR Plugin, you can set the NVR Storage path as `/nvr`. See below where that folder is mounted!
|
||||
## Folder Info
|
||||
|
||||
| Root Folder | Container Folder |
|
||||
|-------------------------------|------------------|
|
||||
| /runtipi/app-data/nvr/data/scrypted/database | /server/volume |
|
||||
| /runtipi/media/data/NVR/scrypted | /nvr |
|
||||
|
||||
# Scrypted
|
||||
|
||||
Scrypted is a high performance home video integration platform and NVR with smart detections. [Instant, low latency, streaming](https://streamable.com/xbxn7z) to HomeKit, Google Home, and Alexa. Supports most cameras. [Learn more](https://docs.scrypted.app).
|
||||
|
||||
[![](https://user-images.githubusercontent.com/73924/252752480-57e1d556-cd3d-4448-81f9-a6c51b6513de.png)](https://user-images.githubusercontent.com/73924/252752480-57e1d556-cd3d-4448-81f9-a6c51b6513de.png)
|
||||
|
||||
## Installation and Documentation
|
||||
|
||||
Installation and camera onboarding instructions can be found in the [docs](https://docs.scrypted.app).
|
||||
|
||||
## Community
|
||||
|
||||
Scrypted has active communities on [Discord](https://discord.gg/DcFzmBHYGq), [Reddit](https://reddit.com/r/scrypted), and [Github](https://github.com/koush/scrypted). Check them out if you have questions!
|
BIN
apps/scrypted/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 40 KiB |
|
@ -1,20 +1,19 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "Stirling-PDF",
|
||||
"port": 8234,
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "stirling-pdf",
|
||||
"tipi_version": 1,
|
||||
"version": "0.13.0",
|
||||
"categories": [
|
||||
"data",
|
||||
"utilities"
|
||||
],
|
||||
"description": "Locally hosted web application that allows you to perform various operations on PDF files.",
|
||||
"short_desc": "Powerful locally hosted web based PDF manipulation tool.",
|
||||
"author": "Frooodle",
|
||||
"source": "https://github.com/Frooodle/Stirling-PDF/",
|
||||
"form_fields": []
|
||||
}
|
||||
|
||||
"$schema": "../schema.json",
|
||||
"name": "Stirling-PDF",
|
||||
"port": 8234,
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "stirling-pdf",
|
||||
"tipi_version": 2,
|
||||
"version": "0.13.1",
|
||||
"categories": [
|
||||
"data",
|
||||
"utilities"
|
||||
],
|
||||
"description": "Locally hosted web application that allows you to perform various operations on PDF files.",
|
||||
"short_desc": "Powerful locally hosted web based PDF manipulation tool.",
|
||||
"author": "Frooodle",
|
||||
"source": "https://github.com/Frooodle/Stirling-PDF/",
|
||||
"form_fields": []
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
version: "3.7"
|
||||
services:
|
||||
stirling-pdf:
|
||||
image: ghcr.io/frooodle/s-pdf:0.13.0
|
||||
image: ghcr.io/frooodle/s-pdf:0.13.1
|
||||
restart: unless-stopped
|
||||
container_name: stirling-pdf
|
||||
privileged: true
|
||||
|
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 16 KiB |
342
apps/transmission-vpn/config.json
Normal file
|
@ -0,0 +1,342 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "Transmission (VPN)",
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"port": 9091,
|
||||
"requirements": {
|
||||
"ports": [
|
||||
51413
|
||||
]
|
||||
},
|
||||
"id": "transmission-vpn",
|
||||
"tipi_version": 2,
|
||||
"version": "5.1.0",
|
||||
"categories": [
|
||||
"utilities",
|
||||
"security"
|
||||
],
|
||||
"description": "Transmission is running only when OpenVPN has an active tunnel. It has built-in support for many popular VPN providers to make the setup easier.",
|
||||
"short_desc": "BitTorrent client with VPN support.",
|
||||
"author": "haugene",
|
||||
"source": "https://github.com/haugene/docker-transmission-openvpn",
|
||||
"form_fields": [
|
||||
{
|
||||
"type": "numeric",
|
||||
"label": "Container > UserID (UID)",
|
||||
"placeholder": "1000",
|
||||
"env_variable": "TRANSMISSION_PUID"
|
||||
},
|
||||
{
|
||||
"type": "numeric",
|
||||
"label": "Container > GroupID (PGID)",
|
||||
"placeholder": "1000",
|
||||
"env_variable": "TRANSMISSION_PGID"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"label": "Container > Create TUN device",
|
||||
"env_variable": "TRANSMISSION_CREATE_TUN_DEVICE"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "OpenVPN > Local Network",
|
||||
"placeholder": "10.0.0.0/8,172.16.0.0/12,192.168.0.0/16",
|
||||
"env_variable": "TRANSMISSION_OVPN_LOCAL_NETWORK"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "OpenVPN > Username",
|
||||
"required": true,
|
||||
"env_variable": "TRANSMISSION_OVPN_USERNAME"
|
||||
},
|
||||
{
|
||||
"type": "password",
|
||||
"label": "OpenVPN > Password",
|
||||
"required": true,
|
||||
"env_variable": "TRANSMISSION_OVPN_PASSWORD"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "OpenVPN > Default Provider Config",
|
||||
"required": true,
|
||||
"placeholder": "france,sweden,austria,italy,belgium",
|
||||
"env_variable": "TRANSMISSION_OVPN_CONFIG"
|
||||
},
|
||||
{
|
||||
"label": "OpenVPN > Provider",
|
||||
"type": "text",
|
||||
"required": true,
|
||||
"options": [
|
||||
{
|
||||
"label": "Anonine",
|
||||
"value": "ANONINE"
|
||||
},
|
||||
{
|
||||
"label": "AnonVPN",
|
||||
"value": "ANONVPN"
|
||||
},
|
||||
{
|
||||
"label": "BlackVPN",
|
||||
"value": "BLACKVPN"
|
||||
},
|
||||
{
|
||||
"label": "BTGuard",
|
||||
"value": "BTGUARD"
|
||||
},
|
||||
{
|
||||
"label": "Cryptostorm",
|
||||
"value": "CRYPTOSTORM"
|
||||
},
|
||||
{
|
||||
"label": "ExpressVPN",
|
||||
"value": "EXPRESSVPN"
|
||||
},
|
||||
{
|
||||
"label": "FastestVPN",
|
||||
"value": "FASTESTVPN"
|
||||
},
|
||||
{
|
||||
"label": "FreeVPN",
|
||||
"value": "FREEVPN"
|
||||
},
|
||||
{
|
||||
"label": "FrootVPN",
|
||||
"value": "FROOT"
|
||||
},
|
||||
{
|
||||
"label": "FrostVPN",
|
||||
"value": "FROSTVPN"
|
||||
},
|
||||
{
|
||||
"label": "Getflix",
|
||||
"value": "GETFLIX"
|
||||
},
|
||||
{
|
||||
"label": "GhostPath",
|
||||
"value": "GHOSTPATH"
|
||||
},
|
||||
{
|
||||
"label": "Giganews",
|
||||
"value": "GIGANEWS"
|
||||
},
|
||||
{
|
||||
"label": "HideMe",
|
||||
"value": "HIDEME"
|
||||
},
|
||||
{
|
||||
"label": "HideMyAss",
|
||||
"value": "HIDEMYASS"
|
||||
},
|
||||
{
|
||||
"label": "IntegrityVPN",
|
||||
"value": "INTEGRITYVPN"
|
||||
},
|
||||
{
|
||||
"label": "IPVanish",
|
||||
"value": "IPVANISH"
|
||||
},
|
||||
{
|
||||
"label": "IronSocket",
|
||||
"value": "IRONSOCKET"
|
||||
},
|
||||
{
|
||||
"label": "Ivacy",
|
||||
"value": "IVACY"
|
||||
},
|
||||
{
|
||||
"label": "IVPN",
|
||||
"value": "IVPN"
|
||||
},
|
||||
{
|
||||
"label": "Mullvad",
|
||||
"value": "MULLVAD"
|
||||
},
|
||||
{
|
||||
"label": "NordVPN",
|
||||
"value": "NORDVPN"
|
||||
},
|
||||
{
|
||||
"label": "OctaneVPN",
|
||||
"value": "OCTANEVPN"
|
||||
},
|
||||
{
|
||||
"label": "OVPN",
|
||||
"value": "OVPN"
|
||||
},
|
||||
{
|
||||
"label": "Privado",
|
||||
"value": "PRIVADO"
|
||||
},
|
||||
{
|
||||
"label": "Private Internet Access",
|
||||
"value": "PIA"
|
||||
},
|
||||
{
|
||||
"label": "PrivateVPN",
|
||||
"value": "PRIVATEVPN"
|
||||
},
|
||||
{
|
||||
"label": "ProtonVPN",
|
||||
"value": "PROTONVPN"
|
||||
},
|
||||
{
|
||||
"label": "proXPN",
|
||||
"value": "PROXPN"
|
||||
},
|
||||
{
|
||||
"label": "PureVPN",
|
||||
"value": "PUREVPN"
|
||||
},
|
||||
{
|
||||
"label": "RA4W VPN",
|
||||
"value": "RA4W"
|
||||
},
|
||||
{
|
||||
"label": "SaferVPN",
|
||||
"value": "SAFERVPN"
|
||||
},
|
||||
{
|
||||
"label": "SlickVPN",
|
||||
"value": "SLICKVPN"
|
||||
},
|
||||
{
|
||||
"label": "SlickVPNCore",
|
||||
"value": "SLICKVPNCORE"
|
||||
},
|
||||
{
|
||||
"label": "Smart DNS Proxy",
|
||||
"value": "SMARTDNSPROXY"
|
||||
},
|
||||
{
|
||||
"label": "SmartVPN",
|
||||
"value": "SMARTVPN"
|
||||
},
|
||||
{
|
||||
"label": "Surfshark",
|
||||
"value": "SURFSHARK"
|
||||
},
|
||||
{
|
||||
"label": "TigerVPN",
|
||||
"value": "TIGER"
|
||||
},
|
||||
{
|
||||
"label": "TorGuard",
|
||||
"value": "TORGUARD"
|
||||
},
|
||||
{
|
||||
"label": "Trust.Zone",
|
||||
"value": "TRUSTZONE"
|
||||
},
|
||||
{
|
||||
"label": "TunnelBear",
|
||||
"value": "TUNNELBEAR"
|
||||
},
|
||||
{
|
||||
"label": "VPN.AC",
|
||||
"value": "VPNAC"
|
||||
},
|
||||
{
|
||||
"label": "VPNArea.com",
|
||||
"value": "VPNAREA"
|
||||
},
|
||||
{
|
||||
"label": "VPNBook.com",
|
||||
"value": "VPNBOOK"
|
||||
},
|
||||
{
|
||||
"label": "VPNFacile",
|
||||
"value": "VPNFACILE"
|
||||
},
|
||||
{
|
||||
"label": "VPN.ht",
|
||||
"value": "VPNHT"
|
||||
},
|
||||
{
|
||||
"label": "VPNTunnel",
|
||||
"value": "VPNTUNNEL"
|
||||
},
|
||||
{
|
||||
"label": "VPNUnlimited",
|
||||
"value": "VPNUNLIMITED"
|
||||
},
|
||||
{
|
||||
"label": "VyprVpn",
|
||||
"value": "VYPRVPN"
|
||||
},
|
||||
{
|
||||
"label": "Windscribe",
|
||||
"value": "WINDSCRIBE"
|
||||
},
|
||||
{
|
||||
"label": "ZoogVPN",
|
||||
"value": "ZOOGVPN"
|
||||
}
|
||||
],
|
||||
"env_variable": "TRANSMISSION_OVPN_PROVIDER"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"label": "OpenVPN > Use VPN DNS",
|
||||
"env_variable": "TRANSMISSION_PEER_DNS"
|
||||
},
|
||||
{
|
||||
"label": "Transmission > WebUI",
|
||||
"type": "text",
|
||||
"required": true,
|
||||
"options": [
|
||||
{
|
||||
"label": "Combustion",
|
||||
"value": "combustion"
|
||||
},
|
||||
{
|
||||
"label": "Kettu",
|
||||
"value": "kettu"
|
||||
},
|
||||
{
|
||||
"label": "Web-Control",
|
||||
"value": "transmission-web-control"
|
||||
},
|
||||
{
|
||||
"label": "Flood",
|
||||
"value": "flood-for-transmission"
|
||||
},
|
||||
{
|
||||
"label": "Shift",
|
||||
"value": "shift"
|
||||
},
|
||||
{
|
||||
"label": "Transmissionic",
|
||||
"value": "transmissionic"
|
||||
}
|
||||
],
|
||||
"env_variable": "TRANSMISSION_WEBUI"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"label": "Transmission > Enable DHT",
|
||||
"env_variable": "TRANSMISSION_DHT_ENABLED"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"label": "Transmission > Enable LPD",
|
||||
"env_variable": "TRANSMISSION_LPD_ENABLED"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"label": "Transmission > Enable PEX",
|
||||
"env_variable": "TRANSMISSION_PEX_ENABLED"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"label": "Transmission > Enable Blocklist",
|
||||
"env_variable": "TRANSMISSION_BLOCKLIST_ENABLED"
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"label": "Transmission > Blocklist URL",
|
||||
"placeholder": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz",
|
||||
"env_variable": "TRANSMISSION_BLOCKLIST_URL"
|
||||
}
|
||||
]
|
||||
}
|
0
apps/transmission-vpn/data/config/.gitkeep
Normal file
79
apps/transmission-vpn/docker-compose.yml
Normal file
|
@ -0,0 +1,79 @@
|
|||
services:
|
||||
transmission-vpn:
|
||||
image: haugene/transmission-openvpn:5.1.0
|
||||
container_name: transmission-vpn
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
devices:
|
||||
- /dev/net/tun
|
||||
dns:
|
||||
- ${DNS_IP}
|
||||
environment:
|
||||
- PUID=${TRANSMISSION_PUID-1000}
|
||||
- PGID=${TRANSMISSION_PGID-1000}
|
||||
- TZ=${TZ-Europe/Paris}
|
||||
- USER=${TRANSMISSION_USERNAME}
|
||||
- PASS=${TRANSMISSION_PASSWORD}
|
||||
- OPENVPN_PROVIDER=${TRANSMISSION_OVPN_PROVIDER-NORDVPN}
|
||||
- OPENVPN_CONFIG=${TRANSMISSION_OVPN_CONFIG}
|
||||
- OPENVPN_USERNAME=${TRANSMISSION_OVPN_USERNAME}
|
||||
- OPENVPN_PASSWORD=${TRANSMISSION_OVPN_PASSWORD}
|
||||
- OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60 --pull-filter ignore ping
|
||||
- LOCAL_NETWORK=${TRANSMISSION_OVPN_LOCAL_NETWORK-10.0.0.0/8,172.16.0.0/12,192.168.0.0/16}
|
||||
- TRANSMISSION_WEB_UI=${TRANSMISSION_WEBUI}
|
||||
- LOG_TO_STDOUT=true
|
||||
- GLOBAL_APPLY_PERMISSIONS=false
|
||||
- CREATE_TUN_DEVICE=${TRANSMISSION_CREATE_TUN_DEVICE-false}
|
||||
- PEER_DNS=${TRANSMISSION_PEER_DNS-false}
|
||||
- TRANSMISSION_DOWNLOAD_DIR=/media/torrents/complete
|
||||
- TRANSMISSION_INCOMPLETE_DIR_ENABLED=true
|
||||
- TRANSMISSION_INCOMPLETE_DIR=/media/torrents/incomplete
|
||||
- TRANSMISSION_PREALLOCATION=1
|
||||
- TRANSMISSION_DHT_ENABLED=${TRANSMISSION_DHT_ENABLED-false}
|
||||
- TRANSMISSION_LPD_ENABLED=${TRANSMISSION_LPD_ENABLED-false}
|
||||
- TRANSMISSION_PEX_ENABLED=${TRANSMISSION_PEX_ENABLED-false}
|
||||
- TRANSMISSION_BLOCKLIST_ENABLED=${TRANSMISSION_BLOCKLIST_ENABLED-true}
|
||||
- TRANSMISSION_BLOCKLIST_URL=${TRANSMISSION_BLOCKLIST_URL-http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz}
|
||||
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/config:/config
|
||||
- ${ROOT_FOLDER_HOST}/media/torrents:/media/torrents
|
||||
ports:
|
||||
- ${APP_PORT}:9091
|
||||
- 51413:51413
|
||||
- 51413:51413/udp
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- tipi_main_network
|
||||
sysctls :
|
||||
- net.ipv6.conf.all.disable_ipv6=0
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: 10m
|
||||
labels:
|
||||
# Main
|
||||
traefik.enable: true
|
||||
traefik.http.middlewares.transmission-web-redirect.redirectscheme.scheme: https
|
||||
traefik.http.services.transmission.loadbalancer.server.scheme: http
|
||||
traefik.http.services.transmission.loadbalancer.server.port: 9091
|
||||
# Web
|
||||
traefik.http.routers.transmission-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.transmission-insecure.entrypoints: web
|
||||
traefik.http.routers.transmission-insecure.service: transmission
|
||||
traefik.http.routers.transmission-insecure.middlewares: transmission-web-redirect
|
||||
# Websecure
|
||||
traefik.http.routers.transmission.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.transmission.entrypoints: websecure
|
||||
traefik.http.routers.transmission.service: transmission
|
||||
traefik.http.routers.transmission.tls.certresolver: myresolver
|
||||
# Local domain
|
||||
traefik.http.routers.transmission-local-insecure.rule: Host(`transmission.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.transmission-local-insecure.entrypoints: web
|
||||
traefik.http.routers.transmission-local-insecure.service: transmission
|
||||
traefik.http.routers.transmission-local-insecure.middlewares: transmission-web-redirect
|
||||
# Local domain secure
|
||||
traefik.http.routers.transmission-local.rule: Host(`transmission.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.transmission-local.entrypoints: websecure
|
||||
traefik.http.routers.transmission-local.service: transmission
|
||||
traefik.http.routers.transmission-local.tls: true
|
54
apps/transmission-vpn/metadata/description.md
Normal file
|
@ -0,0 +1,54 @@
|
|||
## Recommended VPN
|
||||
This container is heavily tested using
|
||||
[NordVPN, get 3 months free here.](https://ref.nordvpn.com/EQNOEHVwOCW)
|
||||
|
||||
## Features
|
||||
* Choose your Web UI !
|
||||
* Support many OpenVPN providers ([complete list](https://haugene.github.io/docker-transmission-openvpn/supported-providers/))
|
||||
* Works with traefik !
|
||||
* Pre-configured for Tipi.
|
||||
* Healthcheck
|
||||
* Highly configurable.
|
||||
|
||||
## Documentation
|
||||
|
||||
Don't hesitate to read related docs available here: https://haugene.github.io/docker-transmission-openvpn/
|
||||
|
||||
## VPN Provider Settings
|
||||
You can configure specific settings to your provider by creating a `docker-compose.yml` file in your `user-config` directory.
|
||||
| Directory | File |
|
||||
|-------------------------------|------------------|
|
||||
| /runtipi/user-config/transmission-vpn/ | docker-compose.yml |
|
||||
|
||||
With the following content by e.g. for NordVPN:
|
||||
```
|
||||
services:
|
||||
transmission-vpn:
|
||||
environment:
|
||||
- NORDVPN_COUNTRY=FR
|
||||
- NORDVPN_CATEGORY=legacy_p2p # Servers optimized for P2P usage
|
||||
- NORDVPN_PROTOCOL=tcp
|
||||
- NORDVPN_SERVER=fr000.nordvpn.com
|
||||
```
|
||||
Instructions for NordVPN can be found here: https://haugene.github.io/docker-transmission-openvpn/provider-specific/
|
||||
|
||||
For other's supported providers: https://haugene.github.io/docker-transmission-openvpn/supported-providers/
|
||||
|
||||
## Fast, easy, and free BitTorrent client
|
||||
|
||||
Docker container running Transmission torrent client with WebUI over an OpenVPN tunnel
|
||||
|
||||
Transmission is a fast, easy, and free BitTorrent client. It comes in several flavors:
|
||||
* A native macOS GUI application
|
||||
* GTK+ and Qt GUI applications for Linux, BSD, etc.
|
||||
* A headless daemon for servers and routers
|
||||
* A web UI for remote controlling any of the above
|
||||
|
||||
Visit [https://transmissionbt.com/](https://transmissionbt.com/) for more information.
|
||||
|
||||
## Folder Info
|
||||
|
||||
| Root Folder | Container Folder |
|
||||
|-------------------------------|------------------|
|
||||
| /runtipi/app-data/transmission/data/config | /config |
|
||||
| /runtipi/media/torrents | /media/torrents |
|
BIN
apps/transmission-vpn/metadata/logo.jpg
Normal file
After Width: | Height: | Size: 21 KiB |