Get Stock Quote from Yahoo using Node-RED

[
    {
        "id": "d5d3c55c.ff8808",
        "type": "debug",
        "z": "3b163621.c03b8a",
        "name": "",
        "active": true,
        "console": "false",
        "complete": "false",
        "x": 930,
        "y": 180,
        "wires": []
    },
    {
        "id": "39834827.c17818",
        "type": "http request",
        "z": "3b163621.c03b8a",
        "name": "Yahoo Stock",
        "method": "GET",
        "ret": "txt",
        "url": "http://download.finance.yahoo.com/d/quotes.csv?s=^IXIC&f=nsl1opc1p2&e=.csv",
        "tls": "",
        "x": 510,
        "y": 180,
        "wires": [
            [
                "247647e3.b30f88",
                "5db14531.5fb30c"
            ]
        ]
    },
    {
        "id": "5aba260a.74be08",
        "type": "inject",
        "z": "3b163621.c03b8a",
        "name": "Click me to request a stock quote...",
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "repeat": "",
        "crontab": "",
        "once": true,
        "x": 210,
        "y": 180,
        "wires": [
            [
                "39834827.c17818"
            ]
        ]
    },
    {
        "id": "247647e3.b30f88",
        "type": "csv",
        "z": "3b163621.c03b8a",
        "name": "Columns",
        "sep": ",",
        "hdrin": "",
        "hdrout": "",
        "multi": "one",
        "ret": "\\n",
        "temp": "1,2,3,4,5,6,7",
        "x": 720,
        "y": 180,
        "wires": [
            [
                "d5d3c55c.ff8808"
            ]
        ]
    },
    {
        "id": "2f5e310b.99ce8e",
        "type": "comment",
        "z": "3b163621.c03b8a",
        "name": "Readme...",
        "info": "Reference for requesting stock quote...\nhttps://support.klipfolio.com/hc/en-us/articles/215546368-Use-Yahoo-Finance-as-a-data-source-\n\nTo play around, you may be able to change the \nURL in the node that says Yahoo Stock to \nthe URL of your Restful API?\n\nAnyway, aside from that, if you click on the \nlittle square box to the RHS of the node that\nsays \"Click me to request a stock quote...\"\nthat will inject a new timestamp and make a new\nrequest\n\nThere are two outputs.  Check the Debug tab to see them\n\n1 - The raw csv from Yahoo\n2 - The CSV converted to JSON\n\nGood luck!",
        "x": 100,
        "y": 100,
        "wires": []
    },
    {
        "id": "5db14531.5fb30c",
        "type": "debug",
        "z": "3b163621.c03b8a",
        "name": "",
        "active": true,
        "console": "false",
        "complete": "false",
        "x": 730,
        "y": 260,
        "wires": []
    }
]

Install Docker and Compose on Debian 9 Stretch

#!/bin/bash

apt-get update

apt-get install -y \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg2 \
  software-properties-common

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/debian \
  $(lsb_release -cs) \
  stable"

apt-get update

apt-get install -y \
  docker-ce \
  docker-compose

If you plan on using the –memory flag when creating containers, you may need to enable memory and swap accounting in the Kernel.

  1. Log into the Debian host as a user with sudo privileges.
  2. Edit the /etc/default/grub file. Add or edit the GRUB_CMDLINE_LINUX line to add the following two key-value pairs:
    GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
  3. Save and close the file.
  4. Update GRUB.
    $ sudo update-grub

    If your GRUB configuration file has incorrect syntax, an error occurs. In this case, repeat steps 3 and 4.

    The changes take effect when the system is rebooted.

More detailed information can be found in the Docker Post-Installation Steps for Linux.