All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Shell scripts for zero-config hosting setup of an arbitrary VPS?
I'm new to VPS's. It's great to see that there are regularly posted deals of for example a 64MB VPS for $2 per year and things like this. Obviously one purchasing such a plan wouldn't be worried much about performance. But I still like it!
So where can I find some shell scripts that are designed to just ssh in and set up certain basic functionality like nginx
and git
, given just an IP address and login credentials? Such scripts ought to be designed to be deployed on "any" VPS so they should contain some failover rules when package foo or package bar fails to install for whatever reason (even if there's simply no enough RAM).
It wouldn't be too difficult to write my own, but I'm curious what others have written, and how to make write scripts that are very tolerant of all the many system differences that you get in an arbitrary VPS plan.
Is there terminology for this sort of thing? Scripts that are designed to set up the basics for you on any random VPS?
Comments
https://en.wikipedia.org/wiki/Orchestration_(computing)
You should like TuxLite
Wow as a newbie I'm impressed with the fast high quality replies.
There's Puppet/Chef/Ansible/Salt for this:
http://puppetlabs.com/
http://www.opscode.com/chef/
http://www.ansibleworks.com/
http://saltstack.com/community.html
Don't forget cfengine
I found systems like cfengine or Puppet rather complex for simple use cases. I'm using slack instead and keep the configuration in a revision control system which is cloned on every machine.
Slack roles consist of three optional shell scripts (
scripts/{preinstall,fixfiles,postinstall}
) and directories containing files to be copied (files
,files.$subrole
). Generic files go into thefiles
directory. Subroles come in handy if you want to adjust just some files for a specific role/machine. The default roles for a machine can be defined either inroles.conf
(path depends on installation) or directly on the command line, e.g.slack --source /home/…/src/slack-roles ntpd nginx.server1 mail.server1
.