diff options
-rw-r--r-- | .gitlab-ci.yml | 2 | ||||
-rw-r--r-- | docker/biboumi/Dockerfile | 30 | ||||
-rw-r--r-- | docker/biboumi/Dockerfile.base | 23 | ||||
-rw-r--r-- | docker/biboumi/README.rst | 20 | ||||
-rwxr-xr-x | docker/biboumi/build-docker.sh | 14 |
5 files changed, 26 insertions, 63 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a243be2..9427fce 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -176,5 +176,5 @@ packaging:docker: before_script: [] script: - docker login -p $DOCKER_PASSWORD -u louiz - - ./docker/biboumi/build-docker.sh louiz/biboumi + - docker build -t louiz/biboumi docker/biboumi - docker push louiz/biboumi diff --git a/docker/biboumi/Dockerfile b/docker/biboumi/Dockerfile index 7e73c9a..721d106 100644 --- a/docker/biboumi/Dockerfile +++ b/docker/biboumi/Dockerfile @@ -1,8 +1,28 @@ -# This dockerfile uses the image built using Dockerfile.base, and installs -# biboumi in it - -FROM biboumi-base - +# This Dockerfile creates a docker image running biboumi + +FROM docker.io/fedora:latest + +RUN dnf --refresh install -y\ + gcc-c++\ + cmake\ + make\ + udns-devel\ + sqlite-devel\ + libuuid-devel\ + expat-devel\ + libidn-devel\ + systemd-devel\ + git\ + python\ + && dnf clean all + +# Install botan +RUN git clone https://github.com/randombit/botan.git && cd botan && ./configure.py --prefix=/usr && make -j8 && make install && ldconfig && rm -rf /botan + +# Install litesql +RUN git clone git://git.louiz.org/litesql && mkdir /litesql/build && cd /litesql/build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr && make -j8 && cd /litesql/build && make install && ldconfig && rm -rf /litesql + +# Install biboumi RUN git clone git://git.louiz.org/biboumi && mkdir ./biboumi/build && cd ./biboumi/build &&\ cmake .. -DCMAKE_INSTALL_PREFIX=/usr\ -DCMAKE_BUILD_TYPE=Release\ diff --git a/docker/biboumi/Dockerfile.base b/docker/biboumi/Dockerfile.base deleted file mode 100644 index bbc32c2..0000000 --- a/docker/biboumi/Dockerfile.base +++ /dev/null @@ -1,23 +0,0 @@ -# This dockerfile install all the dependencies needing to compile biboumi - -FROM docker.io/fedora:latest - -RUN dnf --refresh install -y\ - gcc-c++\ - cmake\ - make\ - udns-devel\ - sqlite-devel\ - libuuid-devel\ - expat-devel\ - libidn-devel\ - systemd-devel\ - git\ - python\ - && dnf clean all - -# Install botan -RUN git clone https://github.com/randombit/botan.git && cd botan && ./configure.py --prefix=/usr && make -j8 && make install && ldconfig && rm -rf /botan - -# Install litesql -RUN git clone git://git.louiz.org/litesql && mkdir /litesql/build && cd /litesql/build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr && make -j8 && cd /litesql/build && make install && ldconfig && rm -rf /litesql diff --git a/docker/biboumi/README.rst b/docker/biboumi/README.rst index d2e2a7e..f6d529d 100644 --- a/docker/biboumi/README.rst +++ b/docker/biboumi/README.rst @@ -76,23 +76,3 @@ The database is stored in the /var/lib/biboumi/ directory. If you don’t bind a local directory to it, the database will be lost when the container is stopped. If you want to keep your database between each run, bind it with the -v option, like this: **-v /srv/biboumi/:/var/lib/biboumi**. - -Building --------- - -This image is built from 2 Dockerfiles: -- Dockerfile.base: builds and installs all the dependencies needed to build and run biboumi -- Dockerfile: builds and installs biboumi itself - -The goal is to be able to force the rebuild of biboumi itself (by using -the --no-cache option) without having to rebuild and install all its -dependencies. - -The build does not require any file in the build context, everything is -fetched during the build using git or dnf. - -To build a biboumi image named “foo/biboumi”, you can run the script: - -``` -./build-docker.sh foo/biboumi -``` diff --git a/docker/biboumi/build-docker.sh b/docker/biboumi/build-docker.sh deleted file mode 100755 index d206b89..0000000 --- a/docker/biboumi/build-docker.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -if [[ -z "$1" ]]; then - echo "Usage: ./build-docker.sh <image_name>" - echo "Example: ./build-docker.sh docker.io/coucou/biboumi" - exit 1 -fi - -directory=$(dirname $0) -image_name=$1 - -echo $directory -docker build -t biboumi-base $directory -f $directory/Dockerfile.base -docker build -t $image_name $directory -f $directory/Dockerfile --no-cache |