Dear Blake, thanks a lot for sharing this detailed information. Whichever path I take, I will find some part of it useful. For example, using a cherry-pick to patch the code is something that I would have never been able to find by myself, and it would have been a source of frustration.
I will certainly give a try to the demo docker image. However, using an external PostgreSQL is not that simple. I have already tried it. I have a PostgreSQL container that I use as an external DB for the apps that I install. It tried to use it as an external DB for EG, and I noticed that it required some additional packages or modules that I had not installed. I don't remember right now what they were. It is not a big deal, but it is something that needs to be documented and people should be told about it. I managed to find your Antora based documentation. I am a big fan of Antora and I use it myself for documentation purposes. My suggestion would be to get rid of the wiki pages and migrate all the doc pages to Antora. Antora can also function as a kind of wiki, if it is set up properly. For example I use it with GitLab pages, as described here: https://docker-scripts.gitlab.io/howto/working-with-docs.html Best regards, Dashamir On Sat, Nov 2, 2024 at 10:07 PM Blake Graham-Henderson < [email protected]> wrote: > Dashamir, > > I sympathize with you. Evergreen isn't the easiest thing to install. It's > a tall stack of cards starting with Linux at the bottom, then an ecosystem > of Perl modules, then PostgreSQL, then Ejabberd, then a thing called > OpenSRF, and finally Evergreen atop all of that. Then sprinkle Apache over > that and reverse proxy NGINX around Apache. The install steps will get you > there but you have to pay close attention to which user you're running each > command as. Some are root, some are opensrf and some are "user". Each step > is important. > > If you're just curious about how Evergreen operates and you want to get a > test server up and running, you can enable easy mode and start the > pre-built docker container like this: > > docker run -it -p 80:80 -p 443:443 -p 210:210 -p 6001:6001 -p 5433:5432 -h > app.evergreen.com mobiusoffice/evergreen-ils > > Wait 7 minutes, and it's ready for you to connect. > > Yes: it supports the latest version of Evergreen. We have published a > container that comes with 3.14.0. > > If you're interested in the build process, and you would like to build > your own docker container, then you can clone the git repository that we > use to build the containers and play with the build. If you would like to > build a different version of Evergreen, you'll want to edit the vars.yml > file and set the version number. Some versions of Evergreen require > different operating systems. If you go too far back, you'll want to change > the operating system that is used to build the container by editing the > Dockerfile. > > Unfortunately, you've arrived at a moment when this bug is plaguing our > docker builds: > > https://bugs.launchpad.net/evergreen/+bug/2086480 > > Luckily, it's easy to fix, but if you are going to build your own > container, you'll need to know about that issue, because your resulting > container will be broken without the fix. You can edit vars.yml and > introduce the patch like this: > > change this line: > Evergreen_cherry_picks: [] > > to this: > Evergreen_cherry_picks: ['0311de0825084499642407f09e08f63a93b46e6f'] > > > Of course, these containers aren't for production use. Mostly because the > PostgreSQL database is embedded. For production, you're going to need to > have a PostgreSQL server setup separate from your application server(s) or > at the very least, not in the docker container. Because of longevity and > backup reasons, you'll want that database to be preserved and not lost when > the container stops. > > Building a container that connects to an external PostgreSQL server > require some small tweaks to the "generic-dockerhub" build. > > These variables: > > database_host: localhost > database_database: evergreen > database_port: 5432 > database_user: evergreen > database_password: databasepassword > > will need to be changed to fit your external PostgreSQL server. > > And, you're going to need to manually edit the install_evergreen.yml > ansible playbook so that it doesn't* install PostgreSQL and* it doesn't > install the Evergreen database. This is important because If you forget to > delete portion of the install playbook that installs the Evergreen > database, it's possible that the container will delete and recreate your > database on your PostgreSQL server. > > All of the above is docker-specific information. I only went into such > detail because it seemed like you were interested in that path. > > Aside from using docker, you can install Evergreen onto a VM using other > methods: > https://wiki.evergreen-ils.org/doku.php?id=server_installation:semi_automated > > Specifically this one: > https://github.com/berick/evergreen-ansible-installer/tree/ubuntu-22.04 > > That repository should get a bare Linux OS setup for you without much > fuss. Though, you'll need to switch to Ubuntu instead of Debian Bookworm, > because Ubuntu 22.04 is one of the assumptions of that setup. > > > Another thing I'd like to mention: community demo servers are available > here: > > https://wiki.evergreen-ils.org/doku.php?id=community_servers > > > Hopefully someday soon, we can make more of these things obvious from our > website. I understand that our wiki makes some of these important pieces of > information hard to find! > > And in case you didn't find our documentation, it's here: > https://docs.evergreen-ils.org > > -Blake- > Conducting Magic > Will consume any data format > MOBIUS > > > > On 11/2/2024 10:24 AM, Dashamir Hoxha wrote: > > On Sat, Nov 2, 2024 at 1:01 AM Blake Graham-Henderson via > Evergreen-general <[email protected]> wrote: > >> Dashamir, >> >> Responding to your IRC comments. Have you taken a look at the docker >> build stuff that we have on github? >> > > Dear Blake, thanks for your reply. And also thanks for responding by email > (I prefer email communication versus IRC). > > https://github.com/mcoia/eg-docker >> >> And the docker images that are pre-built available on dockerhub: >> >> https://hub.docker.com/r/mobiusoffice/evergreen-ils >> >> >> This might also be of interest: >> >> https://wiki.evergreen-ils.org/doku.php?id=newdevs:testserver >> >> Feel free to copy anything from these repos and plug it into your repo. >> > > I didn't know about this stuff. If I knew, I could have tried to use your > docker images instead of trying to build mine. Does it support the latest > stable release of EG (have you tried it)? > > Anyway, I had a quick look at the GitHub repo, and it is difficult for me > to figure out from it what is wrong in my installation. It is basically > bash code, embedded into ansible yaml code, executed inside a docker > container (3 levels of complexity). I also have to admit that I am not > quite familiar with ansible. > > In any case, the installation instructions of EG (long and complex as they > are) are easier for me to understand. > So, if I follow them but I am still not able to make it work, it means > that: > - they are not as clear and precise and they should be > - there is some issue (maybe very small) with the latest stable release (I > have not tried the previous releases) > - I am missing something or I am doing something wrong > > If someone could help me (in an online meeting, in an interactive session) > to debug my installation and figure out what I am doing wrong, this would > be the easiest thing for me. > > Anyway, for the time being I am looking at Koha, which seems to be easier > to install and has less instructions. If I fail, I will look maybe at some > thind option (I don't know yet what this might be), or come back and > give another try to EG. > > In any case, thanks for your help. > > Sincerely, > Dashamir > > >
_______________________________________________ Evergreen-general mailing list [email protected] http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-general
