How to start devspoon-startup-web solution
devspoon-startup-web is an open source made based on devspoon-web that can easily build project integration management solutions (openproject, jenkins, gitolite[private git server], harbor[private docker server]) required for start-up or development teams as well as php and python based web servers.
Project management solutions
- OpenProject : Open source project management software to help you work on your project efficiently
- Jenkins : As one of the CI tools, CI (Continuous Integration) refers to continuous integration, which is an automated process for developers, and new code changes are automatically built and tested regularly to notify developers to solve problems that can occur when multiple developers develop simultaneously. Software that helps secure development stability and reliability
- Gitolite : Configuration Management Tool. user can install git server software at own server
- Harbor : The Private Docker Registry Server for businesses that store and distribute Docker Images
Features
- Supports creation of configuration files required for each service : Environment files and security keys used for each service are created according to the user's keyboard input using a shell script or automatically generated.
- User custom installation support : You can selectively install only the desired solution at compose/project_mng_service/(solution) without having to install all the solutions.
- If you want to install more than one solution at the same time, just uncomment what you want at compose/master_service/docker-compose.yml.
- Access web server and project management solutions with one nginx through nginx proxy : All solutions are available on one nginx server.
- You can use ssh for direct access to gitolite.
- The harbor will be supported in a future version due to security issues, and you can connect to your own server through harbor.yml.
Install & Run
OpenProject
- When using OpenProject, e-mail account information is required to send events by e-mail
- In this sample, We consider the mailgun service setting
- A docker-compose.yml file is at /compose/project_mng_service/nginx_openproject
- If your account isn't joining in admin group, remove all files in the pgdata folder
- Run nginx_proxy_conf.sh file in config/web-server/nginx/(web server type) and enter service port number, domain, proxy url(You can use the Openproject's application name in docker-compose.yml), proxy port number, filename, and than, it make a nginx conf file in conf.d folder
- get move to compose/project_mng_service/nginx_openproject/
- Run docker-compose.yml file
- There are advanced information in OpenProject Official User Documentation
Jenkins
- Run nginx_proxy_conf.sh file in config/web-server/nginx/(web server type) and enter service port number, domain, proxy url(Openproject's application name in docker-compose.yml), proxy port number, filename, and than, it make a nginx conf file in conf.d folder
- get move to compose/project_mng_service/nginx_jenkins/
- Run docker-compose.yml file
- There are advanced information in Jenkins Official User Documentation
Gitolite
- This docker make 2 account as gitolite-creator and git-manager. gitolite install at gitolite-creator and git-manager will manage gitolite system such as add new user or make new repogitory etc
- For management add new user account or make new repository, administrator must be accessed gitolite server by git-manager account. So, User must make client_user.pub key in docker/gitolite/system folder. Dockerfile will add this key at authorized_keys in git-manager account
- get move to compose/project_mng_service/gitolite/
- Run docker-compose.yml file
- There are sample shell scripts
- you can access the container of gitolite using "docker exec -it gitolite base"
- you can find shell script files at /home/git-manager/sample-script/
clone_admin.sh -> clone admin repository to manage gitolite system. administrator must manage gitolite system though only git-manager account add_user.sh -> it show how to add new user in gitolite
- There are advanced information in Gitolite Cookbook
Harbor
- To use harbor, it require latest docker-compose package. run /compose/project_mng_service/harbor-v.2.0.0/update_docker-compose.sh. if user already have latest version than 1.26.0, don't need this step
- harbor require a configuration file such as harbor.yml. update_harbor_config.sh file make harbor.yml. and then run install.sh, harbor will install successfully
- If user want to install harbor by one step, user can use autoinstall.sh file. it is process to make harbor.yml and run install.sh
- If user want to use https, have to make ssl key in /compose/project_mng_service/harbor-v.2.0.0/ssl/ before runing install.sh or autoinstall.sh
- If user want to make ssl key, refer "Setting up HTTPS on a web server" section. there are at bottom in this page
- There are advanced information in Harbor 2.0 Documentation