Skip to content

huacnlee/bluedoc

Repository files navigation

BlueDoc

Test

Development

Setup base development env have two approach

Default admin user: admin@bluedoc.io password: 123456

Setup with docker

First you must have docker services and start it and then

$ docker-compose up dev

That all depends softwares have ready

Next

$ yarn install
$ bundle install
$ POSTGRES_USER=postgres POSTGRES_HOST=localhost rails db:create db:migrate
$ rails s
$ yarn start #other termal tab
$ sidekiq -C ./config/sidekiq.yml #other termal tab if u need

Now u can open brower and visit bluedoc

More configuration you can look from docker-compose.yml

Setup with local machine

You need install depends softwares first:

$ brew install node imagemagick postgresql elasticsearch redis
$ brew cask install wkhtmltopdf

Setup the default ENV vars to open all features:

export LDAP_HOST=localhost

export OMNIAUTH_GOOGLE_CLIENT_ID=
export OMNIAUTH_GOOGLE_CLIENT_SECRET=

export OMNIAUTH_GITHUB_CLIENT_ID=
export OMNIAUTH_GITHUB_CLIENT_SECRET=

export OMNIAUTH_GITLAB_CLIENT_ID=
export OMNIAUTH_GITLAB_CLIENT_SECRET=
export OMNIAUTH_GITLAB_API_PREFIX=

Start development server:

  • yarn start - to start webpack dev server.
  • rails s - to start rails
$ yarn start

In other Termal tab:

$ rails s

Install plantuml-service

plantuml-service for generate PlantUML image

https://github.com/bitjourney/plantuml-service

$ brew install bitjourney/self/plantuml-service
$ brew services start bitjourney/self/plantuml-service

Generate Admin

$ rails g scaffold_controller admin/repository slug:string name:string user:references description:string

Deployment

#!/usr/bin/env sh
docker stop bluedoc
docker rm bluedoc

bluedoc_root=/tmp/bluedoc
mkdir -p /tmp/bluedoc/data
touch ${bluedoc_root}/data/production.env
docker run --detach \
           --name bluedoc \
           --publish 443:443 --publish 80:80 \
           --restart always \
           --volume ${bluedoc_root}/postgresql:/var/lib/postgresql \
           --volume ${bluedoc_root}/redis:/var/lib/redis \
           --volume ${bluedoc_root}/elasticsearch:/usr/share/elasticsearch/data \
           --volume ${bluedoc_root}/storage:/home/app/bluedoc/storage \
           --volume ${bluedoc_root}/data:/home/app/bluedoc/data \
           --volume ${bluedoc_root}/log:/home/app/bluedoc/log \
           --volume ${bluedoc_root}/tmp:/home/app/bluedoc/tmp \
           --env-file ${bluedoc_root}/data/production.env \
           bluedoc/bluedoc:latest