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
pip install droplet_dove
Initialize dove with
Start your droplet with
Clean up your droplet and take a snapshot with
How Does It Work?
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