[Evergreen-general] libdbi PostgreSQL driver not found in shared library path

Dashamir Hoxha dashohoxha at gmail.com
Sun Nov 3 12:08:49 EST 2024


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 <
blake at mobiusconsortium.org> 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 <evergreen-general at list.evergreen-ils.org> 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
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.evergreen-ils.org/pipermail/evergreen-general/attachments/20241103/fb4b2a81/attachment.htm>


More information about the Evergreen-general mailing list