DEV Community

Cover image for Vufind 10 docker install
Horacio Degiorgi
Horacio Degiorgi

Posted on • Edited on

5

Vufind 10 docker install

Updating documentation for OLD Article
First we need a docker image (i'm using a new one based on ubuntu yammy)
I'm using it in production with 25 libraries, 800k records , 4 collections and 3 diferents instances (postgresql, php 8.1).

# Created by @horaciodegiorgi @ dev.to
FROM ubuntu:jammy
#install all the dependencies
RUN apt-get update 
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get install -y curl apache2 \
          libapache2-mod-php \
          php-pear \
          php \
          php-curl \
          php-dev \
          php-gd \
          php-intl \
          php-json \
          php-ldap \
          php-mbstring \
          php-pgsql \
          php-soap \
          php-xml \
          php-zip \
          pkg-config \
          apt-utils

##optional 1 set timezone
ENV TZ=America/Argentina/Mendoza
#optional 2 install of yaz lib for access z3950 servers 
RUN apt-get install -y libyaz4-dev 
RUN yes "" |pecl install yaz    
RUN ln -s /usr/include/x86_64-linux-gnu/curl/ /usr/local/include/curl
# optional solr library for SIG 
RUN apt-get install -y libcurl4-gnutls-dev 
RUN yes "" |pecl install solr

# configure apache
EXPOSE 80
EXPOSE 443
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
COPY apache2-foreground /usr/bin/
RUN chmod +x /usr/bin/apache2-foreground 
RUN a2enmod rewrite
CMD ["apache2-foreground"]

Enter fullscreen mode Exit fullscreen mode

Create a image with
$ docker build -t vufindwebdocker .

For SOLR we need a image with java SDK . The eclipse-temurin:21 is working perfectly.
After download the 10 version of vufind from https://vufind.org

Now we need a docker-compose file.

version: '3.8'
services:
  vufbpgsm:
    tty: true
    image: 'eclipse-temurin:21'
    working_dir: /usr/local/vufind
    restart: 'no'
    user: '1000:1000'
    volumes:
      - './vufind/src:/usr/local/vufind'
    container_name: vufbpgsm
    environment:
      - VUFIND_LOCAL_DIR=/usr/local/vufind
      - VUFIND_LOCAL_DIR=/usr/local/vufind/local
      - SOLR_JETTY_HOST=0.0.0.0
      - SOLR_ADDITIONAL_START_OPTIONS=-f
   ports:
      - '8984:8983'
    command: './solr.sh start '
  vudindweb:
    ports:
      - '8111:80'
    volumes:
      - './html:/var/www/html'
      - './scripts/000-default.conf:/etc/apache2/sites-available/000-default.conf'
      - './vufind/src:/usr/local/vufind'
      - './scripts:/usr/local/scripts'
      - './phpini-override.ini:/etc/php/8.1/cli/conf.d/99-phpini-override.ini'
      - './phpini-override.ini:/etc/php/8.1/apache2/conf.d/99-phpini-override.ini'
    image: vufindwebdocker
Enter fullscreen mode Exit fullscreen mode

The others files script like 000-default.conf and phpini-override.ini are in the github repo
Vufind-10-docker

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more