Add some more ops docs

refactor-builder
Eric Holscher 2014-01-04 14:47:19 -05:00
parent 56418c3363
commit 8aa7f1e7b7
2 changed files with 79 additions and 19 deletions

19
docs/design_decisions.rst Normal file
View File

@ -0,0 +1,19 @@
Design Decisions
================
Read the Docs does some things because we believe they are the proper way.
This page will outline some of the philsophy behind the design of the site.
You must have a repository
--------------------------
There is a lot of documentation out in the world,
and you can't reproduce it,
or download the code around it.
Read the Docs is designed around everything having a repository.
It's how much of our functionality is implemented,
and allows us more power in our interface.
This means that you can't upload static HTML to our site.
We believe that forcing you to put your docs into a repository is better for you,
and for your users.

View File

@ -3,6 +3,39 @@ Configuration of the production servers
This document is to help people who are involved in the production instance of Read the Docs running on readthedocs.org. It contains implementation details and useful hints for the people handling operations of the servers.
Deploying
=========
Code
----
This uses the ``fabfile.py`` located in the root of project.
Pushing code to servers. This updates code & media::
fab push
Restart the webs::
fab restart
Restart the build servers celery::
fab celery
Nginx
-----
This uses the fabfile located in ``deploy/fab/fabfile.py``.
To update the nginx configs::
fab nginx_configs
To reload nginx after the configs have been updated::
fab nginx_reload
Elastic Search Setup
--------------------
@ -31,7 +64,7 @@ The servers are themed somewhere between Norse mythology and Final Fantasy Aeons
Domain
~~~~~~
* readthedocs.com
* readthedocs.com
Load Balancer (nginx)
~~~~~~~~~~~~~~~~~~~~~
@ -39,12 +72,17 @@ Load Balancer (nginx)
Important Files
```````````````
* /etc/nginx/sites-enabled/default
* ``/etc/nginx/sites-enabled/lb``
Important Services
``````````````````
* nginx running from init
Restart
```````
``/etc/init.d/nginx restart``
Web
~~~
* Chimera
@ -60,6 +98,11 @@ Important Services
* nginx running from init
* gunicorn (running from supervisord as docs user)
Restart
```````
``/etc/init.d/nginx restart``
Build
~~~~~
* Build
@ -71,18 +114,32 @@ Important Files
Important Services
``````````````````
* celery (running from supervisord as docs user)
Restart
```````
``supervisorctl restart celery``
Database
~~~~~~~~
* DB
Important Services
``````````````````
* Postgres running under init
Elastic Search
~~~~~~~~~~~~~~
* DB
* Backup
Solr
~~~~
* DB
Redis
~~~~~
* DB
* Build
Site Checkout
-------------
@ -95,19 +152,3 @@ Bash Aliases
* `chk` - Will take you to the checkout directory
* `run` - Will take you to the run directory
Deploying
---------
Pushing code to servers. This updates code & media::
fab push
Restart the webs::
fab restart
Restart the build servers celery::
fab celery