Commit cbfa615d60d9294a7e3b24d4899004342949d1d2
1 parent
f391c790
Exists in
master
and in
1 other branch
create docs section for deployment info
Showing
4 changed files
with
106 additions
and
88 deletions
Show diff stats
README.md
... | ... | @@ -135,95 +135,9 @@ rake errbit:bootstrap |
135 | 135 | script/rails server |
136 | 136 | ``` |
137 | 137 | |
138 | -Deploying: | |
138 | +Deployment: | |
139 | 139 | ---------- |
140 | - | |
141 | - * Copy `config/deploy.example.rb` to `config/deploy.rb` | |
142 | - * Update the `deploy.rb` or `config.yml` file with information about your server | |
143 | - * Setup server and deploy | |
144 | - | |
145 | -```bash | |
146 | -cap deploy:setup deploy db:create_mongoid_indexes | |
147 | -``` | |
148 | - | |
149 | -(Note: The capistrano deploy script will automatically generate a unique secret token.) | |
150 | - | |
151 | -**Deploying to Heroku:** | |
152 | - | |
153 | - * Clone the repository | |
154 | - | |
155 | -```bash | |
156 | -git clone http://github.com/errbit/errbit.git | |
157 | -``` | |
158 | - * Update `db/seeds.rb` with admin credentials for your initial login. | |
159 | - | |
160 | - * Run `bundle` | |
161 | - | |
162 | - * Create & configure for Heroku | |
163 | - | |
164 | -```bash | |
165 | -gem install heroku | |
166 | -heroku create example-errbit | |
167 | -# If you really want, you can define your stack and your buildpack. the default is good to us : | |
168 | -# heroku create example-errbit --stack cedar --buildpack https://github.com/heroku/heroku-buildpack-ruby.git | |
169 | -heroku addons:add mongolab:sandbox | |
170 | -heroku addons:add sendgrid:starter | |
171 | -heroku config:add HEROKU=true | |
172 | -heroku config:add SECRET_TOKEN="$(bundle exec rake secret)" | |
173 | -heroku config:add ERRBIT_HOST=some-hostname.example.com | |
174 | -heroku config:add ERRBIT_EMAIL_FROM=example@example.com | |
175 | -git push heroku master | |
176 | -``` | |
177 | - | |
178 | - * Seed the DB (_NOTE_: No bootstrap task is used on Heroku!) and | |
179 | - create index | |
180 | - | |
181 | -```bash | |
182 | -heroku run rake db:seed | |
183 | -heroku run rake db:mongoid:create_indexes | |
184 | -``` | |
185 | - | |
186 | - * If you are using a free database on Heroku, you may want to periodically clear resolved errors to free up space. | |
187 | - | |
188 | - * With the heroku-scheduler add-on (replacement for cron): | |
189 | - | |
190 | - ```bash | |
191 | - # Install the heroku scheduler add-on | |
192 | - heroku addons:add scheduler:standard | |
193 | - | |
194 | - # Go open the dashboard to schedule the job. You should use | |
195 | - # 'rake errbit:db:clear_resolved' as the task command, and schedule it | |
196 | - # at whatever frequency you like (once/day should work great). | |
197 | - heroku addons:open scheduler | |
198 | - ``` | |
199 | - | |
200 | - * With the cron add-on: | |
201 | - | |
202 | - ```bash | |
203 | - # Install the heroku cron addon, to clear resolved errors daily: | |
204 | - heroku addons:add cron:daily | |
205 | - ``` | |
206 | - | |
207 | - * Or clear resolved errors manually: | |
208 | - | |
209 | - ```bash | |
210 | - heroku run rake errbit:db:clear_resolved | |
211 | - ``` | |
212 | - | |
213 | - * You may want to enable the deployment hook for heroku : | |
214 | - | |
215 | -```bash | |
216 | -heroku addons:add deployhooks:http --url="http://YOUR_ERRBIT_HOST/deploys.txt?api_key=YOUR_API_KEY" | |
217 | -``` | |
218 | - | |
219 | - * You may also want to configure a different secret token for each deploy: | |
220 | - | |
221 | -```bash | |
222 | -heroku config:add SECRET_TOKEN=some-secret-token | |
223 | -``` | |
224 | - | |
225 | - * Enjoy! | |
226 | - | |
140 | +See [notes on deployment](docs/deployment.md) | |
227 | 141 | |
228 | 142 | Authentication |
229 | 143 | -------------- | ... | ... |
... | ... | @@ -0,0 +1,12 @@ |
1 | +# Deployment Notes | |
2 | +There are any number of ways to deploy Errbit, but official support is limited | |
3 | +to heroku and capistrano. | |
4 | + | |
5 | +See specific notes on deployment via: | |
6 | +- [heroku](docs/deployment/heroku.md) | |
7 | +- [capistrano](docs/deployment/capistrano.md) | |
8 | + | |
9 | +You can use a process manager to deploy Errbit, but Errbit doesn't maintain | |
10 | +support for any specific process manager. But if you use systemd, @nofxx has | |
11 | +been kind enough to share: | |
12 | +- [systemd config](https://gist.github.com/nofxx/f01dcfe3e9d504181d76) | ... | ... |
... | ... | @@ -0,0 +1,19 @@ |
1 | +# Deploy with Capistrano | |
2 | +These instructions should be good enough to get you started deploying | |
3 | +capistrano with Errbit. More than likely, you'll have to adjust some things to | |
4 | +suit your needs, so you should understand how to use capistrano before you | |
5 | +continue. | |
6 | + | |
7 | +## Clone and prepare the source code repository | |
8 | +```bash | |
9 | +git clone git@github.com:errbit/errbit.git | |
10 | +cd errbit | |
11 | +``` | |
12 | + | |
13 | +- Copy `config/deploy.example.rb` to `config/deploy.rb` | |
14 | +- Update the `deploy.rb` or `config.yml` file with information about your server | |
15 | +- Setup server and deploy | |
16 | + | |
17 | +## Schedule recurring tasks | |
18 | +You may want to periodically clear resolved errors to free up space. Schedule | |
19 | +the ```rake errbit:db:clear_resolved``` rake task to run every day or so. | ... | ... |
... | ... | @@ -0,0 +1,73 @@ |
1 | +# Deploy to Heroku | |
2 | +We designed Errbit to work well with Heroku. These instructions should result | |
3 | +in a working deploy, but you should modify them to suit your needs: | |
4 | + | |
5 | +## Clone and prepare the source code repository | |
6 | +```bash | |
7 | +git clone git@github.com:errbit/errbit.git | |
8 | +cd errbit | |
9 | +``` | |
10 | + | |
11 | +- Update `db/seeds.rb` with admin credentials for your initial login | |
12 | + | |
13 | +Commit the results: | |
14 | +```bash | |
15 | +git commit -m "Update db/seeds.rb with initial login" | |
16 | +``` | |
17 | + | |
18 | +## Install the heroku toolbelt | |
19 | +[toolbelt.heroku.com](https://toolbelt.heroku.com/) | |
20 | + | |
21 | +## Create an app on Heroku and push the source code | |
22 | +```bash | |
23 | +heroku apps:create | |
24 | +heroku addons:add mongolab:sandbox | |
25 | +heroku addons:add sendgrid:starter | |
26 | +heroku config:add HEROKU=true | |
27 | +heroku config:add SECRET_TOKEN="$(bundle exec rake secret)" | |
28 | +heroku config:add ERRBIT_HOST=some-hostname.example.com | |
29 | +heroku config:add ERRBIT_EMAIL_FROM=example@example.com | |
30 | +git push heroku master | |
31 | +``` | |
32 | + | |
33 | +## Prepare the DB | |
34 | +No bootstrap task is used on Heroku! | |
35 | + | |
36 | +```bash | |
37 | +heroku run rake db:seed | |
38 | +heroku run rake db:mongoid:create_indexes | |
39 | +``` | |
40 | + | |
41 | +## Schedule recurring tasks | |
42 | +You may want to periodically clear resolved errors to free up space. For that | |
43 | +you have a few options: | |
44 | + | |
45 | +Option 1. With the heroku-scheduler add-on (replacement for cron): | |
46 | + | |
47 | +```bash | |
48 | +# Install the heroku scheduler add-on | |
49 | +heroku addons:add scheduler:standard | |
50 | + | |
51 | +# Go open the dashboard to schedule the job. You should use | |
52 | +# 'rake errbit:db:clear_resolved' as the task command, and schedule it | |
53 | +# at whatever frequency you like (once/day should work great). | |
54 | +heroku addons:open scheduler | |
55 | +``` | |
56 | + | |
57 | +Option 2. With the cron add-on: | |
58 | + | |
59 | +```bash | |
60 | +# Install the heroku cron addon, to clear resolved errors daily: | |
61 | +heroku addons:add cron:daily | |
62 | +``` | |
63 | + | |
64 | +Option 3. Clear resolved errors manually: | |
65 | + | |
66 | +```bash | |
67 | +heroku run rake errbit:db:clear_resolved | |
68 | +``` | |
69 | + | |
70 | +## Add the deployment hook | |
71 | +```bash | |
72 | +heroku addons:add deployhooks:http --url="http://YOUR_ERRBIT_HOST/deploys.txt?api_key=YOUR_API_KEY" | |
73 | +``` | ... | ... |