From dc12d318941ec9c9f3d0ba6b66941d591adf98bf Mon Sep 17 00:00:00 2001 From: Lev Stipakov Date: Tue, 27 Mar 2018 16:42:00 +0300 Subject: [PATCH] [OVPN3-223] build: add docker images This allows to build core on: - debian 9 - ubuntu 16.04 - centos 7 using stock mbedtls and lz4 libraries. Signed-off-by: Lev Stipakov --- docker-build.sh | 12 ++++++++++++ dockerfiles/Dockerfile.centos | 19 +++++++++++++++++++ dockerfiles/Dockerfile.debian | 17 +++++++++++++++++ dockerfiles/Dockerfile.ubu | 17 +++++++++++++++++ 4 files changed, 65 insertions(+) create mode 100755 docker-build.sh create mode 100644 dockerfiles/Dockerfile.centos create mode 100644 dockerfiles/Dockerfile.debian create mode 100644 dockerfiles/Dockerfile.ubu diff --git a/docker-build.sh b/docker-build.sh new file mode 100755 index 00000000..97bbe21a --- /dev/null +++ b/docker-build.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# build ovpn3-core with system-provided mbedtls and lz4 on various linux distros + +docker build -f dockerfiles/Dockerfile.debian -t deb . +docker run -it deb + +docker build -f dockerfiles/Dockerfile.ubu -t ubu . +docker run -it ubu + +docker build -f dockerfiles/Dockerfile.centos -t cnt . +docker run -it cnt diff --git a/dockerfiles/Dockerfile.centos b/dockerfiles/Dockerfile.centos new file mode 100644 index 00000000..32d10889 --- /dev/null +++ b/dockerfiles/Dockerfile.centos @@ -0,0 +1,19 @@ +FROM centos/devtoolset-7-toolchain-centos7 + +USER 0 +RUN yum -y update && yum -y install epel-release && \ + yum -y install -y mbedtls-devel lz4-devel git wget perl-Digest-SHA make + +ADD . /ovpn3/core + +ENV O3 /ovpn3/ +ENV DEP_DIR /ovpn3/deps +ENV DL /ovpn3/dl + +CMD mkdir $DEP_DIR && mkdir $DL && \ + /ovpn3/core/scripts/linux/build-all && \ + cd $O3/core/test/ovpncli && \ + ECHO=1 PROF=linux ASIO=1 MTLS_SYS=1 LZ4_SYS=1 NOSSL=1 $O3/core/scripts/build cli && \ + cd $O3/core/test/ssl && \ + ECHO=1 PROF=linux ASIO=1 MTLS_SYS=1 LZ4_SYS=1 NOSSL=1 $O3/core/scripts/build proto && \ + ./proto diff --git a/dockerfiles/Dockerfile.debian b/dockerfiles/Dockerfile.debian new file mode 100644 index 00000000..3aaceaac --- /dev/null +++ b/dockerfiles/Dockerfile.debian @@ -0,0 +1,17 @@ +FROM debian:9 + +RUN apt-get update && apt-get install -y autoconf build-essential wget git liblz4-dev libmbedtls-dev + +ADD . /ovpn3/core + +ENV O3 /ovpn3/ +ENV DEP_DIR /ovpn3/deps +ENV DL /ovpn3/dl + +CMD mkdir $DEP_DIR && mkdir $DL && \ + /ovpn3/core/scripts/linux/build-all && \ + cd $O3/core/test/ovpncli && \ + ECHO=1 PROF=linux ASIO=1 MTLS_SYS=1 LZ4_SYS=1 NOSSL=1 $O3/core/scripts/build cli && \ + cd $O3/core/test/ssl && \ + ECHO=1 PROF=linux ASIO=1 MTLS_SYS=1 LZ4_SYS=1 NOSSL=1 $O3/core/scripts/build proto && \ + ./proto diff --git a/dockerfiles/Dockerfile.ubu b/dockerfiles/Dockerfile.ubu new file mode 100644 index 00000000..1502a287 --- /dev/null +++ b/dockerfiles/Dockerfile.ubu @@ -0,0 +1,17 @@ +FROM ubuntu:16.04 + +RUN apt-get update && apt-get install -y autoconf build-essential wget git liblz4-dev libmbedtls-dev + +ADD . /ovpn3/core + +ENV O3 /ovpn3/ +ENV DEP_DIR /ovpn3/deps +ENV DL /ovpn3/dl + +CMD mkdir $DEP_DIR && mkdir $DL && \ + /ovpn3/core/scripts/linux/build-all && \ + cd $O3/core/test/ovpncli && \ + ECHO=1 PROF=linux ASIO=1 MTLS_SYS=1 LZ4_SYS=1 NOSSL=1 $O3/core/scripts/build cli && \ + cd $O3/core/test/ssl && \ + ECHO=1 PROF=linux ASIO=1 MTLS_SYS=1 LZ4_SYS=1 NOSSL=1 $O3/core/scripts/build proto && \ + ./proto