Add deployment server setup instructions to the readme file

parent 4ddfc626
......@@ -13,15 +13,57 @@ For more information, please see the [Indienet project planning documentation at
1. `npm install`
2. `npm run dev`
To specify a port (e.g., two run two separate instances when testing federation), use:
By default, your local instance will run on localhost port 5000.
To specify a different port (e.g., to run two separate instances when testing federation), use:
`npm run dev -- --port 7999`
## Production
Not ready for production use.
Not ready for production use. See deployment and deployment server setup instructions, below, for testing deployment during development.
## Deployment server setup
For testing deployment, we currently use [Dokku](http://dokku.viewdocs.io/dokku/) on an OpenStack-based VPS at [CloudScale](https://cloudscale.ch) running Ubuntu 16.04. This will remain the supported method for people with technical knowledge to install Indie Site.
1. Install [Dokku](http://dokku.viewdocs.io/dokku/) on your own server running Ubuntu 16.04 and set up your DNS with A (and AAAA for IPv6) records pointing to your domain for _your.domain_ and _www.your.domain_.
2. Create the app on your server (at the domain root):
```bash
dokku apps:create your.domain
```
3. Set up persistent storage:
```bash
sudo mkdir -p /var/lib/dokku/data/storage/indie
chown 32767:32767 /var/lib/dokku/data/storage/indie
dokku storage:mount /var/lib/dokku/data/storage/indie:/app/.indie
```
This will set up a folder to mirror the `/app/.indie` directory that Indie Site expects for storing persistent files in and looks for via `path.join(os.homedir(), '.indie')`.
3. Clone this repository and set up a deployment Git remote endpoint on _your local working copy_:
```bash
git remote add deploy dokku@your.domain:your.domain
```
4. Push to deploy:
```bash
git push deploy master
```
5. Set up TLS via the [Dokku Let’s Encrypt plugin](https://github.com/dokku/dokku-letsencrypt):
```bash
sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
dokku config:set --no-restart your.domain DOKKU_LETSENCRYPT_EMAIL=your@email.tld
dokku letsencrypt your.domain
```
(In production, the port is set either via the PORT environment variable or will fall back to the value in the _config/production.json_ from the Feathers configuration.)
That’s it! You should be up and running with your own instance of Indie Site.
## Configuration
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment