*vufind-httpd* is vufinds default webserver, which delivers file-requests and passes requests through to the php-service. the image is based on [httpd:alpine].
The images is extended by a default configuration with VuFind-specific configuration. The configuration expects the VuFind-Sources under `/usr/local/vufind`, and the cache-files which are built at VuFind-runtime under `/var/cache/vufind`.
Also i created a new *entrypoint* that modifies the configuration based on the value from the environment variable `BASE_PATH`. If you want to access VuFind unter http://localhost/vufind you need to provide the environment variable `BASE_PATH=/vufind` on container-create.
Usage makes only sense in connection with with [vufind-php], which provides the application server of VuFind. The server needs to be available as host *php*. Also the VuFind-files need to be connected to the container, so that the webserver can serve static content. VuFind creates additional cache-files, which have to be served by the webserver. This folder needs to be connected to the container as well.
You can start the webserver as follows:n:
```
#$ docker run --name httpd \
--link php:php \
--volume /path/to/vufind:/usr/local/vufind:ro \
--volume /path/to/cache:/var/cache/vufind:ro \
--environment BASE_PATH=/vufind
ubleipzig/vufind-httpd
```
## Notes
* The _vufind1-*_-Image exists only for development purposes. It enables developers to easily switch containers when they have VuFind1-work to do. The `BASE_PATH`-Option will not work for this Images
* There are no tests until i know how to write them for Docker-images
*vufind-httpd* is vufinds default webserver, which delivers file-requests and passes requests through to the php-service. the image is based on [httpd:alpine].
This repository holds the Dockerfiles and VuFind-configuration for the Apache2-webserver.
The images is extended by a default configuration with VuFind-specific configuration. The configuration expects the VuFind-Sources under `/usr/local/vufind`, and the cache-files which are built at VuFind-runtime under `/var/cache/vufind`.
## Image-Tags
Also i created a new *entrypoint* that modifies the configuration based on the value from the environment variable `BASE_PATH`. If you want to access VuFind unter http://localhost/vufind you need to provide the environment variable `BASE_PATH=/vufind` on container-create.
The images are created via a gitlab-pipeline, see [.gitlab-ci.yml]. There are several tags which can be used:
## supported tags
*`2.4-*`: points to a specific build. Each build is specified by a number. The higher, the latter.
*`2.4`: points to the latest build from the `2.4`-line. It is the same as the last `2.4-*`.
*`2`: points to the latest build from the `2`-line. If there will be a `2.6`-line it will point to that latest build.
*`latest`: always points to the latest build.
*`*-vufind1`: follows the rules above, but points to the image modified for VuFind1
*`vufind1`: always points to the latest image which is modified for VuFind1
Pushing the Code to the Repository does nothing. Images are created via GIT-Tags.
Usage makes only sense in connection with with [vufind-php], which provides the application server of VuFind. The server needs to be available as host *php*. Also the VuFind-files need to be connected to the container, so that the webserver can serve static content. VuFind creates additional cache-files, which have to be served by the webserver. This folder needs to be connected to the container as well.
```
git tag -a 2.4-2 -m 'minor optimization'
git push origin 2.4-2
```
_this will create a new image with a tag named `2.4-2`. Also the Tags `2.4`, `2`, and `latest` will point to this image._
You can start the webserver as follows:n:
```
#$ docker run --name httpd \
--link php:php \
--volume /path/to/vufind:/usr/local/vufind:ro \
--volume /path/to/cache:/var/cache/vufind:ro \
--environment BASE_PATH=/vufind
ubleipzig/vufind-httpd
git tag -a vufind1-2.4-2 -m 'minor optimization'
git push origin vufind1-2.4-2
```
_this will create a new image with a tag named `vufind1-2.4-2`. Also the Tags `vufind1-2.4`, `vufind1-2`, and `vufind1` will point to this image._
Only Repository-Masters will be able to create a new Tag.
## Contribution
In case you want to contribute please fork and make a pull-request at [Gitlab-hosting of Leipzig University]. This is due to internal policies and the higher flexibility when it comes to build images and push to [Docker-Hub]
## Notes
## Todo
* The _*-vufind1_-Image exists only for development purposes. It enables developers to easily switch containers when they have VuFind1-work to do. The `BASE_PATH`-Option will not work for this Images
* there are no tests until i know how to write them for Docker-images