diff --git a/machine/AVAILABLE_DRIVER_PLUGINS.md b/machine/AVAILABLE_DRIVER_PLUGINS.md
index 3e870e1038..b4d59b26fb 100644
--- a/machine/AVAILABLE_DRIVER_PLUGINS.md
+++ b/machine/AVAILABLE_DRIVER_PLUGINS.md
@@ -221,6 +221,18 @@ with Docker Inc. Use 3rd party plugins at your own risk.
"mailto:daniel.hiltgen@docker.com">daniel.hiltgen@docker.com
+
+ Linode |
+
+ https://github.com/linode/docker-machine-driver-linode
+ |
+
+ Linode
+ |
+
+ developers@linode.com
+ |
+
NTT Communications Enterprise Cloud |
diff --git a/machine/drivers/index.md b/machine/drivers/index.md
index 6d9bdd41f8..bb0b6a686a 100644
--- a/machine/drivers/index.md
+++ b/machine/drivers/index.md
@@ -9,7 +9,7 @@ title: Machine drivers
- [Digital Ocean](digital-ocean.md)
- [Exoscale](exoscale.md)
- [Google Compute Engine](gce.md)
-- [Generic](generic.md)
+- [Linode](linode.md) (unofficial plugin, not supported by Docker)
- [Microsoft Hyper-V](hyper-v.md)
- [OpenStack](openstack.md)
- [Rackspace](rackspace.md)
diff --git a/machine/drivers/linode.md b/machine/drivers/linode.md
new file mode 100644
index 0000000000..89da6ae403
--- /dev/null
+++ b/machine/drivers/linode.md
@@ -0,0 +1,61 @@
+---
+description: Linode driver for machine
+keywords: machine, Linode, driver
+title: Linode
+---
+
+Create machines on [Linode](https://www.linode.com).
+
+### Credentials
+
+You will need a Linode APIv4 Personal Access Token. Get one here: .
+Supply the token to `docker-machine create -d linode` with `--linode-token`.
+
+### Install
+
+`docker-machine` is required, [see the installation documentation](https://docs.docker.com/machine/install-machine/).
+
+Then, install the latest release of the Linode machine driver for your environment from the [releases list](https://github.com/linode/docker-machine-driver-linode/releases).
+
+### Usage
+
+```bash
+docker-machine create -d linode --linode-token= linode
+```
+
+See the [Linode Docker machine driver project page](https://github.com/linode/docker-machine-driver-linode) for more examples.
+
+#### Options, Environment Variables, and Defaults
+
+| Argument | Env | Default | Description
+| --- | --- | --- | ---
+| `linode-token` | `LINODE_TOKEN` | None | **required** Linode APIv4 Token (see [here](https://developers.linode.com/api/v4#section/Personal-Access-Token))
+| `linode-root-pass` | `LINODE_ROOT_PASSWORD` | *generated* | The Linode Instance `root_pass` (password assigned to the `root` account)
+| `linode-authorized-users` | `LINODE_AUTHORIZED_USERS` | None | Linode user accounts (separated by commas) whose Linode SSH keys will be permitted root access to the created node
+| `linode-label` | `LINODE_LABEL` | *generated* | The Linode Instance `label`, unless overridden this will match the docker-machine name. This `label` must be unique on the account.
+| `linode-region` | `LINODE_REGION` | `us-east` | The Linode Instance `region` (see [here](https://api.linode.com/v4/regions))
+| `linode-instance-type` | `LINODE_INSTANCE_TYPE` | `g6-standard-4` | The Linode Instance `type` (see [here](https://api.linode.com/v4/linode/types))
+| `linode-image` | `LINODE_IMAGE` | `linode/ubuntu18.04` | The Linode Instance `image` which provides the Linux distribution (see [here](https://api.linode.com/v4/images)).
+| `linode-ssh-port` | `LINODE_SSH_PORT` | `22` | The port that SSH is running on, needed for Docker Machine to provision the Linode.
+| `linode-ssh-user` | `LINODE_SSH_USER` | `root` | The user as which docker-machine should log in to the Linode instance to install Docker. This user must have passwordless sudo.
+| `linode-docker-port` | `LINODE_DOCKER_PORT` | `2376` | The TCP port of the Linode that Docker will be listening on
+| `linode-swap-size` | `LINODE_SWAP_SIZE` | `512` | The amount of swap space provisioned on the Linode Instance
+| `linode-stackscript` | `LINODE_STACKSCRIPT` | None | Specifies the Linode StackScript to use to create the instance, either by numeric ID, or using the form *username*/*label*.
+| `linode-stackscript-data` | `LINODE_STACKSCRIPT_DATA` | None | A JSON string specifying data that is passed (via UDF) to the selected StackScript.
+| `linode-create-private-ip` | `LINODE_CREATE_PRIVATE_IP` | None | A flag specifying to create private IP for the Linode instance.
+| `linode-tags` | `LINODE_TAGS` | None | A comma separated list of tags to apply to the the Linode resource
+| `linode-ua-prefix` | `LINODE_UA_PREFIX` | None | Prefix the User-Agent in Linode API calls with some 'product/version'
+
+#### Notes
+
+* When using the `linode/containerlinux` `linode-image`, the `linode-ssh-user` will default to `core`
+* A `linode-root-pass` will be generated if not provided. This password will not be shown. Rely on `docker-machine ssh` or [Linode's Rescue features](https://www.linode.com/docs/quick-answers/linode-platform/reset-the-root-password-on-your-linode/) to access the node directly.
+
+#### Debugging
+
+Detailed run output will be emitted when using the LinodeGo `LINODE_DEBUG=1` option along with the `docker-machine` `--debug` option.
+
+```bash
+LINODE_DEBUG=1 docker-machine --debug create -d linode --linode-token=$LINODE_TOKEN machinename
+```
+
|