We are still in the early days. I hope to reduce the skills required to use StoreDown.
Remember you need to Deploy StoredDown and configure an Apache CouchDB instance. StoreDown uses a CouchDB database to sync. Instructions on how to setup CouchDB are at the bottom of this file.
TLDR: Pick an option AND configure CouchDB
You can download a zip of the most recent release and extract it in your webserver of choice(S3, Apache, NGINX, etc ....)
docker run -d -p 8080:80 foxusa/storedown
If you want to use SSL/TLS skip this and go down to that section
Put the following text in a docker-compose.yml
.
Make sure to set all the items marked #TODO
.
Also make sure this file is in a secure place.
Your credentials are stored in it.
version: "2"
services:
storedown:
image: foxusa/storedown
restart: always
ports:
- "80:80"
couchdb:
image: couchdb
restart: always
volumes:
- <HOST_LOCATION>:/opt/couchdb/data #TODO set this to prevent accidentally deleting your database data
- <HOST_LOCATION>:/opt/couchdb/etc/local.d # Prevents CORS setting from being removed
ports:
- "5984:5984"
environment:
COUCHDB_USER: user #TODO set this
COUCHDB_PASSWORD: password #TODO set this
You can then run docker-compose up -d
to start the services.
Create a folder with a SSL private.key
and public.crt
this gets mounted by nginx to encrypt connections.
The public.crt
file should have your servers cert and the whole cert chain appended to it.
Create a nginx config file that proxies CouchDB traffic via SSL.
Here is an example you can use as is.
Mount these files using the following docker-compose.yml
version: "2"
services:
storedown:
image: foxusa/storedown
restart: always
volumes:
- $HOST_LOCATION/certs:/root/certs:ro #TODO set this
- $HOST_LOCATION/storedown.default.conf:/etc/nginx/conf.d/default.conf:ro #TODO file created above
ports:
- 80:80
- 443:443
- 6984:6984 #CouchDB Proxy
links:
- couchdb:couchdb
couchdb:
restart: always
image: couchdb
volumes:
- /opt/StoreDown/couchdb:/opt/couchdb/data
ports:
- 5984:5984
environment:
COUCHDB_USER: $user #TODO set this
COUCHDB_PASSWORD: $password #TODO set this
You can then run docker-compose up -d
to start the services.
- Go to
http://$serverurl:5984/_utils/#_config/nonode@nohost/cors
and enable CORS for your domain. - Go to Go to
http://$serverurl:5984/_utils/#_config/nonode@nohost
and set in thehttpd
section,WWW-Authenticate
toBasic realm="administrator"
- Go to
http://$serverurl:5984/_utils/#_config/nonode@nohost
and set in thechttpd
sectionrequire_valid_user
totrue
.If you are unable to get to the login screen after setting that, you can access it via
http://$serverurl:5984/_utils/#login
- Then open StoreDown and log in with the username, password, url, port, and database you configured.