User data not running when creating a droplet over the api

Posted March 28, 2019 2.3k views

I am running the following code through a node js script

axios('', {
  method: 'POST', 
  headers: headers_variable,
  'Content-Type': 'application/json',
  data: {
    "name": "",
    "region": "nyc3",
    "size": "s-6vcpu-16gb",
    "image": "45204331",
    "ssh_keys": [
    "backups": false,
    "ipv6": false,
    "user_data": `

  - touch test.txt
    "private_networking": null,
    "volumes": null,
    "tags": [
.then( res => console.log(
.catch(err => console.error(err));

Although the droplet is created, the user-data commands never run. How can I fix this?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer


I just tested this in the user-data via cloud panel:


  - touch test.txt

Confirmed that the script is at least working there:

root@ubuntu-s-1vcpu-1gb-nyc3-01:~# stat /test.txt
  File: /test.txt
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: fc01h/64513d    Inode: 64000       Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-03-28 18:12:42.336000000 +0000
Modify: 2019-03-28 18:12:42.336000000 +0000
Change: 2019-03-28 18:12:42.336000000 +0000
 Birth: -

With that, I have a couple of questions:

  1. Did you check system root? Since you didn’t specify a path, it would create there (/).
  2. How can I most easily replicate your setup to test?