[Eg-newdevs] Developing Evergreen with a Docker container companion
Blake Henderson
blake at mobiusconsortium.org
Thu Apr 13 18:04:47 EDT 2023
All,
I wanted to let everyone know that we've been working on a new Docker
container. One specifically setup 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. Use your favorite OS.
To use it:
1. Install docker on your workstation. On Windows, that's "Docker
Desktop" (https://www.docker.com/products/docker-desktop/)
2. Make sure you have the Evergreen git repository cloned on your hard
drive somewhere. Make sure you're on a recent branch. Older branches
(3.9 and below) may not work, as this container is running Ubuntu Jammy.
3. Once Docker is installed and running, issue this command (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
test.evergreen.com mobiusoffice/evergreen-ils:dev
Or on Windows (from 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 test.evergreen.com mobiusoffice/evergreen-ils:dev
This container is decidedly slower to boot than the "generic" container.
It's slower because it reinstalled the Evergreen server with your
locally provided Evergreen folder. Depending on your hardware, it could
take 15 minutes to bring the server online.
When you see this:
PLAY RECAP
*****************************************************************************************************
It's finished. There is a small delay after that in order to get the
Angular files generated (anything */eg2/* won't work for another minute
or so).
Be sure and keep it running by pressing CTRL+pq (CTRL+c will kill the
container)
You should be able to open a browser and browse to 127.0.0.1. You'll
need to click through any browser warning about SSL certificates.
Default login: admin/demo123 (URL: https://localhost/eg/staff)
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
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.
Any and all feedback is welcome!
--
-Blake-
Conducting Magic
Will consume any data format
MOBIUS
More information about the Eg-newdevs
mailing list