[Evergreen-general] libdbi PostgreSQL driver not found in shared library path
Blake Graham-Henderson
blake at mobiusconsortium.org
Sun Nov 3 13:36:45 EST 2024
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
> <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 <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 <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/606cf461/attachment-0001.htm>
More information about the Evergreen-general
mailing list