A command line utility to help manage your development server in Digital Ocean
Developing on a remote environment provides several advantages over local development such as resource scaling, OS selection, security, and portability. However, as an unemployed student, paying 20-30 dollars a month for a hosted server directly impacts my food budget. Dove helps ease this burden by making it easy to snapshot/rebuild your environment. Given that snapshot pricing is 0.05/GB/month, dove helps reduce the cost of maintaining a remote environment when it's frequently idle.
-
Generate an API access token on Digital Ocean here
-
Install dove:
pip install droplet_dove
-
Initialize dove with
dove init
-
Start your droplet with
dove up
-
Clean up your droplet and take a snapshot with
dove down
Additional help: dove --help
Dove maintains all of its configuration in ~/.dove_config.json
. You can edit these values manually; however you can use dove init
for an initial population. Note that all properties under the droplet
key are passed directly to digital ocean (with exception to the sshkeys
array), so if addiitonal configuration is required it can be edited there.
- Check for a running droplet with the name specified in the dove config, abort if one exists
- Find the latest snapshot for the prefix provided in dove config or use the default snapshot if none exist
- Create the droplet with the configuration params
- Wait for the droplet to start
- Get droplet based on name provided in dove config, abort if droplet not found
- Shutdown droplet and take a snapshot
- Destroy old snapshots with same prefix
- Destroy droplet