Dashamir,
We do have the PostgreSQL standalone setup in our install server
documentation:
https://evergreen-ils.org/documentation/install/README_3_14.html#creating_the_evergreen_database
That command will install all of the stuff needed for a standalone
PostgreSQL server. Keep in mind that PostreSQL 13 is the minimum version
required for Evergreen 3.14.
Let us know if you encounter a specific error, and maybe we can
troubleshoot that. I hope you get it setup and working! We're a fun
community of developers and librarians alike, and your suggestions and
improvements are very much welcome!
P.S. I updated our docker build repo yesterday to include that git
cherry pick, in case you were confused to find it already there. I plan
on removing it once the issue is resolved either in our Evergreen
install process or by the Module::Pluggable Perl project.
-Blake-
Conducting Magic
Will consume any data format
MOBIUS
On 11/3/2024 11:08 AM, Dashamir Hoxha wrote:
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 <http://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