Page 1
Read the Docs
Eric Holscherhttp://ericholscher.com
OSCON 2011
Friday, July 22, 2011
Page 2
What this talk is
» Talk about the history of Read the Docs
» Technology Involved
» Interesting outcomes of openness
Friday, July 22, 2011
Page 3
Who am I
» I come from Django
» Work at Urban Airship
» Like automating systems
Friday, July 22, 2011
Page 4
Why I’m here
» Feedback
» Ideas
» Hopefully you’ll learn something too!
» Shameless self-promotion
Friday, July 22, 2011
Page 5
Friday, July 22, 2011
Page 6
Officially Hosted» Celery
» Fabric
» Pip
» Virtualenv
» Django CMS
» Django Grapelli/Floppyforms/Sentry
» Lots more
Friday, July 22, 2011
Page 7
The story
Friday, July 22, 2011
Page 8
2010 Django Dash
Friday, July 22, 2011
Page 9
Charles LeiferBobby Grace (Design)
Me
Friday, July 22, 2011
Page 10
Doc Hosting Sucks
» packages.python.org
» Github Pages
» Your own janky cronjobs
Friday, July 22, 2011
Page 11
Friday, July 22, 2011
Page 12
Had a workable site in 48 hours
Friday, July 22, 2011
Page 13
Fully Open Source
Friday, July 22, 2011
Page 14
Fully Open Source
» github.com/rtfd/readthedocs.org
» github.com/ericholscher/chef-django-example
» ericholscher.com/tag/chef-series/
Friday, July 22, 2011
Page 15
Friday, July 22, 2011
Page 16
No excuse
Friday, July 22, 2011
Page 17
What makes it tick
Friday, July 22, 2011
Page 18
Features
Friday, July 22, 2011
Page 19
Git, Hg, Bzr, Svn
Friday, July 22, 2011
Page 20
Post commit hooks
Friday, July 22, 2011
Page 21
Custom Themes
Friday, July 22, 2011
Page 22
Full-text search
Friday, July 22, 2011
Page 23
Tags & Branches
Friday, July 22, 2011
Page 24
PDF Generation
Friday, July 22, 2011
Page 25
Man Pages
Friday, July 22, 2011
Page 26
Virtualenvs
Friday, July 22, 2011
Page 27
Tech
Friday, July 22, 2011
Page 28
Sphinx
Friday, July 22, 2011
Page 29
Subdomains
Friday, July 22, 2011
Page 30
CNAME Support
Friday, July 22, 2011
Page 31
Haystack & Solr
Friday, July 22, 2011
Page 32
Celery
Friday, July 22, 2011
Page 33
Varnish
Friday, July 22, 2011
Page 34
Chef
Friday, July 22, 2011
Page 35
Multiple Servers
Friday, July 22, 2011
Page 36
Architecture +-----------+ | | +-----| Varnish |------+ | +-----------+ | | | +---------+ +---------+ +-------------+ | | | | +--------------+ | |-----| Nginx | | Nginx |----| | | File | +---------+ +---------+ | File | | System | | | | System | +-------------+ +---------+ +--------+ +---------+ +--------------+ | | | | | | | | | | | +---------|Gunicorn |--|Postgres|--|Gunicorn |--------+ | | +---------+ +--------+ +---------+ | | | | | | | | +------------------+ | | | | | +---------------------| Build Server |-------------------+ | | +------------------+
Friday, July 22, 2011
Page 37
Nagios & Munin
Friday, July 22, 2011
Page 38
Nginx & Gunicorn
Friday, July 22, 2011
Page 39
Upstart
Friday, July 22, 2011
Page 40
REST API
Friday, July 22, 2011
Page 41
CoffeeScript
Friday, July 22, 2011
Page 42
CLI
Friday, July 22, 2011
Page 43
Lessons
Friday, July 22, 2011
Page 44
Think about your URLs.Really hard.
Friday, July 22, 2011
Page 45
Lay your project out sanely
Friday, July 22, 2011
Page 46
Write tests!
Friday, July 22, 2011
Page 47
Build around a standard tool
Friday, July 22, 2011
Page 48
Promote (Hi!)
Friday, July 22, 2011
Page 49
Find a designer!
Friday, July 22, 2011
Page 50
Log. Everything.
Friday, July 22, 2011
Page 51
Follow the Unix Philosophy
Friday, July 22, 2011
Page 52
Have a mission
Friday, July 22, 2011
Page 53
Open Source Outcomes
Friday, July 22, 2011
Page 54
Patches
Friday, July 22, 2011
Page 55
Known architecture information
Friday, July 22, 2011
Page 56
Slow LorisFriday, July 22, 2011
Page 57
Trust
Friday, July 22, 2011
Page 58
People Writing Docs
Friday, July 22, 2011
Page 59
DEMO
Friday, July 22, 2011
Page 60
Questions?
» readthedocs.org / rtfd.org
» #readthedocs on Freenode
» github.com/rtfd/readthedocs.org
» [email protected]
» twitter.com/ericholscher
» Urban Airship
Friday, July 22, 2011