CloudWall needs CouchDB to show all its features, so you need CouchDB somewhere. There are several common scenarios, that are described step by step.
Nearly any web-connected machine can run CouchDB. It works pretty fine even in a very lean environment — 512Mb, Atom and so on. CouchDB is very reliable and power-off resistant.
Download and install appropriate distributive of CouchDB to your server. It takes minute or two, really. Ensure CouchDB launches on OS start.
Note, that you need 1.7.1+ version of CouchDB, and persistent web connection with static IP, and better with bound domain name. If you decide to keep original 5984 Couch port untouched, you should open this port for net connections.
With pre-built CouchDB versions prior to 2.3 you will not be able to run demo CMS in full power since it requires JS rewrites, however CloudWall itself works fine on any Couch.
There are several ways to have CouchDB with full JS rewrites. You may install CouchDB from sources, or from patched package.
Patched packages only have JS rewrites as addition, other code is same.
When CouchDB is installed, type
http://localhost:5984/_utils to run default admin panel, Futon or Fauxton. Consider to install Photon immediately, however default admin panels are also ok. Photon is just nicer and gives good sense of CloudWall, click to zoom:
Auth config is required to avoid annoying browser popups when bowsers connects to Couch. CORS is a feature turning off end users’ cross origin sandboxes.
Both are tuned using link Configuration in Futon right panel. Go to config and edit/add some config vars. They are:
|headers||accept, authorization, content-type, origin|
|methods||GET, POST, PUT, DELETE, OPTIONS, HEAD|
If you are using Photon as an admin panel, you can do all corrections in a single copy/paste. Just extend config with this JSON:
Process is one copy-paste long in general and described in Quick start manual.
There is nothing special about installing CouchDB to Amazon EC2 instance — just deploy and run instance, download CouchDB and install. Open 5984 port and do all the steps above.
If you have 10–20 users — T2.micro is really enough. May be you’ll need to extend storage — default is about 8Gb.
Keeping your data synced is a good practice since CloudWall is permanent beta, it is built on top of many open-source libraries. Also it is an open platform — you can receive code, that impacts system stability.
Be smart and get your local buckets synced with external CouchDB if you keep sensitive data in browser.
Real-time continuous replication can be traffic-consuming — so if you work with docs, that need no immediate propagation, set replication interval to number greater than zero. This approach also helps to save money if you are connected to per-request charging services, like Cloudant or Smileupps.