{"id":13657860,"url":"https://github.com/scaleway/docker-machine-driver-scaleway","last_synced_at":"2025-12-30T00:03:32.897Z","repository":{"id":50747174,"uuid":"56189493","full_name":"scaleway/docker-machine-driver-scaleway","owner":"scaleway","description":":whale: Scaleway driver for Docker Machine","archived":false,"fork":false,"pushed_at":"2023-12-18T23:02:27.000Z","size":7935,"stargazers_count":248,"open_issues_count":18,"forks_count":34,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-22T15:49:54.305Z","etag":null,"topics":["docker-machine","scaleway","scaleway-driver"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scaleway.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-13T22:11:16.000Z","updated_at":"2024-09-23T10:58:42.000Z","dependencies_parsed_at":"2024-06-20T17:18:45.858Z","dependency_job_id":"725a3772-e4da-4f8c-92f7-59b822ddaba3","html_url":"https://github.com/scaleway/docker-machine-driver-scaleway","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scaleway%2Fdocker-machine-driver-scaleway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scaleway%2Fdocker-machine-driver-scaleway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scaleway%2Fdocker-machine-driver-scaleway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scaleway%2Fdocker-machine-driver-scaleway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scaleway","download_url":"https://codeload.github.com/scaleway/docker-machine-driver-scaleway/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250591899,"owners_count":21455455,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-machine","scaleway","scaleway-driver"],"created_at":"2024-08-02T05:00:52.154Z","updated_at":"2025-12-30T00:03:32.890Z","avatar_url":"https://github.com/scaleway.png","language":"Go","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/scaleway/docker-machine-driver-scaleway/master/misc/logo_readme.png\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n## Overview\n\n[![Build\nStatus](https://travis-ci.org/scaleway/docker-machine-driver-scaleway.svg?branch=master)](https://travis-ci.org/scaleway/docker-machine-driver-scaleway)\n\nA 3rd-party driver plugin for Docker machine to manage your containers on the servers of Scaleway\n\n## Setup\n\n### Homebrew\n\n```shell\n# install latest release of docker-machine-driver-scaleway and docker-machine using homebrew\n$ brew tap scaleway/scaleway\n$ brew install scaleway/scaleway/docker-machine-driver-scaleway\n\n# install latest (git) version of docker-machine-driver-scaleway\n$ brew tap scaleway/scaleway\n$ brew install scaleway/scaleway/docker-machine-driver-scaleway --HEAD\n```\n\n### Go\n```shell\n# install latest (git) version of docker-machine-driver-scaleway in your $GOPATH/bin (depends on Golang and docker-machine)\n$ go get -u github.com/scaleway/docker-machine-driver-scaleway\n```\n\n### Binary\n\nYou can find sources and pre-compiled binaries [here](https://github.com/scaleway/docker-machine-driver-scaleway/releases/latest)\n\n```shell\n# Download the binary (this example downloads the binary for darwin amd64)\n$ curl -sL https://github.com/scaleway/docker-machine-driver-scaleway/releases/download/v1.2.1/docker-machine-driver-scaleway_1.2.1_darwin_amd64.zip -O\n$ unzip docker-machine-driver-scaleway_1.2.1_darwin_amd64.zip\n\n# Make it executable and copy the binary in a directory accessible with your $PATH\n$ chmod +x docker-machine-driver-scaleway_1.2.1_darwin_amd64/docker-machine-driver-scaleway\n$ sudo cp docker-machine-driver-scaleway_1.2.1_darwin_amd64/docker-machine-driver-scaleway /usr/local/bin/\n```\n\n## Usage\n\n### 1. Get your Scaleway credentials\n\nYou can find your `ACCESS KEY` and generate your `TOKEN` [here](https://cloud.scaleway.com/#/credentials)\n\n### 2. Scaleway driver helper\n```console\n$ docker-machine create -d scaleway -h\nUsage: docker-machine create [OPTIONS] [arg...]\n\nCreate a machine\n\nDescription:\n   Run 'docker-machine create --driver name' to include the create flags for that driver in the help text.\n\nOptions:\n\n   --driver, -d \"none\"                                                                               Driver to create machine with. [$MACHINE_DRIVER]\n   --engine-env [--engine-env option --engine-env option]                                            Specify environment variables to set in the engine\n   --engine-insecure-registry [--engine-insecure-registry option --engine-insecure-registry option]  Specify insecure registries to allow with the created engine\n   --engine-install-url \"https://get.docker.com\"                                                     Custom URL to use for engine installation [$MACHINE_DOCKER_INSTALL_URL]\n   --engine-label [--engine-label option --engine-label option]                                      Specify labels for the created engine\n   --engine-opt [--engine-opt option --engine-opt option]                                            Specify arbitrary flags to include with the created engine in the form flag=value\n   --engine-registry-mirror [--engine-registry-mirror option --engine-registry-mirror option]        Specify registry mirrors to use [$ENGINE_REGISTRY_MIRROR]\n   --engine-storage-driver                                                                           Specify a storage driver to use with the engine\n   --scaleway-commercial-type \"VC1S\"                                                                 Specifies the commercial type [$SCALEWAY_COMMERCIAL_TYPE]\n   --scaleway-debug                                                                                  Enables Scaleway client debugging [$SCALEWAY_DEBUG]\n   --scaleway-image \"ubuntu-xenial\"                                                                  Specifies the image [$SCALEWAY_IMAGE]\n   --scaleway-bootscript \"docker\"                                                                    Specifies the bootscript [$SCALEWAY_BOOTSCRIPT]\n   --scaleway-ip                                                                                     Specifies the IP address [$SCALEWAY_IP]\n   --scaleway-ipv6                                                                                   Enable ipv6 [$SCALEWAY_IPV6]\n   --scaleway-name                                                                                   Assign a name [$SCALEWAY_NAME]\n   --scaleway-organization                                                                           Scaleway organization [$SCALEWAY_ORGANIZATION]\n   --scaleway-port \"22\"                                                                              Specifies SSH port [$SCALEWAY_PORT]\n   --scaleway-region \"par1\"                                                                          Specifies the location (par1,ams1) [$SCALEWAY_REGION]\n   --scaleway-token                                                                                  Scaleway token [$SCALEWAY_TOKEN]\n   --scaleway-user \"root\"                                                                            Specifies SSH user name [$SCALEWAY_USER]\n   --scaleway-volumes                                                                                Attach additional volume (e.g., 50G) [$SCALEWAY_VOLUMES]\n   --swarm                                                                                           Configure Machine to join a Swarm cluster\n   --swarm-addr                                                                                      addr to advertise for Swarm (default: detect and use the machine IP)\n   --swarm-discovery                                                                                 Discovery service to use with Swarm\n   --swarm-experimental                                                                              Enable Swarm experimental features\n   --swarm-host \"tcp://0.0.0.0:3376\"                                                                 ip/socket to listen on for Swarm master\n   --swarm-image \"swarm:latest\"                                                                      Specify Docker image to use for Swarm [$MACHINE_SWARM_IMAGE]\n   --swarm-join-opt [--swarm-join-opt option --swarm-join-opt option]                                Define arbitrary flags for Swarm join\n   --swarm-master                                                                                    Configure Machine to be a Swarm master\n   --swarm-opt [--swarm-opt option --swarm-opt option]                                               Define arbitrary flags for Swarm master\n   --swarm-strategy \"spread\"                                                                         Define a default scheduling strategy for Swarm\n   --tls-san [--tls-san option --tls-san option]                                                     Support extra SANs for TLS certs\n```\n\n### 3. Create your machine\n\nYou need to configure your `ACCESS_KEY` and `TOKEN`, we suggest you to install [scw](https://github.com/scaleway/scaleway-cli) and create a credential file using `scw login`.\n\nIn the following example, authentication is done without any other dependencies using the `--scaleway-token=TOKEN` and `--scaleway-organization=ACCESS_KEY` parameters.\n\n```console\n$ docker-machine create -d scaleway --scaleway-token=TOKEN --scaleway-organization=ORGANIZATION_ID --scaleway-name=\"cloud-scaleway-1\" cloud-scaleway\nRunning pre-create checks...\nCreating machine...\n(cloud-scaleway) Creating SSH key...\n(cloud-scaleway) Creating server...\n(cloud-scaleway) Starting server...\nWaiting for machine to be running, this may take a few minutes...\nDetecting operating system of created instance...\nWaiting for SSH to be available...\nDetecting the provisioner...\nProvisioning with ubuntu(upstart)...\nInstalling Docker...\nCopying certs to the local machine directory...\nCopying certs to the remote machine...\nSetting Docker configuration on the remote daemon...\nChecking connection to Docker...\nDocker is up and running!\nTo see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env cloud-scaleway\n```\n\nNote that you can store these parameters in the environment variables `SCALEWAY_TOKEN` and `SCALEWAY_ORGANIZATION`.\n\n### 4. Test your machine\n\n```console\n$ eval $(docker-machine env cloud-scaleway)      # loads environment variables to use your machine\n\n$ docker-machine ls                              # cloud-scaleway is now activated\nNAME             ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS\ncloud-scaleway   *        scaleway     Running   tcp://212.47.248.251:2376           v1.10.3\ndev              -        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1\n\n$ docker run -d -p 80:80 owncloud:8.1            # starts a owncloud image\nUnable to find image 'owncloud:8.1' locally\n8.1: Pulling from library/owncloud\n...\n\n$ docker ps                                      # displays your containers\nCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES\nebdd86fcd18b        owncloud:8.1        \"/entrypoint.sh apach\"   22 seconds ago      Up 20 seconds       0.0.0.0:80-\u003e80/tcp   elegant_shirley\n\n$ curl --silent http://212.47.248.251 | head -n1 # you can also open your browser with your IP\n\u003c!DOCTYPE html\u003e\n```\n\n## Options\n\n|Option Name                                                     |Description              |Default Value |required|\n|----------------------------------------------------------------|-------------------------|--------------|--------|\n|``--scaleway-organization`` or ``$SCALEWAY_ORGANIZATION``       |Organization UUID        |none          |yes     |\n|``--scaleway-token`` or ``$SCALEWAY_TOKEN``                     |Token UUID               |none          |yes     |\n|``--scaleway-name`` or ``$SCALEWAY_NAME``                       |Server name              |none          |no      |\n|``--scaleway-commercial-type`` or ``$SCALEWAY_COMMERCIAL_TYPE`` |Commercial type          |VC1S          |no      |\n|``--scaleway-image`` or ``$SCALEWAY_IMAGE``                     |Server image             |ubuntu-xenial |no      |\n|``--scaleway-region`` or ``$SCALEWAY_REGION``                   |Specify the location     |par1          |no      |\n|``--scaleway-debug`` or ``$SCALEWAY_DEBUG``                     |Toggle debugging         |false         |no      |\n|``--scaleway-ip`` or ``$SCALEWAY_IP``                           |Server IP                |\"\"            |no      |\n|``--scaleway-volumes`` or ``$SCALEWAY_VOLUMES``                 |Attach additional volume |\"\"            |no      |\n|``--scaleway-user`` or ``$SCALEWAY_USER``                       |SSH User                 |root          |no      |\n|``--scaleway-port`` or ``$SCALEWAY_PORT``                       |SSH port                 |22            |no      |\n\n---\n\n## Examples\n\n```bash\n# create a Scaleway docker host\ndocker-machine create -d scaleway my-scaleway-docker-machine\n\n# create a VC1M server, name it my-docker-machine-1 on Scaleway and my-docker1 in the local Docker machine, with debug enabled\ndocker-machine create -d scaleway \\\n  --scaleway-name=\"my-docker-machine-1\" --scaleway-debug \\\n  --scaleway-commercial-type=\"VC1M\" --scaleway-volumes=\"50G\" \\\n  my-docker1\n\n# create a swarm master on a VC1M\ndocker-machine create -d scaleway \\\n  --scaleway-commercial-type=\"VC1M\" --scaleway-volumes=\"50G\" \\\n  --swarm --swarm-master --swarm-discovery=\"XXX\"\n  my-swarm-manager\n\n# create a swarm slave on a VC1S\ndocker-machine create -d scaleway \\\n  --scaleway-commercial-type=\"VC1S\" \\\n  --swarm --swarm-discovery=\"XXX\"\n  my-swarm-node\n\n# create a docker host on the different server offers\ndocker-machine create -d scaleway --scaleway-commercial-type=\"VC1S\"                           my-vc1s-node\ndocker-machine create -d scaleway --scaleway-commercial-type=\"VC1M\" --scaleway-volumes=\"50G\"  my-vc1m-node\ndocker-machine create -d scaleway --scaleway-commercial-type=\"VC1L\" --scaleway-volumes=\"100G\" my-vc1l-node\ndocker-machine create -d scaleway --scaleway-commercial-type=\"C2S\"                            my-c2s-node\ndocker-machine create -d scaleway --scaleway-commercial-type=\"C2M\"                            my-c2m-node\ndocker-machine create -d scaleway --scaleway-commercial-type=\"C2L\"                            my-c2l-node\n\n# remove a machine\ndocker-machine rm my-vc1s-node\nAbout to remove my-vc1s-node\nWARNING: This action will delete both local reference and remote instance.\nAre you sure? (y/n): y\nSuccessfully removed my-vc1s-node\n\n# force remove a machine\ndocker-machine rm -f my-vc1s-node\nAbout to remove my-vc1s-node\nWARNING: This action will delete both local reference and remote instance.\n```\n\nMore [examples](https://github.com/scaleway/docker-machine-driver-scaleway/tree/master/examples).\n\n---\n\n## How to start an ARM server\n\nTo launch an ARM server, you need to start a server with our Docker Image, and use an empty install script.\n\n```console\n$ curl -sL http://bit.ly/1sf3j8V\n#!/bin/sh\n\nexit 0\n\n$ docker-machine create -d scaleway --scaleway-commercial-type=C1 --scaleway-image=docker --engine-install-url=\"http://bit.ly/1sf3j8V\" arm-machine\nRunning pre-create checks...\nCreating machine...\n(arm-machine) Creating SSH key...\n(arm-machine) Creating server...\n(arm-machine) Starting server...\nWaiting for machine to be running, this may take a few minutes...\nDetecting operating system of created instance...\nWaiting for SSH to be available...\nDetecting the provisioner...\nProvisioning with ubuntu(systemd)...\nInstalling Docker...\nCopying certs to the local machine directory...\nCopying certs to the remote machine...\nSetting Docker configuration on the remote daemon...\nChecking connection to Docker...\nDocker is up and running!\nTo see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env arm-machine\n\n$ eval $(docker-machine env arm-machine) # arm-machine is now activated\n\n$ docker run -it --rm multiarch/ubuntu-core:armhf-xenial # test an ARM container\nUnable to find image 'multiarch/ubuntu-core:armhf-xenial' locally\narmhf-xenial: Pulling from multiarch/ubuntu-core\n9d12e3a67364: Pull complete\n441bb0ba1886: Pull complete\n4d9398209a87: Pull complete\n89c0bb260a76: Pull complete\nDigest: sha256:9b01beb4cdf0e1814583113105965f6b82a2fa618f403075f5ff653ac797911b\nStatus: Downloaded newer image for multiarch/ubuntu-core:armhf-xenial\n\nroot@ab197ef8bd3c:/# uname -a\nLinux ab197ef8bd3c 4.5.4-docker-1 #1 SMP Thu May 19 18:02:43 UTC 2016 armv7l armv7l armv7l GNU/Linux\nroot@ab197ef8bd3c:/# exit\n```\n\n\n---\n\n## Changelog\n\n### v1.6 (2018-12-03)\n\n* Migrate from Godeps to dep\n* Upgrade scaleway-cli dependency\n* Add scripts to help release the project\n\nView full [commits list](https://github.com/scaleway/docker-machine-driver-scaleway/compare/v1.5...v1.6)\n\n### v1.5 (2018-11-19)\n\n* Revert \"Remove VC product line\"\n* Use xenial image id directly\n* Use default image's bootscript\n\nView full [commits list](https://github.com/scaleway/docker-machine-driver-scaleway/compare/v1.4...v1.5)\n\n### v1.4 (2018-10-28)\n\n* Change default bootscript\n* Remove VC product line\n* Allow the bootscript to be specified using it's unique id.\n* Vendor update\n* Remove IP adress if machine didn't exist ([#64](https://github.com/scaleway/docker-machine-driver-scaleway/pull/64))\n\nView full [commits list](https://github.com/scaleway/docker-machine-driver-scaleway/compare/v1.3...v1.4)\n\n### v1.3 (2016-10-28)\n\n* Add `--scaleway-region` to start server on different location e.g. `ams1` (Amsterdam)\n* Fix `user-agent` format\n* Add `--scaleway-ipv6` ([#50](https://github.com/scaleway/docker-machine-driver-scaleway/issues/50))\n* Add `--scaleway-port`\n* Add `--scaleway-user`\n\nView full [commits list](https://github.com/scaleway/docker-machine-driver-scaleway/compare/v1.2.1...v1.3)\n\n### v1.2.1 (2016-05-20)\n\n* Delete IP only when she has been created by docker-machine\n\nView full [commits list](https://github.com/scaleway/docker-machine-driver-scaleway/compare/v1.2.0...v1.2.1)\n\n### v1.2.0 (2016-05-08)\n\n* Add `--scaleway-ip` ([#37](https://github.com/scaleway/docker-machine-driver-scaleway/issues/37))\n* Add `--scaleway-volumes` ([#40](https://github.com/scaleway/docker-machine-driver-scaleway/issues/40))\n\nView full [commits list](https://github.com/scaleway/docker-machine-driver-scaleway/compare/v1.1.0...v1.2.0)\n\n### v1.1.0 (2016-04-28)\n\n* Fix provisionning error with xenial\n* `docker-machine ls` displays the commercial-type\n* Switch default image to **Ubuntu Xenial**\n* Add `--scaleway-image` ([#22](https://github.com/scaleway/docker-machine-driver-scaleway/issues/22))\n* Add `--scaleway-debug`\n\nView full [commits list](https://github.com/scaleway/docker-machine-driver-scaleway/compare/v1.0.2...v1.1.0)\n\n### v1.0.2 (2016-04-20)\n\n* Add GOXC configuration ([#19](https://github.com/scaleway/docker-machine-driver-scaleway/issues/19))\n* Fix rm subcommand ([#17](https://github.com/scaleway/docker-machine-driver-scaleway/issues/17))\n* Initial homebrew support ([#9](https://github.com/scaleway/docker-machine-driver-scaleway/issues/9))\n\nView full [commits list](https://github.com/scaleway/docker-machine-driver-scaleway/compare/v1.0.1...v1.0.2)\n\n### v1.0.1 (2016-04-19)\n\n* Bump dependencies\n\nView full [commits list](https://github.com/scaleway/docker-machine-driver-scaleway/compare/v1.0.0...v1.0.1)\n\n### v1.0.0 (2016-04-19)\n\n* Sleep only when we stop an host ([#4](https://github.com/scaleway/docker-machine-driver-scaleway/issues/4))\n* Loads credentials from `~/.scwrc` if available ([#2](https://github.com/scaleway/docker-machine-driver-scaleway/issues/2))\n* Support of `create`\n* Support of `start`\n* Support of `stop`\n* Support of `rm`\n* Support of `restart`\n* Support of `--scaleway-commercial-type`\n* Support of `--scaleway-name`\n\n\n---\n\n## Debugging\n\n```console\n$ SCALEWAY_DEBUG=1 MACHINE_DEBUG=1 docker-machine ...\n```\n\n## Development\n\nFeel free to contribute :smiley::beers:\n\n## Release\n\nYou can easily build for all supported platforms using `build-dmds-packages.sh` script\nlocated in `./scripts`\n\n## Links\n\n- **Scaleway console**: https://cloud.scaleway.com/\n- **Scaleway cli**: https://github.com/scaleway/scaleway-cli\n- **Scaleway github**: https://github.com/scaleway\n- **Scaleway github-community**: https://github.com/scaleway-community\n- **Docker Machine**: https://docs.docker.com/machine/\n- **Report bugs**: https://github.com/scaleway/docker-machine-driver-scaleway/issues\n\n## License\n\n[MIT](https://github.com/scaleway/docker-machine-driver-scaleway/blob/master/LICENSE)\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscaleway%2Fdocker-machine-driver-scaleway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscaleway%2Fdocker-machine-driver-scaleway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscaleway%2Fdocker-machine-driver-scaleway/lists"}