diff --git a/README.md b/README.md index 7698f8f41..ff86be465 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ Full stack top-level domain (TLD) management. * [Documentation](https://github.com/internetee/registry#documentation) * [Installation](https://github.com/internetee/registry#installation) * [Deployment](https://github.com/internetee/registry#deployment) +* [Staging deployment](https://github.com/internetee/registry#staging-deployment) * [Autotesting](https://github.com/internetee/registry#autotesting) @@ -159,91 +160,11 @@ Please follow WHOIS server readme: https://github.com/internetee/whois - Deployment ---------- -### System build - -Officially Debian 7 is supported and tested. - -You can use or find ideas how to build up production servers using -sysadmin tool [Babushka](https://github.com/benhoskings/babushka). - -Unofficial build scripts locate at: https://github.com/priit/babushka-deps -Those scripts are not dedicated to Registry, but more focuse on general -Ruby on Rails application deployment in various situatians. - -Quick overview. Use 'registry' for username and app name when asked. - - # on server side - apt-get install curl - sh -c "`curl https://babushka.me/up`" - babushka priit:app_user - babushka priit:app - -Please inspect those scripts before running anything, -they might not be complete or might have serious bugs. You are free to fork it. - -Alternatively you can build up everything manually, required components: - -* Consider using [RBENV](https://github.com/sstephenson/rbenv) -* Compile requried [ruby version](https://github.com/internetee/registry/blob/master/.ruby-version) -* [Phusion passenger](https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html) -* [Postgresql](http://www.postgresql.org/docs/) - -Registry application is not tested with multi-threaded system (such as Puma) and -it's not officially supported. Please use multi-process system instead (Passenger, Unicorn, Mongrel) - -We also recommend to investigate -[Passenger Optimization Guide](https://www.phusionpassenger.com/documentation/ServerOptimizationGuide.html) for proper configuration. - -### Application build and update - -For application deployment we are using faster [Mina](https://github.com/mina-deploy/mina) -instead of Capistrano. - -All deploy code locates at config/deploy.rb file. - -First add 'registry-st' and 'registry' to your .ssh/config file: - -``` -# staging -Host registry-st - HostName YOUR-SERVER-IP - User registry - -# production -Host registry - HostName YOUR-SERVER-IP - User registry -``` - -Mina help and all mina commands: - - mina -h - mina -T - -Setup application directories for a new server: - - mina setup # staging - mina pr setup # production - -Deploy new code: - - mina deploy # staging - mina pr deploy # production - -Rollback to previous release: - - mina rollback # staging - mina pr rollback # production - -General rake and mina tips: - - rake -T # list all rake commands - rake -T db # list all database related commands - mina -T # list all mina deploy commands +* [Debian build](https://github.com/internetee/registry/blob/master/doc/debian_build_doc.md) +* [Application build and update](https://github.com/internetee/registry/blob/master/doc/application_build_doc.md) CRON ---- diff --git a/doc/application_build_doc.md b/doc/application_build_doc.md new file mode 100644 index 000000000..bd817b08b --- /dev/null +++ b/doc/application_build_doc.md @@ -0,0 +1,70 @@ +### Application build and update + +For application deployment we are using faster [Mina](https://github.com/mina-deploy/mina) +instead of Capistrano. + +All deploy code locates at config/deploy.rb file. + +First add shortcuts to your local machine ssh config file, + +``` +~/.ssh/config file: +# staging +Host registry-st + HostName YOUR-REGISTRY-STAGING-SERVER-IP + User registry + +# production +Host registry + HostName YOUR-REGISTRY-SERVER-IP + User registry + +# staging +Host eppweb-st + HostName YOUR-EPPWEB-STAGING-SERVER-IP + User registry + +# production +Host eppweb + HostName YOUR-EPPWEB-SERVER-IP + User registry + +# staging +Host whois-st + HostName YOUR-WHOIS-STAGING-SERVER-IP + User registry + +# production +Host whois + HostName YOUR-WHOIS-SERVER-IP + User registry +``` + +Those shortcuts should be same as in config/deploy.rb script, +otherwise mina will not deploy. + +Mina help and all mina commands: + + mina -h + mina -T + +Setup application directories for a new server: + + mina setup # staging + mina pr setup # production + +Deploy new code: + + mina deploy # staging + mina pr deploy # production + +Rollback to previous release: + + mina rollback # staging + mina pr rollback # production + +General rake and mina tips: + + rake -T # list all rake commands + rake -T db # list all database related commands + mina -T # list all mina deploy commands diff --git a/doc/debian_build_doc.md b/doc/debian_build_doc.md new file mode 100644 index 000000000..9f7d6d0a7 --- /dev/null +++ b/doc/debian_build_doc.md @@ -0,0 +1,47 @@ +System build +------------ + +All systems should run on Debian 7 or newer, +however officially Debian 7 is supported and tested. + +### Using babushka autoscripts + +You can use or find ideas how to build up production servers using +sysadmin tool [Babushka](https://github.com/benhoskings/babushka). + +Unofficial build scripts locate at: https://github.com/priit/babushka-deps +Those scripts are not dedicated to Registry, but more focuse on general +Ruby on Rails application deployment in various situatians. +Please fork and customize dedicated to your system. + +Quick overview, how to use it. +Use 'registry' for username and app name when asked. + + # on server side + apt-get install curl + sh -c "`curl https://babushka.me/up`" + babushka priit:app_user + babushka priit:app + +Please inspect those scripts before running anything, +they might not be complete or might have serious bugs. You are free to fork it. + + +### Manual build + +Alternatively you can build up everything manually, required components: + +* Consider using [RBENV](https://github.com/sstephenson/rbenv) +* Compile requried [ruby version](https://github.com/internetee/registry/blob/master/.ruby-version) +* [Phusion passenger](https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html) +* [Postgresql](http://www.postgresql.org/docs/) + +Registry application is not tested with multi-threaded system (such as Puma) and +it's not officially supported. Please use multi-process system instead (Passenger, Unicorn, Mongrel) + +We also recommend to investigate +[Passenger Optimization Guide](https://www.phusionpassenger.com/documentation/ServerOptimizationGuide.html) for proper configuration. + +Some additional suggestions: + +* Install application under dedicated user home directory, such as /home/registry/registry Handy to ssh in and start debugging.