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

Reply via email to