User Tools

Site Tools


New Developers Working Group

Setting Up a Development Environment

Setting up a Development Environment

Thank you to Blake Henderson and MOBIUS for the development of this Docker container that is specifically set up to edit Evergreen and have on-the-fly results on the Evergreen server. This container has been tested on Windows and Linux and theoretically will work on OSX.

README Page for the Container:

Git Repo that builds the Container:


  1. Install GitHub -
  2. Install Git Bash and clone the Evergreen git repository - see
  3. When installing Git Bash, make sure to choose the option "Checkout as-is, commit as-is". If already installed incorrectly, use this command:
    git config --global core.autocrlf false

    and reclone Evergreen repo.

  4. Install docker on your workstation. On Windows, that's "Docker Desktop" -
  5. Make sure you're on a recent branch. Older branches (3.9 and below) may not work, as this container is running Ubuntu Jammy.
  6. Once Docker is installed and running, issue this command from Linux (update the folder paths to match your environment)
    docker run -it -p 80:80 -p 443:443 -p 210:210 -p 6001:6001 -p 32:22 
    -p 5433:5432 -v /home/user/Evergreen:/home/opensrf/repos/Evergreen -h mobiusoffice/evergreen-ils:dev

    Or, on Windows PowerShell:

    docker run -it -p 80:80 -p 443:443 -p 210:210 -p 6001:6001 -p 32:22 
    -p 5433:5432 -v //c/users/blake/Documents/GitHub/Evergreen:/home/opensrf/repos/Evergreen 
    -h mobiusoffice/evergreen-ils:dev
  7. This may take up to 15 minutes to bring the server online depending on your hardware. When you see this, it is finished:

    There will be another minute or so delay for the Angular files to begin working.

  8. Press CTRL+pq to keep it running. (CTRL+c will kill the container.)
  9. Open a browser and go to and click through any SSL warnings.
    • The staff home page will be https://localhost/eg/staff (login with admin / demo123)
    • Edits to the template toolkit files Open-ILS/src/templates(-bootstrap) are live.
    • Edits to the AngularJS folder Open-ILS/web/js/ui/default/staff are live.
    • Edits to the Angular folder Open-ILS/web/eg2 are NOT LIVE because the folder needs to be compiled when files are edited. The container is waiting for you to let it know when it should do that. In order to let it know, you need to create a regular file in the root of your Evergreen folder called "eg_rebuild_angular". The build output will be provided back to you by way of a file called "eg_rebuild_angular_screenoutput".
    • Perl edits are not live (because Perl). Changes to the Perl will require Evergreen services to restart. Similar to the Angular compile trigger, you can trigger the container to restart the Evergreen services by placing a regular file in the root of your Evergreen folder called "eg_restart_go". The container will react on the next minute. It's a cron job that runs on the minute every minute.

Grow Your Own Evergreen!

Evergreen Conference Session by Michele Morgan of NOBLE

newdevs/testserver.txt · Last modified: 2024/01/22 13:48 by gmonti

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.