How to easily and quickly deploy purpose specific servers?

  • Posted May 14, 2014

I’d like to have the ability to easily launch prebuilt purpose specific (ex. ftp, web, mysql) server configurations in different regions.

My organization’s users would request for example an FTP server in NYC1 with a certain CPU/RAM/SSD config (DO standard plan) and have it ready for use within minutes.

I assume snapshots would be a solution? I’m however new to this type of development and would like to get input on how this could be setup in other ways without being dependent on DO snapshots.

Any suggestions welcome!


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

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.

Maybe it is time for DO to start thinking about providing some sort of market place for pre-configured images? <br> <br>I am the developer of HiveMind (, and I know devs would like a box that they can literally just logon to and start hacking…

I built a devops command-line tool called Overcast specifically to make this sort of thing easier. <br> <br># Spin up an Ubuntu 14.04 app server in SFO1: <br>overcast digitalocean create app.01 --region-slug sfo1 <br>overcast run app.01 install/core install/nginx /path/to/my/install/script <br> <br># Spin up a 1GB Ubuntu 14.04 MySQL server in NYC2: <br>overcast digitalocean create db.01 --size-slug 1gb <br>overcast run db.01 install/core install/mysql <br> <br># Create a snapshot and spin up a copy: <br>overcast digitalocean snapshot db.01 db.snapshot <br>overcast digitalocean create db.02 --image-name db.snapshot <br> <br># Run commands across all of them at once: <br>overcast run all uptime “free -m” <br> <br> <br> <br>If you have any trouble, feedback, or feature ideas, let me know on Github.

Puppet / Chef / Salt or Docker or Image snapshot

Chef, of course. I just setup “one command creating and configuring digital ocean instance with hosted chef” last weekend. :) Looks like this: <br> <br> <br>knife digital_ocean droplet create --server-name prenticeville-app-0
<br> --image 3101918
<br> --location 5
<br> --size 66
<br> --run-list “recipe[myawesomeserverconfig::default]”
<br> --bootstrap <br> <br> <br>And then, exactly, it creates new server and configures it.


Generally I use snapshots to create new droplets. Here we was created a default droplet with all configurations then snapshot it. <br> <br>If you have many clients running on dedicated droplets, this way can be very helpful.

You can spin up a new droplet, install and configure an FTP server on it, and snapshot it. Then, whenever you want to spin up a new FTP server, just create a new droplet that is based on the FTP snapshot. <br> <br>There is another option, which would be using a configuration management software such as Chef, Puppet, SaltStack, etc. We have plenty of articles on that: <a href=“”></a>.