{ "version": "2", "version_for_rakpios_cli": "v0.10", "templates": [ { "categories": [ "Other" ], "description": "Portainer Community Edition (CE) is a powerful, open source toolset that allows you to easily build and manage containers in Docker, Docker Swarm, Kubernetes and Azure ACI.", "post_up_info": "Visit https://{host-ip}:9443 to access the web interface.\nDeafault username: admin\nDefault password: changeme", "note": "Visit https://{host-ip}:9443 to access the web interface.
  • Default username: admin
  • Default password: changeme
  • ", "logo": "https://github.com/RAKWireless/portainer-templates/raw/master/logo/portainer_logo.png", "name": "Portainer", "platform": "linux", "repository": { "stackfile": "Stack/Portainer/portainer.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "Portainer", "type": 3, "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ] }, { "categories": [ "LoRaWAN" ], "description": "This app deploys a LoRaWAN gateway with Basics™ Station Packet Forward protocol using Docker.", "post_up_info": "Please check the Github repository https://github.com/xoseperez/basicstation for more information.", "note": "Check LoRa Basics™ Station for Docker Github repository for more details.", "image": "xoseperez/basicstation:v2", "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/gateway_logo.png", "name": "BasicsStation", "title": "LoRa Basics™ Station for Docker", "hostname": "basicstation", "platform": "linux", "restart_policy": "unless-stopped", "type": 1, "network": "host", "privileged": true, "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "label": "RAK gateway model/LoRaWAN concentrator model number/Semtech LoRa chip model", "name": "MODEL", "select": [ { "text": "RAK7243(no LTE)", "value": "RAK7243" }, { "text": "RAK7243C(with LTE)", "value": "RAK7243C" }, { "text": "RAK7244(no LTE)", "value": "RAK7244" }, { "text": "RAK7244(with LTE)", "value": "RAK7244C" }, { "text": "RAK7246", "value": "RAK7246" }, { "text": "RAK7246G", "value": "RAK7246G" }, { "text": "RAK7248(no LTE)", "value": "RAK7248" }, { "text": "RAK7248C(with LTE)", "value": "RAK7248C" }, { "text": "RAK7271", "value": "RAK7271" }, { "text": "RAK7371", "value": "RAK7371" }, { "text": "RAK831(SPI only)", "value": "RAK831" }, { "text": "RAK833", "value": "RAK833" }, { "text": "RAK2245", "value": "RAK2245" }, { "text": "RAK2246", "value": "RAK2246" }, { "text": "RAK2247", "value": "RAK2247" }, { "text": "RAK2287", "value": "RAK2287" }, { "text": "RAK5146", "value": "RAK5146" }, { "text": "RAK5166", "value": "RAK5166" }, { "text": "RAK5167", "value": "RAK5167" }, { "text": "IC880A", "value": "IC880A" }, { "text": "PG1301", "value": "PG1301" }, { "text": "PG1302", "value": "PG1302" }, { "text": "WM1302", "value": "WM1302" }, { "text": "R11E-LORA8", "value": "R11E-LORA8" }, { "text": "R11E-LORA9", "value": "R11E-LORA9" }, { "text": "SX1301", "value": "SX1301" }, { "text": "SX1302", "value": "SX1302" }, { "text": "SX1303", "value": "SX1303" }, { "text": "SX1308", "value": "SX1308" } ], "description": "Set RAKwireless Developer gateway model or LoRaWAN concentrator model number or Semtech LoRa chip model. When using concentrator model number or Semtech LoRa chip model, you will probably have to specify other features of the module." }, { "default": "/dev/spidev0.0", "label": "Device", "name": "DEVICE", "description": "Where the concentrator is connected to" }, { "name": "INTERFACE", "label": "Concentrator interface", "select": [ { "text": "SPI", "value": "SPI" }, { "text": "USB", "value": "USB" } ], "description": "The interface used by the concentrator, can be guessed from Device" }, { "default": "17", "label": "Gateway RESET GPIO", "name": "GW_RESET_GPIO", "description": "GPIO number that resets" }, { "default": "0", "label": "Gateway ENABLE GPIO", "name": "GW_ENABLE_GPIO", "description": "GPIO number that enables power (by pulling HIGH) to the concentrator" }, { "default": "eth0", "label": "GATEWAY EUI NIC", "name": "GATEWAY_EUI_NIC", "description": "Interface to use when generating the EUI" }, { "label": "GATEWAY EUI", "name": "GATEWAYEUI", "description": "Gateway EUI to use, autogenerated from GATEWAY EUI NIC if defined, otherwise in order from: eth0, wlan0, usb0" }, { "default": "eu1", "label": "TTN REGION", "name": "TTN_REGION", "description": "Region of the TTN server to use, possible values: eu1, nam1, au1" }, { "default": "change this to your own TC key from TTN", "label": "TC KEY", "name": "TC_KEY", "description": "Unique TTN Gateway Key used for TTS Community Edition pasted from TTN console" } ] }, { "categories": [ "LoRaWAN" ], "description": "This project deploys a LoRaWAN gateway with UDP Packet Forwarder protocol using Docker.", "post_up_info": "Please check the Github repository https://github.com/RAKWireless/udp-packet-forwarder for more information.", "note": "Check LoRaWAN UDP Packet Forwarder Protocol for Docker Github repository for more details.", "image": "rakwireless/udp-packet-forwarder:v2", "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/gateway_logo.png", "name": "UDPPacketForwarder", "title": "UDP Packet Forwarder", "hostname": "UDP", "platform": "linux", "restart_policy": "unless-stopped", "type": 1, "network": "host", "privileged": true, "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "name": "MODEL", "label": "RAK gateway model/LoRaWAN concentrator model number/Semtech LoRa chip model", "select": [ { "text": "RAK7243 (no LTE)", "value": "RAK7243" }, { "text": "RAK7243C (with LTE)", "value": "RAK7243C" }, { "text": "RAK7244 (no LTE)", "value": "RAK7244" }, { "text": "RAK7244 (with LTE)", "value": "RAK7244C" }, { "text": "RAK7246", "value": "RAK7246" }, { "text": "RAK7246G", "value": "RAK7246G" }, { "text": "RAK7248 (no LTE)", "value": "RAK7248" }, { "text": "RAK7248C (with LTE)", "value": "RAK7248C" }, { "text": "RAK7271", "value": "RAK7271" }, { "text": "RAK7371", "value": "RAK7371" }, { "text": "RAK831 (SPI only)", "value": "RAK831" }, { "text": "RAK833", "value": "RAK833" }, { "text": "RAK2245", "value": "RAK2245" }, { "text": "RAK2246", "value": "RAK2246" }, { "text": "RAK2247", "value": "RAK2247" }, { "text": "RAK2287", "value": "RAK2287" }, { "text": "RAK5146", "value": "RAK5146" }, { "text": "RAK5166", "value": "RAK5166" }, { "text": "RAK5167", "value": "RAK5167" }, { "text": "RAK5148", "value": "RAK5148" }, { "text": "IC880A", "value": "IC880A" }, { "text": "WM1302", "value": "WM1302" }, { "text": "R11E-LR8", "value": "R11E-LR8" }, { "text": "R11E-LR9", "value": "R11E-LR9" }, { "text": "R11E-LR2", "value": "R11E-LR2" }, { "text": "SX1280ZXXXXGW1", "value": "SX1280ZXXXXGW1" }, { "text": "SX1301", "value": "SX1301" }, { "text": "SX1302", "value": "SX1302" }, { "text": "SX1303", "value": "SX1303" }, { "text": "SX1308", "value": "SX1308" } ], "description": "Set RAKwireless Developer gateway model or LoRaWAN concentrator model number or Semtech LoRa chip model. When using concentrator model number or Semtech LoRa chip model, you will probably have to specify other features of the module." }, { "name": "INTERFACE", "label": "Concentrator interface", "default": "SPI", "select": [ { "text": "SPI", "value": "SPI" }, { "text": "USB", "value": "USB" }, { "text": "AUTO (only if RADIO_DEV=AUTO)", "value": "AUTO" } ], "description": "If MODEL is defined it will get the interface type from it, otherwise defaults to SPI" }, { "name": "HAS_GPS", "label": "Has GPS", "default": "1", "select": [ { "text": "True", "value": "1" }, { "text": "False", "value": "0" } ], "description": "If MODEL is defined it will get this from it, otherwise defaults to 1 (with GPS)" }, { "name": "HAS_LTE", "label": "Has LTE", "default": "0", "select": [ { "text": "True", "value": "1" }, { "text": "False", "value": "0" } ], "description": "If MODEL id defined it will get this from it, otherwise defaults to 0 (without LTE)" }, { "name": "RESET_GPIO", "default": "17", "label": "GATEWAY RESET GPIO", "description": "GPIO number that resets" }, { "name": "POWER_EN_GPIO", "default": "0", "label": "the GPIO enables power", "description": "GPIO number that enables power (by pulling HIGH) to the concentrator. 0 means not required" }, { "name": "RADIO_DEV", "label": "Where the concentrator is connected to", "description": "Don't set it if you don't know what this means, by default /dev/spidev0.0 for SPI concentrators, /dev/ttyACM0 or /dev/ttyUSB0 for USB concentrators. Set to AUTO to auto-discover." }, { "name": "GPS_DEV", "label": "Where the GPS is connected to", "description": "Don't set it if you don't know what this means, by default /dev/ttyAMA0 except when HAS_LTE is 1, in this case it will default to /dev/i2c-1. " }, { "name": "GATEWAY_EUI_SOURCE", "label": "Source of the Gateway EUI", "default": "chip", "select": [ { "text": "Use Semtech LoRa chip ID", "value": "chip" }, { "text": "Generate gateway EUI based on following network interfaces: eth0, wlan0, usb0, eth1, or most used NIC. If you need to use a custom gateway EUI, see option below", "value": "" } ], "description": "Source of the gateway EUI, default to use the Semtech Chip ID" }, { "name": "GATEWAY_EUI", "label": "Gateway EUI", "description": "Set a custom Gateway EUI (8 bytes in hex format),this takes precedence over the previous gateway EUI setting." }, { "name": "TTN_REGION", "label": "TTN region", "default": "eu1", "description": "If using a TTN server, region of the TTN server to use. Can be eu1, nam1, and au1" }, { "name": "SERVER_HOST", "label": "LNS URL", "description": "Use a completely difference LNS server. By default it will use the official TTN server address based on the TTN region choosen" }, { "name": "SERVER_PORT", "label": "Server port", "default": "1700", "description": "Port the server is listening to" }, { "name": "BAND", "label": "TTN Frequency Plan", "default": "eu_863_870", "select": [ { "text": "as_915_921(as_923_3)", "value": "as_915_921" }, { "text": "as_915_928(as_923_1)", "value": "as_915_928" }, { "text": "as_917_920(as_923_4)", "value": "as_917_920" }, { "text": "as_920_923(as_923_2)", "value": "as_920_923" }, { "text": "au_915_928", "value": "au_915_928" }, { "text": "cn_470_510", "value": "cn_470_510" }, { "text": "eu_433", "value": "eu_433" }, { "text": "eu_863_870", "value": "eu_863_870" }, { "text": "in_865_867", "value": "in_865_867" }, { "text": "kr_920_923", "value": "kr_920_923" }, { "text": "ru_864_870", "value": "ru_864_870" }, { "text": "us_902_928", "value": "us_902_928" } ], "description": "Regional parameters identifier" }, { "name": "WHITELIST_NETIDS", "label": "WHITELIST_NETIDS", "description": "Allow only messages from devices in this NetIDs, leave empty to disable filtering." }, { "name": "WHITELIST_OUIS", "label": "WHITELIST_OUIS", "description": "Allow only join requests from devices from these OUIs, leave empty to disable filtering." }, { "name": "STAT_INTERVAL", "label": "STAT_INTERVAL", "default": "30", "description": "Interval between heartbeat messages. Defaults to 30s." }, { "name": "PUSH_TIMEOUT", "label": "PUSH_TIMEOUT", "default": "100", "description": "Timeout when pushing messages to LNS. Defaults to 100ms. Increase if missing packets on LNS side." }, { "name": "GPS_LATITUDE", "label": "GPS LATITUDE", "description": "Report this latitude for the gateway" }, { "name": "GPS_LONGITUDE", "label": "GPS LONGITUDE", "description": "Report this longitude for the gateway" }, { "name": "GPS_ALTITUDE", "label": "GPS ALTITUDE", "description": "Report this altitude for the gateway" } ] }, { "categories": [ "LoRaWAN" ], "description": "This project deploys UDP Packet Forwarder protocol for LoRa 2.4GHz Gateways using Docker. It runs on any amd64/x86_64 PC, or a SBC like a Raspberry Pi 3/4, Compute Module 3/4 or balenaFin. DEPRECATED: use UDP Packet Forwarder instead.", "post_up_info": "Please check the Github repository https://github.com/RAKWireless/udp-packet-forwarder for more details.", "note": "Check LoRaWAN UDP Packet Forwarder Protocol for Docker Github repository for more details.", "image": "xoseperez/2g4-packet-forwarder:latest", "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/gateway_logo.png", "name": "2g4PacketForwarder", "title": "2.4GHz Gateway UDP Packet Forwarder", "hostname": "2g4-packet-forwarder", "platform": "linux", "restart_policy": "unless-stopped", "type": 1, "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "name": "Device", "default": "/dev/ttyACM0", "label": "Concentrator port", "description": "Where the concentrator is connected to." }, { "name": "TTN_REGION", "label": "TTN region", "default": "eu1", "description": "If using a TTN server, region of the TTN server to use. Can be eu1, nam1, and au1" }, { "name": "SERVER_HOST", "label": "Host Server URL", "description": "If TTN_REGION is defined it will build the right address for the TTN server" }, { "name": "SERVER_PORT", "label": "Server port", "default": "1700", "description": "Port the server is listening to" }, { "name": "GPS_LATITUDE", "label": "GPS LATITUDE", "description": "Report this latitude for the gateway" }, { "name": "GPS_LONGITUDE", "label": "GPS LONGITUDE", "description": "Report this longitude for the gateway" }, { "name": "GPS_ALTITUDE", "label": "GPS ALTITUDE", "description": "Report this altitude for the gateway" } ] }, { "categories": [ "LoRaWAN" ], "description": "The Helium gateway-rs is a service designed to run on Linux-based LoRaWAN gateways. It's intended to run alongside a typical LoRa packet forwarder and to connect via Semtech's Gateway Messaging Protocol. It does not mine HNT for now but can be used to increase coverage on the Helium network.", "post_up_info": "The image comes with helium/gateway-rs & helium-wallet packages installed.\nStart a UDP packet forwarder service first, make sure to set the packet forwarder to forward to the (default) configured helium-gateway on 127.0.0.1 at udp port 1680.\nThe gateway_key.bin file is stored under /etc/helium_gateway on your host by default.\nTo get the public key address and animal name on your host, please use this command: docker exec {container name} helium_gateway key info.\nPlease check https://github.com/helium/gateway-rs for more details. ", "note": "The image comes with helium/gateway-rs & helium-wallet packages.
    Start a UDP packet forwarder service first, make sure to set the packet forwarder to forward to the (default) configured helium-gateway on 127.0.0.1 at udp port 1680.
    The gateway_key.bin file is stored under /etc/helium_gateway on your host by default.
    Use the command docker exec {container name} helium_gateway key info on your host to get the public key address and animal name.
    Check Helium gateway-rs Github Repository for more details.", "image": "sheng2216/helium:latest", "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/helium_logo.png", "name": "HeliumGatewayRS", "title": "Helium gateway-rs", "platform": "linux", "restart_policy": "unless-stopped", "type": 1, "network": "host", "privileged": true, "command": "/bin/bash -c /app/start.sh", "volumes": [ { "bind": "/etc/helium_gateway", "container": "/etc/helium_gateway" } ], "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "name": "version", "default": "latest", "label": "Version of gateway-rs package ", "description": "Version of gateway-rs package, default is set to the latest. You can specify a history version, for example, v1.0.0-alpha.29. Please check the release note at https://github.com/helium/gateway-rs/releases" }, { "name": "platform", "label": "Supported Platforms", "default": "raspi_64", "description": "Check the Supported Platform section on https://github.com/helium/gateway-rs to see if your platfrom is on the list" }, { "name": "region", "label": "Region", "default": "US915", "select": [ { "text": "US915", "value": "US915" }, { "text": "EU868", "value": "EU868" }, { "text": "EU433", "value": "EU433" }, { "text": "CN470", "value": "CN470" }, { "text": "CN779", "value": "CN779" }, { "text": "AU915", "value": "AU915" }, { "text": "AS923_1", "value": "AS923_1" }, { "text": "AS923_2", "value": "AS923_2" }, { "text": "AS923_3", "value": "AS923_3" }, { "text": "AS923_4", "value": "AS923_4" }, { "text": "KR920", "value": "KR920" }, { "text": "IN865", "value": "IN865" } ], "description": "Possible valuess for regional parameters" } ] }, { "categories": [ "Home Automation" ], "description": "Node-RED is a flow-based development tool for visual programming.", "post_up_info": "Browse to http://{host-ip}:1880 to access the web interface.\nCheck https://nodered.org/docs/getting-started/docker for Node-RED docker quick start guide.", "note": "Browse to http://{host-ip}:1880 to access the web interface.
    Check Node-RED docker quick start guide for more details.", "logo": "https://nodered.org/about/resources/media/node-red-icon-2.png", "title": "NodeRed", "name": "NodeRed", "platform": "linux", "network": "bridge", "type": 3, "repository": { "stackfile": "Stack/NodeRed/nodered.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "default": "false", "label": "Enable the projects feature", "name": "NODE_RED_ENABLE_PROJECTS", "select": [ { "text": "Enable", "value": "true" }, { "text": "Disable", "value": "false" } ] } ] }, { "categories": [ "Home Automation" ], "description": "Zigbee2MQTT is a nodejs Gateway application that connects Zigbee networks to MQTT networks.", "post_up_info": "Browse to http://{host-ip}:<8002> to access the web interface, or change the external port number to your customised port number. \nCheck https://www.zigbee2mqtt.io/guide/configuration/ for Zigbee2MQTT configuration guide.", "note": "Browse to http://{host-ip}:8002 to access the web interface, or change the external port number to your customised port number. Check Zigbee2MQTT configuration guide for more details.", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "default": "true", "label": "Allow new devices to join", "name": "ZIGBEE2MQTT_CONFIG_PERMIT_JOIN", "select": [ { "text": "Enable", "value": "true" }, { "text": "Disable", "value": "false" } ] }, { "default": "zigbee2mqtt", "label": "MQTT base topic", "name": "ZIGBEE2MQTT_CONFIG_MQTT_BASE_TOPIC", "description": "Default MQTT base topic" }, { "default": "mqtt://mqtt", "label": "MQTT server address", "name": "ZIGBEE2MQTT_CONFIG_MQTT_SERVER", "description": "MQTT server address" }, { "default": "/dev/ttyUSB0", "label": "Zigbee Adapter path", "name": "ZIGBEE2MQTT_CONFIG_SERIAL_PORT", "description": "Zigbee Adapter path, for example, the serial port the adapter connected to:" }, { "default": "true", "label": "Enable the Zigbee2MQTT frontend", "name": "ZIGBEE2MQTT_CONFIG_FRONTEND", "select": [ { "text": "Enable", "value": "true" }, { "text": "Disable", "value": "false" } ] }, { "default": "8002", "label": "Frontend external port", "name": "external_port", "description": "Frontend external port bind to Zigbee2MQTT service's 8080 port. Browse to http://{host-ip}: to access the web interface." } ], "logo": "https://www.zigbee2mqtt.io/logo.png", "name": "Zigbee2MQTT", "platform": "linux", "repository": { "stackfile": "Stack/Zigbee2MQTT/zigbee2mqtt.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "Zigbee2MQTT", "network": "bridge", "type": 3 }, { "categories": [ "File Sync & Share" ], "description": "Seafile is an open source file sync&share solution designed for high reliability, performance and productivity.", "post_up_info": "Browse to http://{host-ip}:80 to access the web interface. HTTPS is not enabled by default.\nAfter login, please go to System admin on top right, then navigate to Settings, and change the FILE_SERVER_ROOT URL to http://{host-ip}/seafhttp.\nCheck https://manual.seafile.com/docker/deploy_seafile_with_docker/ for Seafile Community Installation Guide.", "note": "Browse to http://{host-ip}:80 to access the web interface. HTTPS is not enabled by default.
    After login, please go to System admin on top right, then navigate to Settings, and change the FILE_SERVER_ROOT URL to http://{host-ip}/seafhttp.
    Check Seafile Community Installation Guide for more details.", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "default": "db_dev", "label": "MySQL service's root password for the service called db", "name": "MYSQL_ROOT_PASSWORD", "description": "Required, must be the same with password for service named seafile" }, { "default": "db_dev", "label": "MySQL service's root password for the service named seafile", "name": "DB_ROOT_PASSWORD", "description": "Required, must be the same with password for the service called db" }, { "default": "me@example.com", "label": "Seafile admin user email", "name": "SEAFILE_ADMIN_EMAIL", "description": "Specifies Seafile admin user, default is 'me@example.com'." }, { "default": "changeme", "label": "Seafile admin user password", "name": "SEAFILE_ADMIN_PASSWORD", "description": "Seafile admin password, default is 'changeme'" }, { "default": "false", "label": "Whether to use https or not", "name": "SEAFILE_SERVER_LETSENCRYPT", "description": "Whether to use https or not. If https is enabled, please publish port 443 manually", "select": [ { "text": "Enable", "value": "true" }, { "text": "Disable", "value": "false" } ] }, { "default": "docs.seafile.com", "label": "Seafile Server_HOSTNAME", "name": "SEAFILE_SERVER_HOSTNAME", "description": "Specifies your host name if https is enabled." } ], "logo": "https://manual.seafile.com/media/seafile-transparent-1024.png", "name": "Seafile", "platform": "linux", "repository": { "stackfile": "Stack/Seafile/seafile.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "Seafile", "type": 3 }, { "categories": [ "VPN" ], "description": "Tailscale is a zero config VPN. It can be Installed on any device in minutes, it manages firewall rules for users, and works from anywhere. ", "post_up_info": "Create an account at https://tailscale.com/ first, and then check https://tailscale.com/kb/1085/auth-keys/ for Tailscale's official documentation on how to generate an authkey.\nCopy the key and fill in to the TS_AUTH_KEY variable provided, and then deploy the service", "note": "Create an account at Tailscale first, and then check Tailscale's official documentation on how to generate an authkey.
    Copy the key and fill in to the TS_AUTH_KEY variable below, and then deploy the service", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "label": "TS_AUTH_KEY", "name": "TS_AUTH_KEY", "description": "Pre-authentication keys (“auth keys” for short) let you register new nodes without needing to sign in via a web browser, check https://tailscale.com/kb/1085/auth-keys/ for more details." } ], "logo": "https://github.com/RAKWireless/portainer-templates/blob/master/logo/tailscale_logo.png?raw=true", "platform": "linux", "repository": { "stackfile": "Stack/Tilescale/tailscale.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "Tailscale", "name": "Tailscale", "type": 3 }, { "categories": [ "LoRaWAN" ], "description": "The ChirpStack open-source LoRaWAN Network Server stack provides open-source components for LoRaWAN networks.", "post_up_info": "Browse to http://{host-ip}:8080 to access the web interface. \nDefault username: admin\nDefault password: admin\nCheck https://github.com/chirpstack/chirpstack-docker for for more details.", "note": "Browse to http://{host-ip}:8080 to access the web interface.
  • Default username: admin
  • Default password: admin
  • Check ChirpStack Docker Github reposotory for more details.", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ], "logo": "https://github.com/RAKWireless/portainer-templates/blob/master/logo/chirpstack_logo.png?raw=true", "name": "ChirpStack", "platform": "linux", "repository": { "stackfile": "Stack/ChirpStack3/chirpstack.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "ChirpStack v3", "network": "bridge", "type": 3 }, { "categories": [ "LoRaWAN" ], "description": "The ChirpStack open-source LoRaWAN Network Server stack provides open-source components for LoRaWAN networks.", "post_up_info": "Browse to http://{host-ip}:8080 to access the web interface (might take a few seconds to boot). \nDefault username: admin\nDefault password: admin\nCheck https://www.chirpstack.io/docs/ for for more details.", "note": "Browse to http://{host-ip}:8080 to access the web interface (might take a few seconds to boot).
  • Default username: admin
  • Default password: admin
  • Check ChirpStack documentation for more details.", "env": [ { "default": "eu868", "label": "BAND", "name": "BAND", "select": [ {"text":"AS923_2", "value": "as923_2"}, {"text":"AS923_3", "value": "as923_3"}, {"text":"AS923_4", "value": "as923_4"}, {"text":"AS923", "value": "as923"}, {"text":"AU915_0", "value": "au915_0"}, {"text":"AU915_1", "value": "au915_1"}, {"text":"AU915_2", "value": "au915_2"}, {"text":"AU915_3", "value": "au915_3"}, {"text":"AU915_4", "value": "au915_4"}, {"text":"AU915_5", "value": "au915_5"}, {"text":"AU915_6", "value": "au915_6"}, {"text":"AU915_7", "value": "au915_7"}, {"text":"CN470_0", "value": "cn470_0"}, {"text":"CN470_10", "value": "cn470_10"}, {"text":"CN470_11", "value": "cn470_11"}, {"text":"CN470_1", "value": "cn470_1"}, {"text":"CN470_2", "value": "cn470_2"}, {"text":"CN470_3", "value": "cn470_3"}, {"text":"CN470_4", "value": "cn470_4"}, {"text":"CN470_5", "value": "cn470_5"}, {"text":"CN470_6", "value": "cn470_6"}, {"text":"CN470_7", "value": "cn470_7"}, {"text":"CN470_8", "value": "cn470_8"}, {"text":"CN470_9", "value": "cn470_9"}, {"text":"EU433", "value": "eu433"}, {"text":"EU868", "value": "eu868"}, {"text":"IN865", "value": "in865"}, {"text":"ISM2400", "value": "ism2400"}, {"text":"KR920", "value": "kr920"}, {"text":"RU864", "value": "ru864"}, {"text":"US915_0", "value": "us915_0"}, {"text":"US915_1", "value": "us915_1"}, {"text":"US915_2", "value": "us915_2"}, {"text":"US915_3", "value": "us915_3"}, {"text":"US915_4", "value": "us915_4"}, {"text":"US915_5", "value": "us915_5"}, {"text":"US915_6", "value": "us915_6"}, {"text":"US915_7", "value": "us915_7"} ] }, { "default": "127.0.0.1,localhost", "label": "CHIRPSTACK_GATEWAY_BRIDGE_HOSTS", "name": "CHIRPSTACK_GATEWAY_BRIDGE_HOSTS", "description": "Define hostnames, domain names and IPs for the gateway bridge servers (comma separated)" }, { "default": "127.0.0.1,localhost", "label": "MQTT_BROKER_HOSTS", "name": "MQTT_BROKER_HOSTS", "description": "Define hostnames, domain names and IPs for the MQTT brokers (comma separated)" }, { "default": "you_must_change_this", "label": "API_SECRET", "name": "API_SECRET", "description": "This should be some random unique string" }, { "default": "000000", "label": "NET_ID", "name": "NET_ID", "description": "NetID of your instance, if you have none stick to the default 000000 or 000001" }, { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ], "logo": "https://github.com/RAKWireless/portainer-templates/blob/master/logo/chirpstack_logo.png?raw=true", "name": "ChirpStack", "platform": "linux", "repository": { "stackfile": "Stack/ChirpStack4/docker-compose.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "ChirpStack v4", "network": "bridge", "type": 3 }, { "categories": [ "LoRaWAN" ], "description": "ChirpStack Concentratord is an open-source Concentrator HAL daemon for LoRa gateways.", "post_up_info": "Check https://www.chirpstack.io/docs/ for for more details.", "note": "Check ChirpStack documentation for more details.", "env": [ { "default": "eu868", "label": "CHANNELS", "name": "CHANNELS", "description": "Subregion or channels to use", "select": [ { "text":"AS923_2", "value": "as923_2" }, { "text":"AS923_3", "value": "as923_3" }, { "text":"AS923_4", "value": "as923_4" }, { "text":"AS923", "value": "as923" }, { "text":"AU915_0", "value": "au915_0" }, { "text":"AU915_1", "value": "au915_1" }, { "text":"AU915_2", "value": "au915_2" }, { "text":"AU915_3", "value": "au915_3" }, { "text":"AU915_4", "value": "au915_4" }, { "text":"AU915_5", "value": "au915_5" }, { "text":"AU915_6", "value": "au915_6" }, { "text":"AU915_7", "value": "au915_7" }, { "text":"CN470_0", "value": "cn470_0" }, { "text":"CN470_10", "value": "cn470_10" }, { "text":"CN470_11", "value": "cn470_11" }, { "text":"CN470_1", "value": "cn470_1" }, { "text":"CN470_2", "value": "cn470_2" }, { "text":"CN470_3", "value": "cn470_3" }, { "text":"CN470_4", "value": "cn470_4" }, { "text":"CN470_5", "value": "cn470_5" }, { "text":"CN470_6", "value": "cn470_6" }, { "text":"CN470_7", "value": "cn470_7" }, { "text":"CN470_8", "value": "cn470_8" }, { "text":"CN470_9", "value": "cn470_9" }, { "text":"EU433", "value": "eu433" }, { "text":"EU868", "value": "eu868" }, { "text":"IN865", "value": "in865" }, { "text":"KR920", "value": "kr920" }, { "text":"RU864", "value": "ru864" }, { "text":"US915_0", "value": "us915_0" }, { "text":"US915_1", "value": "us915_1" }, { "text":"US915_2", "value": "us915_2" }, { "text":"US915_3", "value": "us915_3" }, { "text":"US915_4", "value": "us915_4" }, { "text":"US915_5", "value": "us915_5" }, { "text":"US915_6", "value": "us915_6" }, { "text":"US915_7", "value": "us915_7 "} ] }, { "default": "eu868", "label": "REGION", "name": "REGION", "description": "Region", "select": [ { "text":"AS923", "value": "as923" }, { "text":"AS923_2", "value": "as923_2" }, { "text":"AS923_3", "value": "as923_3" }, { "text":"AS923_4", "value": "as923_4" }, { "text":"AU915", "value": "au915" }, { "text":"CN470", "value": "cn470" }, { "text":"CN779", "value": "cn779" }, { "text":"EU433", "value": "eu433" }, { "text":"EU868", "value": "eu868" }, { "text":"IN865", "value": "in865" }, { "text":"KR920", "value": "kr920" }, { "text":"RU864", "value": "ru864" }, { "text":"US915", "value": "us915 "} ] }, { "label": "LoRaWAN concentrator model number/Semtech LoRa chip model", "name": "MODEL", "default": "RAK5146", "select": [ { "text":"RAK2245", "value": "RAK2245" }, { "text":"RAK2247", "value": "RAK2247" }, { "text":"RAK2287", "value": "RAK2287" }, { "text":"RAK5146", "value": "RAK5146" }, { "text":"RAK7243", "value": "RAK7243" }, { "text":"RAK7243C", "value": "RAK7243C" }, { "text":"RAK7244", "value": "RAK7244" }, { "text":"RAK7244C", "value": "RAK7244C" }, { "text":"RAK7248", "value": "RAK7248" }, { "text":"RAK7248C", "value": "RAK7248C" }, { "text":"RAK7271", "value": "RAK7271" }, { "text":"RAK7371", "value": "RAK7371" }, { "text":"RAK831", "value": "RAK831" }, { "text":"RAK833", "value": "RAK833" }, { "text":"SX1301", "value": "SX1301" }, { "text":"SX1302", "value": "SX1302" }, { "text":"SX1303", "value": "SX1303 "} ], "description": "Concentrator model" }, { "name": "INTERFACE", "label": "Concentrator interface", "default": "SPI", "select": [ { "text": "SPI", "value": "SPI" }, { "text": "USB", "value": "USB" } ], "description": "The interface used by the concentrator, can be guessed from Device" }, { "default": "17", "label": "Gateway RESET GPIO", "name": "RESET_GPIO", "description": "GPIO number that resets" }, { "default": "0", "label": "Gateway ENABLE GPIO", "name": "ENABLE_GPIO", "description": "GPIO number that enables power (by pulling HIGH) to the concentrator" }, { "default": "localhost:1883", "label": "MQTT_BROKER", "name": "MQTT_BROKER", "description": "Define the MQTT broker where ChirpStack LNS is listening to (:)" }, { "default": "arm64", "label": "ARCH", "name": "ARCH", "select": [ { "text": "AMD64", "value": "amd64" }, { "text": "ARM64", "value": "arm64" }, { "text": "ARMv7", "value": "armv7hf" } ], "description": "Gateway architecture" }, { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ], "logo": "https://github.com/RAKWireless/portainer-templates/blob/master/logo/chirpstack_logo.png?raw=true", "name": "ChirpStack Concentratord", "platform": "linux", "repository": { "stackfile": "Stack/Concentratord/docker-compose.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "ChirpStack Concentratord", "network": "bridge", "type": 3 }, { "categories": [ "LoRaWAN" ], "description": "The Things Stack LNS establishes a data connection between a LoRa Basics™ Station gateway and a Network Server (in this case, The Things Stack).", "post_up_info": "Point your browser to the first local IP of the device or to the domain name (if you have defined one) using HTTPS to access the web interface.\nDefault username: admin\nDefault password: changeme\nCheck https://github.com/xoseperez/the-things-stack-docker for more details.", "note": "Point your browser to the first local IP of the device or to the domain name (if you have defined one) using HTTPS to access the web interface.
  • Default username: admin
  • Default password: changeme
  • Check The Things Stack LoRaWAN Network Server Github repository for more details. ", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "label": "TTS DOMAIN", "name": "TTS_DOMAIN", "description": "set this to the IP or domain name of the host you will be using to access the stack " } ], "logo": "https://github.com/RAKWireless/portainer-templates/blob/master/logo/the_things_stack_logo.jpg?raw=true", "name": "TheThingsStackLNS", "platform": "linux", "repository": { "stackfile": "Stack/TheThingsStackLNS/thethingsstack.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "The Things Stack LNS", "network": "bridge", "type": 3 }, { "categories": [ "Other" ], "description": "Eclipse Mosquitto is an open source implementation of a server for versions 5, 3.1.1, and 3.1 of the MQTT protocol.", "post_up_info": "Check https://hub.docker.com/_/eclipse-mosquitto for Eclipse-Mosquitto Dockerhub quick reference.", "note": "Check Eclipse-Mosquitto Dockerhub quick reference for more details.", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ], "image": "eclipse-mosquitto:2", "logo": "https://github.com/RAKWireless/portainer-templates/blob/master/logo/mosquitto_logo.png?raw=true", "name": "Mosquitto", "platform": "linux", "ports": [ "1883:1883/tcp", "9001:9001/tcp" ], "restart_policy": "unless-stopped", "title": "Eclipse Mosquitto", "type": 1, "volumes": [ { "bind": "mosquitto_data", "container": "/mosquitto/data" }, { "bind": "mosquitto_log", "container": "/mosquitto/log" } ], "network": "bridge" }, { "categories": [ "Data visulization" ], "description": "Grafana is a multi-platform open source analytics and interactive visualization web application.", "post_up_info": "Browse to http://{host-ip}:3000 to access the web interface.\nDefault username: admin\nDefault password: admin\nCheck https://grafana.com/docs/grafana/latest/installation/docker/ for quick reference of running Grafana Docker image.", "note": "Browse to http://{host-ip}:3000 to access the web interface.
  • Default username: admin
  • Default password: admin
  • Check Run Grafana Docker image quick reference for more details.", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "default": "grafana-clock-panel,grafana-simple-json-datasource", "label": "Grafana plugins", "name": "GF_INSTALL_PLUGINS", "description": "Pass the plugins you want installed to Docker with the GF_INSTALL_PLUGINS environment variable as a comma-separated list. " } ], "image": "grafana/grafana-enterprise:8.4.4", "logo": "https://github.com/RAKWireless/portainer-templates/blob/master/logo/grafana_logo.png?raw=true", "name": "Grafana", "platform": "linux", "ports": [ "3000:3000/tcp" ], "restart_policy": "unless-stopped", "title": "Grafana", "type": 1, "volumes": [ { "bind": "grafana-storage", "container": "/var/lib/grafana" } ], "network": "bridge" }, { "categories": [ "Database" ], "description": "InfluxDB is a time series database built from the ground up to handle high write and query loads.", "post_up_info": "Check https://hub.docker.com/_/influxdb for InfluxDB Dockerhub quick reference.", "note": "Check InfluxDB Dockerhub quick reference for more details.", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "name": "DOCKER_INFLUXDB_INIT_MODE", "label": "Influx initial mode", "default": "setup", "description": "Set DOCKER_INFLUXDB_INIT_MODE to setup enables the InfluxDB image to automatically bootstrap the system." }, { "name": "DOCKER_INFLUXDB_INIT_USERNAME", "label": "Influx initial username", "default": "Required", "description": "The username to set for the system's initial super-user (Required)." }, { "name": "DOCKER_INFLUXDB_INIT_PASSWORD", "label": "Influx initial password", "default": "changeme", "description": "The password to set for the system's inital super-user (Required,at least 8 characters)." }, { "name": "DOCKER_INFLUXDB_INIT_ORG", "label": "Influx initial organization", "default": "Required", "description": "The name to set for the system's initial organization (Required)." }, { "name": "DOCKER_INFLUXDB_INIT_BUCKET", "label": "Influx initial bucket", "default": "Required", "description": "The name to set for the system's initial bucket (Required)." }, { "name": "DOCKER_INFLUXDB_INIT_RETENTION", "label": "Influx initial bucket retain data duration", "description": "Optional. E.g. 1w means tetain te data for 1 week. If not set, the initial bucket will retain data forever." }, { "name": "DOCKER_INFLUXDB_INIT_ADMIN_TOKEN", "label": "initial super-user's authentication token to associate with the system's ", "description": "Optional. The authentication token to associate with the system's initial super-user. If not set, a token will be auto-generated by the system." } ], "image": "influxdb:1.8", "logo": "https://influxdata.github.io/branding/img/downloads/influxdata-logo--symbol--pool.svg", "name": "InfluxDB", "platform": "linux", "ports": [ "8086:8086/tcp" ], "restart_policy": "unless-stopped", "title": "InfluxDB", "type": 1, "volumes": [ { "bind": "/influxdb2/data", "container": "/var/lib/influxdb2" }, { "bind": "/influxdb2/config", "container": "/etc/influxdb2" } ], "network": "bridge" }, { "categories": [ "Data Collection" ], "description": "Telegraf is an agent for collecting metrics and writing them to InfluxDB or other outputs.", "post_up_info": "The default configuration requires a running InfluxDB instance as an output plugin.\nEnsure that InfluxDB is running on port 8086 before starting the Telegraf container.\nBrowse to https://hub.docker.com/_/telegraf for Telegraf dockerhub quick reference.", "note": "The default configuration requires a running InfluxDB instance as an output plugin.
  • Ensure that InfluxDB is running on port 8086 before starting the Telegraf container.
  • Browse to Telegraf dockerhub quick reference for more details.
  • ", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "default": "/hostfs", "label": "HOST_MOUNT_PREFIX", "name": "HOST_MOUNT_PREFIX" }, { "default": "/hostfs/etc", "label": "HOST_ETC", "name": "HOST_ETC" }, { "default": "/hostfs/proc", "label": "HOST_PROC", "name": "HOST_PROC" }, { "default": "/hostfs/sys", "label": "HOST_SYS", "name": "HOST_SYS" } ], "logo": "https://github.com/RAKWireless/portainer-templates/blob/master/logo/telegraf_logo.png?raw=true", "name": "Telegraf", "platform": "linux", "restart_policy": "unless-stopped", "title": "Telegraf", "type": 3, "repository": { "stackfile": "Stack/Telegraf/telegraf.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "network": "bridge" }, { "categories": [ "Data visulization" ], "description": "ThingsBoard allows you to create rich IoT Dashboards for data visualization and remote device control in real-time", "post_up_info": "Browse to http://{host-ip}:9090 to access the web interface.\nSystem Administrator: sysadmin@thingsboard.org / sysadmin\nTenant Administrator: tenant@thingsboard.org\ntenant\nCustomer User: customer@thingsboard.org / customer\nThis template uses In Memory queue service, for other queue services, please check https://thingsboard.io/docs/user-guide/install/docker/ for references of installing ThingsBoard using Docker.", "note": "Browse to http://{host-ip}:8080 to access the web interface.
  • System Administrator: sysadmin@thingsboard.org / sysadmin
  • Tenant Administrator: tenant@thingsboard.org / tenant
  • Customer User: customer@thingsboard.org / customer
  • This template uses In Memory queue service, for other queue services, please check Installing ThingsBoard using Docker for more details.", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "name": "TB_QUEUE_TYPE", "label": "ThingsBoard queue service", "default": "in-memory", "description": "ThingsBoard uses various messaging systems/brokers for storing the messages and communication between ThingsBoard services. Check https://thingsboard.io/docs/user-guide/install/docker/?ubuntuThingsboardQueue=inmemory for more details" } ], "image": "thingsboard/tb-postgres:3.3.4", "logo": "https://github.com/RAKWireless/portainer-templates/blob/master/logo/thingsboard_logo.jpg?raw=true", "name": "ThingsBoard", "platform": "linux", "title": "ThingsBoard", "network": "bridge", "ports": [ "9090:9090/tcp", "2883:1883/tcp", "7070:7070/tcp", "5683:5683/udp", "5684:5684/udp", "5685:5685/udp", "5686:5686/udp", "5687:5687/udp", "5688:5688/udp" ], "volumes": [ { "auto": "~/.mytb-data", "container": "/data" }, { "auto": "~/.mytb-logs", "container": "/var/log/thingsboard" } ], "restart_policy": "unless-stopped", "type": 1 }, { "categories": [ "Database" ], "description": "TimescaleDB is a an open-source time-series database optimized for fast ingest and complex queries.", "post_up_info": "Please check https://github.com/timescale/timescaledb-docker for more details", "note": "Please check TimescaleDB docker Github repository for more details", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "name": "POSTGRES_PASSWORD", "label": "Postgres Password", "default": "changeme", "description": "Password for Postgres" }, { "name": "TIMESCALEDB_TELEMETRY", "label": "TimescaleDB telemetry", "default": "off", "description": "Set TimescaleDB telemetry to off to turn off telemetry, only works for if the cluster has not been initialized previously " }, { "name": "timescaledb-tune", "label": "TimescaleDB max number of connections", "default": "true", "select": [ { "text": "true", "value": "true" }, { "text": "false", "value": "false" } ], "description": "Limiting the amount of resources the container can have on the host. If select ture, please update the following timescaledb-tune variables." }, { "name": "TS_TUNE_MEMORY", "label": "TimescaleDB memory limitation", "description": "Optional. E.g. 2GB." }, { "name": "TS_TUNE_NUM_CPUS", "label": "TimescaleDB CPUs", "description": "Optional. E.g. 4." }, { "name": "TS_TUNE_MAX_BG_WORKERS", "label": "TimescaleDB max background workers", "description": "Optional. Specifize a maximum number of background workers." }, { "name": "TS_TUNE_MAX_CONNS", "label": "TimescaleDB max number of connections", "description": "Optional. Specifize a maximum number of connections." } ], "image": "timescale/timescaledb:2.6.0-pg12", "logo": "https://github.com/RAKWireless/portainer-templates/blob/master/logo/timescale_logo.png?raw=true", "name": "TimeScaledb", "platform": "linux", "ports": [ "5432:5432/tcp" ], "restart_policy": "unless-stopped", "title": "TimescaleDB", "type": 1, "network": "bridge", "volumes": [ { "bind": "/timescaledb/db-data", "container": "/var/lib/postgresql/data" } ] }, { "categories": [ "Other" ], "description": "NATS is a simple, secure and performant communications system for digital systems, services and devices.", "post_up_info": "To test the monitoring endpoint, browse to http://{host-ip}:8222\nPlease check https://docs.nats.io/running-a-nats-service/nats_docker/nats-docker-tutorial for NATS docker tutorial.", "note": "To test the monitoring endpoint, browse to http://{host-ip}:8222.
    Please check NATS docker tutorial for more details.", "image": "nats", "interactive": true, "command": "--http_port 8222", "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/nats_logo.jpg", "name": "NATS", "platform": "linux", "ports": [ "4222:4222/tcp", "8222:8222/tcp" ], "restart_policy": "unless-stopped", "title": "NATS Server", "type": 1, "network": "bridge", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ] }, { "categories": [ "Other" ], "description": "A tiny Docker image of iperf3 based on Alpine Linux for Network Performance and Bandwidth Testing.", "post_up_info": "The template runs as an iperf3 server by default.\nRun an iperf3 client with the following command in terminal:docker run --rm -t taoyou/iperf3-alpine:latest -c {server address}\nBrowse to https://hub.docker.com/r/taoyou/iperf3-alpine for dockerhub quick reference.", "note": "The template runs as an iperf3 server by default.
    Run an iperf3 client with the following command in terminal:docker run --rm -t taoyou/iperf3-alpine:latest -c {server address}
    Browse to iperf3-alpine dockerhub quick reference for more details.", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "default": "-s", "label": "Iperf command to run in the container", "name": "command", "description": "Set to server mode by default, you can pass any parameters for the server here" }, { "default": "5201", "label": "port", "name": "port", "description": "Server port that the container exposed for the server to listen on." } ], "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/iperf3_logo.png", "name": "Iperf3-Server", "platform": "linux", "repository": { "stackfile": "Stack/Iperf3-Server/iperf3.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "iperf3-server", "type": 3 }, { "categories": [ "Other" ], "description": "TagoCore is a free, fast, and open-source IoT platform for edge computing.", "post_up_info": "Browse to http://{host-ip}:8080 to access the web interface.\nPlease check https://tagocore.com/docs/ for more details about TagoCore.", "note": "Browse to http://{host-ip}:8080 to access the web interface.
    Please check TagoCore introduction page for more information.", "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/tagocore_logo.png", "name": "TagoCore", "platform": "linux", "restart_policy": "unless-stopped", "title": "TagoCore", "type": 3, "repository": { "stackfile": "Stack/TagoCore/tagocore.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "network": "bridge", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ] }, { "categories": [ "Ad Blockers" ], "description": "AdGuard Home is a network-wide software for blocking ads & tracking.", "post_up_info": "Browse to http://{host-ip}:3000 to access the web interface.\nPlease check https://hub.docker.com/r/adguard/adguardhome for AdGuard Home Docker introduction page.", "note": "Browse to http://{host-ip}:3000 to access the web interface.
    Please check AdGuard Home Docker introduction page for more information.", "image": "adguard/adguardhome", "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/adguardhome_logo.png", "name": "AdguardHome", "platform": "linux", "ports": [ "53:53/tcp", "53:53/udp", "80:80/tcp", "3000:3000/tcp" ], "restart_policy": "unless-stopped", "title": "AdGuard Home", "type": 1, "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ], "volumes": [ { "bind": "/opt/adguardhome/work", "container": "/opt/adguardhome/work" }, { "bind": "/opt/adguardhome/conf", "container": "/opt/adguardhome/conf" } ] }, { "categories": [ "Home Automation" ], "description": "Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.", "post_up_info": "Browse to http://{host-ip}:8123 to access the web interface.\nCheck https://www.home-assistant.io/installation/linux#install-home-assistant-container for the Home Assistant container documentation.\nPath to Home Assistant's configuration on the host is: /etc/homeassistant/config.", "note": "Browse to http://{host-ip}:8123 to access the web interface.
    Check Home Assistant container documentation for more details.
    Path to Home Assistant's configuration on the host is: /etc/homeassistant/config.", "type": 1, "title": "Homeassistant", "name": "Homeassistant", "platform": "linux", "logo": "https://github.com/home-assistant/home-assistant.io/raw/next/source/images/favicon-192x192-full.png", "image": "ghcr.io/home-assistant/home-assistant:stable", "network": "host", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ], "ports": [ "8123:8123/tcp" ], "volumes": [ { "bind": "/etc/homeassistant/config", "container": "/config" }, { "bind": "/etc/localtime", "container": "/etc/localtime" } ], "restart_policy": "unless-stopped" }, { "categories": [ "Ad Blockers" ], "description": "A DNS sinkhole that protects your devices from unwanted content without installing any client-side software", "post_up_info": "Browse to http://{host-ip}/admin/ to access the web interface.\nCheck https://github.com/pi-hole/docker-pi-hole for Docker Pi-hole quick start guide.\nThe default web password is changeme", "note": "Browse to http://{host-ip}/admin/ to access the web interface.
    Check Docker Pi-hole quick start guide for more details.
    The default web password is changeme", "image": "pihole/pihole:latest", "logo": "https://upload.wikimedia.org/wikipedia/commons/0/00/Pi-hole_Logo.png", "name": "PiHole", "platform": "linux", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "default": "changeme", "label": "Web password", "name": "WEBPASSWORD" } ], "ports": [ "53:53/tcp", "53:53/udp", "80:80/tcp" ], "restart_policy": "unless-stopped", "title": "Pi-Hole", "type": 1, "volumes": [ { "bind": "/etc/pihole", "container": "/etc/pihole" }, { "bind": "/etc/dnsmasq.d", "container": "/etc/dnsmasq.d" } ] }, { "categories": [ "Other" ], "description": "OpenPLC is an open-source Programmable Logic Controller that is based on an easy to use software.", "post_up_info": "Browse to http://{host-ip}/:8080 to access the web interface.\nCheck https://openplcproject.com/docs/openplc-overview/ for Open PLC official documentations.\nDefault username: openplc\nDefault password: openplc", "note": "Browse to http://{host-ip}:8080 to access the web interface.
    Check Open PLC official documentations for more details.
  • Default username: openplc
  • Default password: openplc
  • ", "image": "sheng2216/open_plc:tiny", "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/open_plc_logo.png", "name": "OpenPLC", "network": "bridge", "platform": "linux", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ], "ports": [ "8080:8080/tcp" ], "restart_policy": "unless-stopped", "title": "Open-PLC", "type": 1 }, { "categories": [ "File Browser" ], "description": "File Browser is a create-your-own-cloud-kind of software where you can install it on a server, direct it to a path and then access your files through a nice web interface.", "post_up_info": "Browse to http://{host-ip}:8080 to access the web interface.\nDeafault username: admin\nDefault password: admin", "note": "Browse to http://{host-ip}:8080 to access the web interface.
  • Default username: admin
  • Default password: admin
  • ", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "/opt/filebrowser/root", "label": "ROOT_PATH", "name": "ROOT_PATH", "description": "Specifies your file root path." }, { "default": "/opt/filebrowser/config", "label": "CONFIG_PATH", "name": "CONFIG_PATH", "description": "Specifies your configuration file path." }, { "default": "/opt/filebrowser/database", "label": "DATABASE_PATH", "name": "DATABASE_PATH", "description": "Specifies your databse path." } ], "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/filebrowser_logo.png", "name": "filebrowser", "platform": "linux", "repository": { "stackfile": "Stack/FileBrowser/filebrowser.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "File Browser", "type": 3 }, { "categories": [ "Other" ], "description": "Gitea is a community managed lightweight code hosting solution written in Go.", "post_up_info": "Visit http://{host-ip}:3000 and follow the installation wizard.\nChange the Server domain to {host-ip}\nChange the SSH Server Port to 222\nChange the Gitea Base URL to http://{host-ip}:3000/", "note": "Visit http://{host-ip}:3000 and follow the installation wizard.
    Change the Server domain to {host-ip}
    Change the SSH Server Port to 222
    Change the Gitea Base URL to http://{host-ip}:3000/", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "/opt/gitea/data", "label": "GITEA_DATA_PATH", "name": "FILE_ROOT_PATH", "description": "Specifies your gitea data path." }, { "default": "/opt/postgres/data", "label": "POSTGRES_DATA_PATH", "name": "POSTGRES_DATA_PATH", "description": "Specifies your postgres data path." } ], "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/gitea_logo.png", "name": "gitea", "platform": "linux", "repository": { "stackfile": "Stack/Gitea/gitea.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "Gitea", "type": 3 }, { "categories": [ "Other" ], "description": "Docker Registry is a stateless, highly scalable server side application that stores and lets you distribute Docker images.", "post_up_info": "Quick reference:\n1. Pull(or build some image from the hub, e.g., ubuntu)\ndocker pull ubuntu\n2. Tag the image so that it points to your registry\ndocker image tag ubuntu localhost:5000/myfirstimage\n3. Push it\ndocker push localhost:5000/myfirstimage\n4. Pull it back\n docker pull localhost:5000/myfirstimage ", "note": "Check Docker Registry dockerhub overview page for more details.
    Read the section regarding deployment to see more complex use cases.", "image": "registry:latest", "logo": "https://www.docker.com/wp-content/uploads/2022/03/vertical-logo-monochromatic.png", "name": "Registry", "title": "Registry", "hostname": "registry", "platform": "linux", "restart_policy": "unless-stopped", "type": 1, "network": "host", "privileged": true, "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ], "ports": [ "5000:5000" ] }, { "categories": [ "Database" ], "description": "Azure SQL Edge is an optimized relational database engine geared for IoT and IoT Edge deployments. It provides capabilities to create a high-performance data storage and processing layer for IoT applications and solutions.", "post_up_info": "Quick reference:\nPlease check https://learn.microsoft.com/en-us/azure/azure-sql-edge/disconnected-deployment for detailed instructions.\nMake sure you changed the SA password afte deployment.", "note": "Check the instructions Deploy Azure SQL Edge with Docker for more details.
    Make sure you changed the SA password afte deployment.", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "default": "Y", "label": "Accept the End-User Licensing Agreement", "name": "ACCEPT_EULA", "description": "Set the ACCEPT_EULA variable to any value to confirm your acceptance of the End-User Licensing Agreement. Required setting for the Azure SQL Edge image." }, { "default": "yourStrong(!)Password", "label": "Initial strong password for SQL SA account.", "name": "MSSQL_SA_PASSWORD", "description": "Strong password that is at least 8 characters and meets the Azure SQL Edge password requirements, you need to change it manually after deployment." } ], "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/azuresqledge_logo.png", "name": "AzureSqlEdge", "platform": "linux", "repository": { "stackfile": "Stack/AzureSQLEdge/azuresqledge.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "Azure SQL Edge", "type": 3 }, { "categories": [ "Other" ], "description": "AWS IoT Greengrass is an open-source edge runtime and cloud service that helps you build, deploy, and manage intelligent device software.", "post_up_info": "Please mount the folder that contains your AWS security credentials by filling in the AWS credentials path section.\nYou can remove the credential file from the host computer after you start the AWS IoT Greengrass container.\nCheck https://docs.aws.amazon.com/greengrass/v2/developerguide/run-greengrass-docker-automatic-provisioning.html#configure-aws-credentials-for-docker for the AWS IoT Greengrass Developer Guide.\nFor more information, check the official Github repository at https://github.com/aws-greengrass/aws-greengrass-docker.", "note": "Please mount the folder that contains your AWS security credentials by filling in the AWS credentials path section.
    You can remove the credential file from the host computer after you start the AWS IoT Greengrass container.
    Check AWS IoT Greengrass Developer Guide.
    For more information, check official Github repository.", "logo": "https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_60,h_60/https://dashboard.snapcraft.io/site_media/appmedia/2020/05/AWS-IoT-Greengrass4x.png", "name": "AWSIoTGreengrass", "title": "AWS IoTG Greengrass", "network": "bridge", "platform": "linux", "type": 3, "restart_policy": "unless-stopped", "repository": { "stackfile": "Stack/AWSIoTGreengrass/awsiotgreengrass.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" }, { "default": "/tmp/greengrass-v2-credentials", "label": "AWS credentials path", "name": "AWS_CREDENTIALS_PATH", "description": "Geerated at your AWS console. When you run the Docker image, you must mount the folder that contains this credential file to /root/.aws/ in the Docker container." }, { "default": "/greengrass/v2", "label": "GGC_ROOT_PATH", "name": "GGC_ROOT_PATH", "description": "The Greengrass root folder that you want to use for installation." }, { "default": "us-east-1", "label": "AWS_REGION", "name": "AWS_REGION", "description": "The AWS Region where you created the resources." }, { "default": "true", "select": [ { "text": "true", "value": "true" }, { "text": "false", "value": "false" } ], "label": "PROVISION", "name": "PROVISION" }, { "default": "MyGreengrassCore", "label": "THING_NAME", "name": "THING_NAME" }, { "default": "MyGreengrassCoreGroup", "label": "THING_GROUP_NAME", "name": "THING_GROUP_NAME" }, { "default": "GreengrassV2TokenExchangeRole", "label": "TES_ROLE_NAME", "name": "TES_ROLE_NAME" }, { "default": "GreengrassCoreTokenExchangeRoleAlias", "label": "TES_ROLE_ALIAS_NAME", "name": "TES_ROLE_ALIAS_NAME" }, { "default": "ggc_user:ggc_group", "label": "COMPONENT_DEFAULT_USER", "name": "COMPONENT_DEFAULT_USER" } ] }, { "categories": [ "Backup" ], "description": "Free backup software to store encrypted backups online", "env": [ { "default": "/etc/duplicati/config", "label": "CONFIG", "name": "CONFIG", "description": "Contains all relevant configuration files." }, { "default": "/opt/duplicati/source", "label": "SOURCE", "name": "SOURCE", "description": "Path to source for files to backup." }, { "default": "/opt/duplicati/backups", "label": "BACKUPS", "name": "BACKUPS", "description": "Path to store local backups." } ], "logo": "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/logo/duplicati_logo.png", "name": "Duplicati", "platform": "linux", "restart_policy": "unless-stopped", "title": "Duplicati", "repository": { "stackfile": "Stack/Duplicati/duplicati.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "type": 3, "network": "bridge", "note": "Browse to http://{host-ip}:8200 to access the web interface. For more information, refere to the official documentation at https://hub.docker.com/r/linuxserver/duplicati.", "post_up_info": "Browse to http://{host-ip}:8200 to access the web interface.
    For more information, refer to the official documentation available at https://hub.docker.com/r/linuxserver/duplicati." }, { "categories": [ "Database" ], "description": "MongoDB is a document-oriented NoSQL database used for high volume data storage.", "post_up_info": "Browse to http://{host-ip}:8081 to access the mongo-express web interface.\nFor more information, refere to the official documentation at https://hub.docker.com/_/mongo", "note": "Browse to http://{host-ip}:8081 to access the mongo-express web interface.
    For more information, refere to the official documentation at https://hub.docker.com/_/mongo", "env": [ { "default": "root", "label": "MONGO_INITDB_ROOT_USERNAME", "name": "MONGO_INITDB_ROOT_USERNAME", "description": "specify the root username of mongo init database" }, { "default": "changeme", "label": "MONGO_INITDB_ROOT_PASSWORD", "name": "MONGO_INITDB_ROOT_PASSWORD", "description": "specify the root password of mongo init database" } ], "logo": "https://github.com/RAKWireless/portainer-templates/raw/master/logo/MongoDB_logo.png", "name": "mongodb", "platform": "linux", "repository": { "stackfile": "Stack/MongoDB/mongodb.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "MongoDB", "restart_policy": "unless-stopped", "type": 3 }, { "categories": [ "Other" ], "description": "an OPC UA server instance based on a XML nodeset schema file uploaded to it online", "post_up_info": "Browse to http://{host-ip}:8080 to access the web based GUI. For more information, refere to the official documentation at https://hub.docker.com/r/hilschernetpi/netpi-opcua-server.", "note": "Browse to http://{host-ip}:8080 to access the web based GUI.
    For more information, refere to the official documentation at https://hub.docker.com/r/hilschernetpi/netpi-opcua-server", "logo": "https://github.com/RAKWireless/portainer-templates/raw/master/logo/opc_logo.png", "name": "opcua-server", "platform": "linux", "restart_policy": "unless-stopped", "repository": { "stackfile": "Stack/OPCUA-Server/opcua-server.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "OPC-UA Server", "type": 3 }, { "categories": [ "Broker" ], "description": "RabbitMQ is open source message broker software that implements the Advanced Message Queuing Protocol (AMQP). ", "post_up_info": "Browse to http://{host-ip}:15672 to access the rabbitmq-management web interface. For more information, refere to the official documentation at https://hub.docker.com/_/rabbitmq \nDeafault username: admin\nDefault password: changeme", "note": "Browse to http://{host-ip}:15672 to access the rabbitmq-management web interface.
    For more information, refere to the official documentation at https://hub.docker.com/_/rabbitmq
  • Default username: admin
  • Default password: changeme
  • ", "env": [ { "default": "admin", "label": "RABBITMQ_DEFAULT_USER", "name": "RABBITMQ_DEFAULT_USER", "description": "specify the default username of rabbitmq" }, { "default": "changeme", "label": "RABBITMQ_DEFAULT_PASS", "name": "RABBITMQ_DEFAULT_PASS", "description": "specify the default password of rabbitmq" } ], "logo": "https://github.com/RAKWireless/portainer-templates/raw/master/logo/RabbitMQ_logo.png", "name": "rabbitmq", "platform": "linux", "restart_policy": "unless-stopped", "repository": { "stackfile": "Stack/RabbitMQ/rabbitmq.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "RabbitMQ", "type": 3 }, { "categories": [ "Industrial Automation" ], "description": "Rapid SCADA is an open source industrial automation platform. The out of the box software provides tools for rapid creation of monitoring and control systems.", "post_up_info": "Browse to http://{host-ip}/scada to access the RapidScada web interface.\nDefault uasername: admin\nDefault password: 123456\nFor more information, refere to the official documentation at https://www.codeguru.com/dotnet/asp-net-docker/", "note": "Browse to http://{host-ip}/scada to access the RapidScada web interface.
  • Default username: admin
  • Default password: 12345
  • For more information, refere to the official documentation at https://www.codeguru.com/dotnet/asp-net-docker/", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ], "logo": "https://github.com/RAKWireless/portainer-templates/raw/master/logo/RapidScada_logo.png", "name": "rapidscada", "platform": "linux", "repository": { "stackfile": "Stack/RapidScada/rapidscada.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "title": "RapidScada", "restart_policy": "unless-stopped", "type": 3 }, { "categories": [ "Other" ], "description": "MotionEye is a web-based frontend for Motion, which monitors video signals from various cameras.", "post_up_info": "Browse to http://{host-ip}:8765/ to access the fronted.\nDefault uasername: admin\nNo password by default.\nCheck https://github.com/motioneye-project/motioneye/wiki for more information", "note": "Browse to http://{host-ip}:8765 to access the fronted.
  • Default username: admin
  • No default password
  • Check motioneye wiki for more information", "name": "MotionEye", "title": "MotionEye", "image": "ccrisan/motioneye:master-armhf", "logo": "https://raw.githubusercontent.com/motioneye-project/motioneye/python2/motioneye/static/img/motioneye-icon.svg", "env": [ { "default": "1000", "label": "PUID", "name": "PUID" }, { "default": "100", "label": "PGID", "name": "PGID" }, { "default": "Europe/London", "label": "Time Zone", "name": "TZ" } ], "type": 1, "platform": "linux", "restart_policy": "unless-stopped", "volumes": [ { "bind": "/etc/localtime", "container": "/etc/localtime:ro" }, { "bind": "/var/lib/motioneye", "container": "/var/lib/motioneye" }, { "bind": "/etc/motioneye", "container": "/etc/motioneye" } ], "ports": [ "8765:8765/tcp", "8781:8781/tcp" ] }, { "categories": [ "VPN" ], "description": "ZeroTier lets you build modern, secure multi-point virtualized networks of almost any type.", "env": [ { "label": "JOIN_NETWORKS", "name": "ZEROTIER_JOIN_NETWORKS", "description":"the network id that you want to join(required)" }, { "label": "API_SECRET", "name": "ZEROTIER_API_SECRET", "description":"authtoken used to interact with the control socket(optional)" }, { "label": "IDENTITY_PUBLIC", "name": "ZEROTIER_IDENTITY_PUBLIC", "description":"zero identity public(optional)" }, { "label": "IDENTITY_SECRET", "name": "ZEROTIER_IDENTITY_SECRET", "description":"zero identity sercret(optional)" } ], "image": "zerotier/zerotier:1.10.6", "logo": "https://github.com/RAKWireless/portainer-templates/raw/master/logo/ZeroTierIcon.png", "name": "ZeroTier", "platform": "linux", "restart_policy": "unless-stopped", "title": "ZeroTier One", "type": 1, "network": "host", "privileged": true, "note":"Check ZeroIter in Docker Hub for more details." }, { "categories": [ "VPN" ], "description": "SSHNoPorts lets you SSH into your machine without having any open port", "env": [ { "label": "DEVICE_ATSIGN", "name": "DEVICE_ATSIGN", "description":"the network id that you want to join(required)" }, { "label": "CLIENT_ATSIGN", "name": "CLIENT_ATSIGN", "description":"authtoken used to interact with the control socket(optional)" }, { "label": "DEVICE_NAME", "name": "DEVICE_NAME", "description":"zero identity public(optional)" } ], "repository": { "stackfile": "Stack/SSHNoPorts/docker-compose.yml", "url": "https://github.com/RAKWireless/portainer-templates" }, "logo": "https://github.com/RAKWireless/portainer-templates/raw/master/logo/atsign.png", "name": "sshnoports", "platform": "linux", "restart_policy": "unless-stopped", "title": "SSH No Ports", "type": 3, "note":"Check SSH No Ports guide for more details." } ] }