openconf / jschat

frontend community chat
MIT License
23 stars 6 forks source link

production instance [digitalocean? AWS?] #99

Open edjafarov opened 10 years ago

sejoker commented 10 years ago

My vote would be digitalocean + dokku, as Alex Beletsky pointed out this combo works very well for nodejs environment.

sudodoki commented 10 years ago

:+1: for digitalocean. Dokku/docker, direct git push, etc. Deploying strategy should also account for need to do build after updating sources for desktop & web client..

edjafarov commented 10 years ago

we would need 1+ instance of nodejs and 1+ instances of redis. Redis would need to be redis cluster with consistent hashing. We would probably do not build stuff automatically. I guess the strategy of deployment will be: 1) 2 branches: master, deploy everything will be built locally from master and pushed to deploy. Deploy will go into prod. 2) desktop binaries will live in git repo for autoupdate. right now to build an app you need to run npm run build-app; npm run package (so far it will work in mac only, because to package in .dmg you need mac tool, but if you want to package for win and linux only you need to run compress task from grunt). App will check package.json for version update. If the version will be updated it will put updater binary in temp folder. Run updater in separate process and kill current chat app. After that it will download new binaries and copy them into app dir. Then the updater will run the app in separate process and kill updater.

edjafarov commented 10 years ago

I feel there will be differences in different OSes :(