acm-uiuc / groot

Infrastructure of ACM@UIUC
Other
12 stars 0 forks source link
docker groot groot-deployment

Groot

Groot is the next generation web application serving the UIUC Chapter of ACM. It is the replacement for liquid which goes defunct 1/1/2016.

Join the chat at https://acm-uiuc.slack.com/messages/C6XGZD212/

Groot Projects

Javascript

Python

Ruby

Go

Setting Up Groot

  1. Follow these instructions to install Docker and docker-compose.

  2. Install repo - https://android.googlesource.com/tools/repo/

    Mac OS

    brew install repo 

    Ubuntu 14.04+

    sudo apt install repo
    
  3. Make a directory to house your groot work

    mkdir groot-deploy
  4. Within this directory run the following command to start managing the projects

    repo init -u git@github.com:acm-uiuc/groot-manifest
  5. Run the following command to grab the latest releases of all services, including the frontend

    repo sync
  6. Run the settings init script:

    ./scripts/docker_settings_init.sh
  7. Start up Docker. (This may involve docker-machine if you're on a Mac)

  8. Start the Docker containers:

    docker-compose up
  9. Wait for the image to build and startup. If it works, you'll be able to visit https://0.0.0.0:5000 in a browser and see the deployed site. The Groot API will be available on port 8000.

    a. If you see errors it is most likely because you need to create configuration files for each of the services. For each service with an error, copy and rename the template file to the name of the file minus template. For example groot-api-gateway/config/config.go.template should be copied and renamed to groot-api-gateway/config/config.go

Useful Notes:

Legacy Instructions

Note: It is necessary for you to have an ssh key (without a password if you want it to be even easier) attached to your github

  1. Install repo - https://android.googlesource.com/tools/repo/

    Mac OS

    brew install repo 

    Ubuntu 14.04+

    sudo apt install repo
    
  2. Make a directory to house your groot work

    mkdir groot
  3. Within this directory run the following command to start managing the projects

    repo init -u git@github.com:acm-uiuc/groot-manifest
  4. Run the following command to grab the latest releases of the services and frontend

    repo sync
    • If you want to grab the latest ever just run the same command
  5. Run the dev_spinup.sh script to start up a dev instance of groot (will grab the latest version of each service on github)

  6. Run the prod_spinup.sh script to start a production version of groot (will grab the latest version of each and place them in their respective containers, so you will need docker)

First Time Setup

License

This project is licensed under the University of Illinois/NCSA Open Source License. For a full copy of this license take a look at the LICENSE file.

When contributing new files to this project, preappend the following header to the file as a comment:

Copyright © 2017, ACM@UIUC

This file is part of the Groot Project.  

The Groot Project is open source software, released under the University of Illinois/NCSA Open Source License. 
You should have received a copy of this license in a file with the distribution.