2.1 KiB
2.1 KiB
Deployment
- Create a fresh Ubuntu 16 server with Dokku (or just use DigitalOcean)
- Make sure you have atleast 1gb.
- Install the latest version of Dokku (don't use that DigitalOcean image)
- Setup Dokku by visiting the server's URL. Follow the directions on screen.
git remote add my_server dokku@your-server:my-api-name
- Install mariaDB plugin: instructions.
- Create a databse:
ssh dokku@your-server mariadb:create my_db
- Link the DB:
ssh dokku@your-server mariadb:link my_db my-api-name
- Set ENV vars:
ssh dokku@your-server config:set my-api-name DEVISE_SECRET=$(rake secret)
ssh dokku@your-server config:set my-api-name JS_FILE_URL=//mycdn.org/farmbot-fronted.js
ssh dokku@your-server config:set my-api-name MQTT_HOST=my-mqtt-server.org
ssh dokku@your-server config:set my-api-name DATABASE_URL=mysql://dbusername:dbpassword@dburl:dbport/dbname
- Migrate / create db:
ssh dokku@your-server run my-api-name rake db:setup
- Give Dokku a place to store RSA keys:
ssh dokku@your-server storage:mount my-api-name /var/lib/dokku/data/keys:/keys
.
- If you don't do this (or don't want to) you will need to restart your MQTT server and re-run
setup.rb
after any deployments / upgrades.
- Generate Encryption keys
ssh dokku@your-server run my-api-name rake keys:generate
Old / Legacy Setup
(Added Sept. 2016)
No longer used, but possibly relevant for those running legacy servers.
- Create a fresh Ubuntu 14 server with Dokku (or just use DigitalOcean)
- Upgrade to the latest version of Dokku (especially if you are on DigitalOcean- their version is out of date)
- Install dokku-haproxy plugin:
ssh root@YOUR_SERVER dokku plugin:install https://github.com/256dpi/dokku-haproxy.git
- Deploy:
git push dokku@YOUR_SERVER:mqtt
- Point to correct host/port:
ssh dokku@MQTT_SERVER config:set mqtt PORT=3002 DOKKU_NGINX_PORT=3002 WEB_APP_URL=WEBAPP_URL_HERE
- Expose MQTT port:
ssh dokku@MQTT_SERVER ports:add mqtt 1883 web 1883