Skip to content
This repository has been archived by the owner on Sep 20, 2019. It is now read-only.
/ doctor Public archive

Doctor is a documentation server for your docs in github

License

Notifications You must be signed in to change notification settings

minio/doctor

Repository files navigation

What is Doctor

  • Doctor is a Documentation Server for all your project docs.
  • Doctor beautifully decouples document serving and document contents.
  • Create your docs in markdown. Store them anywhere (github/dropbox/google drive/ anywhere really).
  • Login to Doctor's Dashboard. Setup links to your doc files in Doctor's Dashboard.
  • You are done!

Live Demo

You may use the Suggest Edits feature in Doctor to submit changes to any of the MD files in github. Doctor relies on github workflow to accept PRs for changes.

Deployment

Heroku

Deploy

Scalingo

Deploy

Docker

Doctor.Docker

Using Docker Compose

Pre-requisite: Install and set up docker on your machine.

# get the docker-compose.yml file from the minio/doctor repo
wget https://raw.githubusercontent.com/minio/doctor/master/docker-compose.yml
wget https://raw.githubusercontent.com/minio/doctor/master/.env

# If you want to start the services in production
RAILS_ENV=production docker-compose up -d

# If you want to start the services in development
docker-compose up -d

# get the container name of the web service
docker ps

# setup the database in a one-off command
docker exec docapp bundle exec rake db:setup
  • Open http://localhost:3000 on your browser to see doctor running from docker container.
  • Note: If you start doctor in production mode, all http requests are redirected to https.

Features

  • Documents are organized under Categories.
  • Login to the dashboard
  • Step 1 : Use the Dashboard to create a new Category : http://localhost:3000/categories/new
  • Step 2 : Use the Dashboard to create a link to a new Document : http://localhost:3000/docs/new
  • Step 3: Paste the raw URL to the md file when linking a new document. The "Raw" button is on the top of the MD file in github.
  • Required : All documents need to be associated under a Category

Development

Quickstart: Setup on OSX

  • Install Ruby 2.2.2 using the instructions here.
  • Install Rails 4.2.4 using the instructions here.
  • Install Postgres using the command brew install postgres. Configure Launch Agent to start it automatically or use the command pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start to start it manually.

Quickstart: Setup on Ubuntu

  • Install Rails & Ruby using the instructions here.
  • Install Postgres using the instructions here.

Clone and start doctor

> git clone https://github.com/minio/doctor.git
> cd doctor
> bundle install
> rake db:drop
> rake db:setup
> rails s

Now visit http://localhost:3000

Use [email protected] with password Doctor!23 to login. Visit http://localhost:3000 to navigate the docs. This can be changed anytime via the Dashboard. We highly recommend that you do if you use Doctor in deployment.

Note -

  • On Ubuntu vanilla installations, bundle install sometimes may not go through smoothly. In that case, you may need to run sudo apt install libpg-dev
  • If you get error message: Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes., during bundle install, then run sudo apt-get install nodejs
  • If you see error: ActiveRecord::NoDatabaseError: FATAL: role <your_user_name> does not exist during rake:db setup, then run: sudo -u postgres createuser --superuser <your_user_name>
  • Ping us on our gitter channel to report any installation issues on your platform.