diff --git a/.drone.jsonnet b/.drone.jsonnet index 5657a8aa2..866abc032 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -2,7 +2,7 @@ local default_deps_base='libsystemd-dev python3-dev libuv1-dev libunbound-dev ne local default_deps_nocxx='libsodium-dev ' + default_deps_base; // libsodium-dev needs to be >= 1.0.18 local default_deps='g++ ' + default_deps_nocxx; // g++ sometimes needs replacement local default_windows_deps='mingw-w64 zip nsis'; - +local docker_base = 'registry.oxen.rocks/lokinet-ci-'; local submodules = { name: 'submodules', @@ -93,7 +93,6 @@ local windows_cross_pipeline(name, image, 'eatmydata ' + apt_get_quiet + ' install -y build-essential cmake git ninja-build pkg-config ccache g++-mingw-w64-x86-64-posix nsis zip automake libtool', 'update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix', 'update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix', - 'git clone https://github.com/despair86/libuv.git win32-setup/libuv', 'mkdir build', 'cd build', 'cmake .. -G Ninja -DCMAKE_EXE_LINKER_FLAGS=-fstack-protector -DCMAKE_CXX_FLAGS=-fdiagnostics-color=always -DCMAKE_TOOLCHAIN_FILE=../contrib/cross/mingw'+toolchain+'.cmake -DCMAKE_BUILD_TYPE='+build_type+' ' + @@ -192,7 +191,7 @@ local mac_builder(name, build_type='Release', werror=true, cmake_extra='', extra kind: 'pipeline', type: 'docker', steps: [{ - name: 'build', image: 'debian:sid', + name: 'build', image: 'registry.oxen.rocks/lokinet-ci-lint', commands: [ 'echo "Building on ${DRONE_STAGE_MACHINE}"', apt_get_quiet + ' update', @@ -205,10 +204,10 @@ local mac_builder(name, build_type='Release', werror=true, cmake_extra='', extra // Various debian builds debian_pipeline("Debian sid (amd64)", "debian:sid"), debian_pipeline("Debian sid/Debug (amd64)", "debian:sid", build_type='Debug'), - debian_pipeline("Debian sid/clang-11 (amd64)", "debian:sid", deps='clang-11 '+default_deps_nocxx, + debian_pipeline("Debian sid/clang-11 (amd64)", docker_base+'debian-sid', deps='clang-11 '+default_deps_nocxx, cmake_extra='-DCMAKE_C_COMPILER=clang-11 -DCMAKE_CXX_COMPILER=clang++-11 '), debian_pipeline("Debian buster (i386)", "i386/debian:buster", cmake_extra='-DDOWNLOAD_SODIUM=ON'), - debian_pipeline("Ubuntu focal (amd64)", "ubuntu:focal"), + debian_pipeline("Ubuntu focal (amd64)", docker_base+'ubuntu-focal'), debian_pipeline("Ubuntu bionic (amd64)", "ubuntu:bionic", deps='g++-8 ' + default_deps_nocxx, cmake_extra='-DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8', loki_repo=true), @@ -226,13 +225,13 @@ local mac_builder(name, build_type='Release', werror=true, cmake_extra='', extra ]), // Windows builds (x64) - windows_cross_pipeline("Windows (amd64)", "debian:testing", + windows_cross_pipeline("Windows (amd64)", docker_base+'debian-win32-cross', toolchain='64', extra_cmds=[ '../contrib/ci/drone-static-upload.sh' ]), // Static build (on bionic) which gets uploaded to builds.lokinet.dev: - debian_pipeline("Static (bionic amd64)", "ubuntu:bionic", deps='g++-8 python3-dev automake libtool', lto=true, + debian_pipeline("Static (bionic amd64)", docker_base+'ubuntu-bionic', deps='g++-8 python3-dev automake libtool', lto=true, cmake_extra='-DBUILD_STATIC_DEPS=ON -DBUILD_SHARED_LIBS=OFF -DSTATIC_LINK=ON -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 ' + '-DCMAKE_CXX_FLAGS="-march=x86-64 -mtune=haswell" -DCMAKE_C_FLAGS="-march=x86-64 -mtune=haswell" -DNATIVE_BUILD=OFF ' + '-DWITH_SYSTEMD=OFF', diff --git a/contrib/ci/docker/android.dockerfile b/contrib/ci/docker/android.dockerfile new file mode 100644 index 000000000..6b069cbcf --- /dev/null +++ b/contrib/ci/docker/android.dockerfile @@ -0,0 +1,8 @@ +FROM debian:testing +RUN /bin/bash -c 'echo "man-db man-db/auto-update boolean false" | debconf-set-selections' +RUN /bin/bash -c 'sed -i "s/main/main contrib/g" /etc/apt/sources.list' +RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q update && apt-get -o=Dpkg::Use-Pty=0 -q dist-upgrade -y && apt-get -o=Dpkg::Use-Pty=0 -q install -y android-sdk google-android-ndk-installer' +RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q -y install wget git pkg-config' +RUN /bin/bash -c 'wget https://services.gradle.org/distributions/gradle-6.3-bin.zip -O /tmp/gradle.zip && unzip -d /opt/ /tmp/gradle.zip && ln -s /opt/gradle*/bin/gradle /usr/local/bin/gradle && rm -f /tmp/gradle.zip' +RUN /bin/bash -c 'git clone https://github.com/Shadowstyler/android-sdk-licenses.git /tmp/android-sdk-licenses && cp -a /tmp/android-sdk-licenses/*-license /usr/lib/android-sdk/licenses && rm -rf /tmp/android-sdk-licenses' +RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q -y install automake libtool' \ No newline at end of file diff --git a/contrib/ci/docker/debian-sid.dockerfile b/contrib/ci/docker/debian-sid.dockerfile new file mode 100644 index 000000000..29586e96f --- /dev/null +++ b/contrib/ci/docker/debian-sid.dockerfile @@ -0,0 +1,3 @@ +FROM debian:sid +RUN /bin/bash -c 'echo "man-db man-db/auto-update boolean false" | debconf-set-selections' +RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q update && apt-get -o=Dpkg::Use-Pty=0 -q dist-upgrade -y && apt-get -o=Dpkg::Use-Pty=0 -q install -y eatmydata gdb cmake git ninja-build pkg-config ccache clang-11 libsodium-dev libsystemd-dev python3-dev libuv1-dev libunbound-dev nettle-dev libssl-dev libevent-dev libsqlite3-dev' \ No newline at end of file diff --git a/contrib/ci/docker/debian-stable.dockerfile b/contrib/ci/docker/debian-stable.dockerfile new file mode 100644 index 000000000..580ecf72f --- /dev/null +++ b/contrib/ci/docker/debian-stable.dockerfile @@ -0,0 +1,3 @@ +FROM debian:stable +RUN /bin/bash -c 'echo "man-db man-db/auto-update boolean false" | debconf-set-selections' +RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q update && apt-get -o=Dpkg::Use-Pty=0 -q dist-upgrade -y && apt-get -o=Dpkg::Use-Pty=0 -q install -y eatmydata gdb cmake git ninja-build pkg-config ccache g++ libsodium-dev libsystemd-dev python3-dev libuv1-dev libunbound-dev nettle-dev libssl-dev libevent-dev libsqlite3-dev' \ No newline at end of file diff --git a/contrib/ci/docker/debian-win32-cross.dockerfile b/contrib/ci/docker/debian-win32-cross.dockerfile new file mode 100644 index 000000000..0cdedf56c --- /dev/null +++ b/contrib/ci/docker/debian-win32-cross.dockerfile @@ -0,0 +1,4 @@ +FROM debian:testing +RUN /bin/bash -c 'echo "man-db man-db/auto-update boolean false" | debconf-set-selections' +RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q update && apt-get -o=Dpkg::Use-Pty=0 -q dist-upgrade -y && apt-get -o=Dpkg::Use-Pty=0 -q install -y eatmydata build-essential cmake git ninja-build pkg-config ccache g++-mingw-w64-x86-64-posix nsis zip automake libtool' +RUN /bin/bash -c 'update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix && update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix' \ No newline at end of file diff --git a/contrib/ci/docker/lint.dockerfile b/contrib/ci/docker/lint.dockerfile new file mode 100644 index 000000000..a9200c3c1 --- /dev/null +++ b/contrib/ci/docker/lint.dockerfile @@ -0,0 +1,3 @@ +FROM debian:sid +RUN /bin/bash -c 'echo "man-db man-db/auto-update boolean false" | debconf-set-selections' +RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q update && apt-get -o=Dpkg::Use-Pty=0 -q install -y eatmydata git clang-format-9' \ No newline at end of file diff --git a/contrib/ci/docker/readme.md b/contrib/ci/docker/readme.md new file mode 100644 index 000000000..7b3cfbe87 --- /dev/null +++ b/contrib/ci/docker/readme.md @@ -0,0 +1,8 @@ +## drone-ci docker jizz + +To rebuild all ci images and push them to a registry server do: + + $ docker login your.registry.here + $ ./rebuild-docker-images.sh your.registry.here *.dockerfile + +The docker images will be `your.registry.here/lokinet-ci-*`for each *.dockerfile in this directory diff --git a/contrib/ci/docker/rebuild-docker-images.sh b/contrib/ci/docker/rebuild-docker-images.sh new file mode 100755 index 000000000..b86fc655b --- /dev/null +++ b/contrib/ci/docker/rebuild-docker-images.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# the registry server to use +registry=$1 + +test "x$registry" != "x" || exit 1 + +for file in ${@:2} ; do + name="$(echo $file | cut -d'.' -f1)" + echo "rebuild $name" + docker build -f $file -t $registry/lokinet-ci-$name --pull --no-cache --quiet . + docker push $registry/lokinet-ci-$name +done diff --git a/contrib/ci/docker/ubuntu-bionic.dockerfile b/contrib/ci/docker/ubuntu-bionic.dockerfile new file mode 100644 index 000000000..b5561ffe4 --- /dev/null +++ b/contrib/ci/docker/ubuntu-bionic.dockerfile @@ -0,0 +1,3 @@ +FROM ubuntu:bionic +RUN /bin/bash -c 'echo "man-db man-db/auto-update boolean false" | debconf-set-selections' +RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q update && apt-get -o=Dpkg::Use-Pty=0 -q dist-upgrade -y && apt-get -o=Dpkg::Use-Pty=0 -q install -y eatmydata gdb cmake git ninja-build pkg-config ccache g++-8 python3-dev automake libtool' diff --git a/contrib/ci/docker/ubuntu-focal.dockerfile b/contrib/ci/docker/ubuntu-focal.dockerfile new file mode 100644 index 000000000..bbedeea73 --- /dev/null +++ b/contrib/ci/docker/ubuntu-focal.dockerfile @@ -0,0 +1,3 @@ +FROM ubuntu:focal +RUN /bin/bash -c 'echo "man-db man-db/auto-update boolean false" | debconf-set-selections' +RUN /bin/bash -c 'apt-get -o=Dpkg::Use-Pty=0 -q update && apt-get -o=Dpkg::Use-Pty=0 -q dist-upgrade -y && apt-get -o=Dpkg::Use-Pty=0 -q install -y eatmydata gdb cmake git ninja-build pkg-config ccache g++ libsodium-dev libsystemd-dev python3-dev libuv1-dev libunbound-dev nettle-dev libssl-dev libevent-dev libsqlite3-dev' \ No newline at end of file diff --git a/docker/alpine-windows.Dockerfile b/docker/alpine-windows.Dockerfile deleted file mode 100644 index bb03bbd83..000000000 --- a/docker/alpine-windows.Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM alpine:edge as builder - -RUN apk update && \ - apk --no-cache add --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing build-base cmake git libcap-dev libcap-static libuv-dev libuv-static curl ninja bash binutils-gold mingw-w64-gcc - -WORKDIR /src/ -COPY . /src/ - -RUN make windows-release NINJA=ninja STATIC_LINK=ON DOWNLOAD_SODIUM=ON diff --git a/docker/compose/bootstrap.Dockerfile b/docker/compose/bootstrap.Dockerfile deleted file mode 100644 index 070e27802..000000000 --- a/docker/compose/bootstrap.Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM compose-base:latest - -ENV LOKINET_NETID=docker - -COPY ./docker/compose/bootstrap.ini /root/.lokinet/lokinet.ini - -CMD ["/lokinet"] -EXPOSE 1090/udp 1190/tcp diff --git a/docker/compose/bootstrap.ini b/docker/compose/bootstrap.ini deleted file mode 100644 index b592e0dc4..000000000 --- a/docker/compose/bootstrap.ini +++ /dev/null @@ -1,59 +0,0 @@ -[router] -# number of crypto worker threads -threads=4 -# path to store signed RC -contact-file=/root/.lokinet/self.signed -# path to store transport private key -transport-privkey=/root/.lokinet/transport.private -# path to store identity signing key -ident-privkey=/root/.lokinet/identity.private -# encryption key for onion routing -encryption-privkey=/root/.lokinet/encryption.private -block-bogons=false - -# uncomment following line to set router nickname to 'lokinet' -nickname=bootstrap - -[logging] -level=info - -[metrics] -json-metrics-path=/root/.lokinet/metrics.json - -# admin api (disabled by default) -[api] -enabled=true -bind=127.0.0.1:1190 - -# system settings for privileges and such -[system] -user=lokinet -group=lokinet -pidfile=/root/.lokinet/lokinet.pid - -# dns provider configuration section -[dns] -# resolver -upstream=1.1.1.1 -bind=127.3.2.1:53 - -# network database settings block -[netdb] -# directory for network database skiplist storage -dir=/netdb - -# lokid settings (disabled by default) -[lokid] -enabled=false -jsonrpc=127.0.0.1:22023 - -# network settings -[network] -profiles=/root/.lokinet/profiles.dat -enabled=true -exit=false -ifname=loki-docker0 - -# ROUTERS ONLY: publish network interfaces for handling inbound traffic -[bind] -eth0=1090 diff --git a/docker/compose/client.Dockerfile b/docker/compose/client.Dockerfile deleted file mode 100644 index a209c5330..000000000 --- a/docker/compose/client.Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM compose-base:latest - -COPY ./docker/compose/client.ini /root/.lokinet/lokinet.ini - -CMD ["/lokinet"] -EXPOSE 1090/udp 1190/tcp diff --git a/docker/compose/client.ini b/docker/compose/client.ini deleted file mode 100644 index 8b98efdb7..000000000 --- a/docker/compose/client.ini +++ /dev/null @@ -1,52 +0,0 @@ -[router] -# number of crypto worker threads -threads=4 -# path to store signed RC -contact-file=/root/.lokinet/self.signed -# path to store transport private key -transport-privkey=/root/.lokinet/transport.private -# path to store identity signing key -ident-privkey=/root/.lokinet/identity.private -# encryption key for onion routing -encryption-privkey=/root/.lokinet/encryption.private -block-bogons=false - -[logging] -level=info - -[metrics] -json-metrics-path=/root/.lokinet/metrics.json - -# admin api (disabled by default) -[api] -enabled=true -bind=127.0.0.1:1190 - -# system settings for privileges and such -[system] -user=lokinet -group=lokinet -pidfile=/root/.lokinet/lokinet.pid - -# dns provider configuration section -[dns] -# resolver -upstream=1.1.1.1 -bind=127.0.0.1:53 - -# network database settings block -[netdb] -# directory for network database skiplist storage -dir=/netdb - -# lokid settings (disabled by default) -[lokid] -enabled=false -jsonrpc=127.0.0.1:22023 - -# network settings -[network] -profiles=/root/.lokinet/profiles.dat -enabled=true -exit=false -ifname=loki-docker0 diff --git a/docker/compose/compose-base.Dockerfile b/docker/compose/compose-base.Dockerfile deleted file mode 100644 index 3211ae880..000000000 --- a/docker/compose/compose-base.Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -ARG LOKINET_NETID=docker - -FROM alpine:edge as builder - -RUN apk update && \ - apk add build-base cmake git libcap-dev libcap-static libuv-dev libuv-static curl ninja bash binutils-gold - -WORKDIR /src/ -COPY . /src/ - -RUN make NINJA=ninja STATIC_LINK=ON BUILD_TYPE=Release - -FROM alpine:latest - -COPY --from=builder /src/build/daemon/lokinet / -COPY --from=builder /src/build/daemon/lokinet-ctl / diff --git a/docker/compose/docker-compose.yml b/docker/compose/docker-compose.yml deleted file mode 100644 index 42fd6748c..000000000 --- a/docker/compose/docker-compose.yml +++ /dev/null @@ -1,87 +0,0 @@ -version: '3.4' -services: - bootstrap-router: - build: - context: . - dockerfile: docker/compose/bootstrap.Dockerfile - image: bootstrap - cap_add: - - NET_ADMIN - devices: - - "/dev/net/tun:/dev/net/tun" - ports: - - target: 1090 - protocol: udp - - target: 1190 - protocol: tcp - volumes: - - bootstrap-dir:/root/.lokinet/ - environment: - - LOKINET_NETID=docker - networks: - testing_net: - - router: - depends_on: - - bootstrap-router - build: - context: . - dockerfile: docker/compose/router.Dockerfile - image: router - devices: - - "/dev/net/tun:/dev/net/tun" - ports: - - target: 1090 - protocol: udp - mode: host - - target: 1190 - protocol: tcp - mode: host - cap_add: - - NET_ADMIN - volumes: - - bootstrap-dir:/bootstrap/ - environment: - - LOKINET_NETID=docker - networks: - testing_net: - - client: - depends_on: - - bootstrap-router - build: - context: . - dockerfile: docker/compose/router.Dockerfile - image: router - devices: - - "/dev/net/tun:/dev/net/tun" - ports: - - target: 1090 - protocol: udp - mode: host - - target: 1190 - protocol: tcp - mode: host - - target: 53 - protocol: tcp - mode: host - cap_add: - - NET_ADMIN - volumes: - - bootstrap-dir:/bootstrap/ - environment: - - LOKINET_NETID=docker - networks: - testing_net: - -volumes: - bootstrap-dir: - -networks: - testing_net: - driver: bridge - internal: true - ipam: - driver: default - config: - - subnet: 172.28.0.0/16 diff --git a/docker/compose/router.Dockerfile b/docker/compose/router.Dockerfile deleted file mode 100644 index b67482faf..000000000 --- a/docker/compose/router.Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM compose-base:latest - -COPY ./docker/compose/router.ini /root/.lokinet/lokinet.ini - -CMD ["/lokinet"] -EXPOSE 1090/udp 1190/tcp diff --git a/docker/compose/router.ini b/docker/compose/router.ini deleted file mode 100644 index f6a620948..000000000 --- a/docker/compose/router.ini +++ /dev/null @@ -1,72 +0,0 @@ -[router] -# number of crypto worker threads -threads=4 -# path to store signed RC -contact-file=/root/.lokinet/self.signed -# path to store transport private key -transport-privkey=/root/.lokinet/transport.private -# path to store identity signing key -ident-privkey=/root/.lokinet/identity.private -# encryption key for onion routing -encryption-privkey=/root/.lokinet/encryption.private -block-bogons=false - -# uncomment following line to set router nickname to 'lokinet' -#nickname=lokinet - - -[logging] -level=info -# uncomment for logging to file -#type=file -#file=/path/to/logfile -# uncomment for syslog logging -#type=syslog - -[metrics] -json-metrics-path=/root/.lokinet/metrics.json - -# admin api (disabled by default) -[api] -enabled=true -bind=127.0.0.1:1190 - -# system settings for privileges and such -[system] -user=lokinet -group=lokinet -pidfile=/root/.lokinet/lokinet.pid - -# dns provider configuration section -[dns] -# resolver -upstream=1.1.1.1 -bind=127.3.2.1:53 - -# network database settings block -[netdb] -# directory for network database skiplist storage -dir=/netdb - -# bootstrap settings -[bootstrap] -# add a bootstrap node's signed identity to the list of nodes we want to bootstrap from -# if we don't have any peers we connect to this router -add-node=/bootstrap/self.signed - -# lokid settings (disabled by default) -[lokid] -enabled=false -jsonrpc=127.0.0.1:22023 - -# network settings -[network] -profiles=/root/.lokinet/profiles.dat -enabled=true -exit=false -ifaddr=10.200.0.1/8 -ifname=loki-docker0 - -# ROUTERS ONLY: publish network interfaces for handling inbound traffic -[bind] -eth0=1090 diff --git a/docker/debian.Dockerfile b/docker/debian.Dockerfile deleted file mode 100644 index 1ba7cb007..000000000 --- a/docker/debian.Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM debian:stable - -RUN apt update && \ - apt install -y build-essential cmake git libcap-dev curl ninja-build - -WORKDIR /src/ - -COPY . /src/ - -RUN make NINJA=ninja JSONRPC=ON && make install NINJA=ninja diff --git a/docker/fedora.Dockerfile b/docker/fedora.Dockerfile deleted file mode 100644 index 647c18948..000000000 --- a/docker/fedora.Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM fedora:latest - -RUN dnf update -y && \ - dnf upgrade -y && \ - dnf install -y cmake make git gcc gcc-c++ libcap-devel curl - -WORKDIR /src/ - -COPY . /src/ - -RUN make -j8 JSONRPC=ON diff --git a/docker/gcc-trunk.Dockerfile b/docker/gcc-trunk.Dockerfile deleted file mode 100644 index 8ad5634cf..000000000 --- a/docker/gcc-trunk.Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM gcc:latest - -RUN apt update && \ - apt install -y cmake git libcap-dev curl ninja-build libuv1-dev - -WORKDIR /src/ - -COPY . /src/ - -RUN mkdir build && \ - cd build && \ - cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DWARNINGS_AS_ERRORS=ON -DDOWNLOAD_SODIUM=ON && \ - ninja -k0 && \ - ./test/testAll diff --git a/docker/loki-svc-kubernetes.Dockerfile b/docker/loki-svc-kubernetes.Dockerfile deleted file mode 100644 index aee2a9018..000000000 --- a/docker/loki-svc-kubernetes.Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM debian:stable - -RUN apt update && \ - apt install -y build-essential cmake git libcap-dev curl python3-dev python3-setuptools libsodium-dev - -WORKDIR /src/ - -COPY . /src/ - -RUN make -j 8 SHARED_LIB=ON JSONRPC=ON && make kubernetes-install - -ENTRYPOINT [ "/usr/bin/python3", "-m", "pylokinet"] diff --git a/docker/router.Dockerfile b/docker/router.Dockerfile deleted file mode 100644 index 5ff8685af..000000000 --- a/docker/router.Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -ARG bootstrap="https://i2p.rocks/i2procks.signed" -FROM alpine:edge as builder - -RUN apk update && \ - apk add build-base cmake git libcap-dev libcap-static libuv-dev libuv-static curl ninja bash binutils-gold curl-dev - -WORKDIR /src/ -COPY . /src/ - -RUN make NINJA=ninja STATIC_LINK=ON BUILD_TYPE=Release DOWNLOAD_SODIUM=ON -RUN ./lokinet-bootstrap ${bootstrap} - -FROM alpine:latest - -COPY lokinet-docker.ini /root/.lokinet/lokinet.ini -COPY --from=builder /src/build/daemon/lokinet . -COPY --from=builder /root/.lokinet/bootstrap.signed /root/.lokinet/ - -CMD ["./lokinet"] -EXPOSE 1090/udp 1190/tcp diff --git a/docker/ubuntu.Dockerfile b/docker/ubuntu.Dockerfile deleted file mode 100644 index 2669fbdd3..000000000 --- a/docker/ubuntu.Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM ubuntu:xenial - -RUN apt update && \ - apt-get install -y apt-transport-https ca-certificates gnupg software-properties-common wget && \ - wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc | apt-key add - && \ - apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main' && \ - apt-get update && \ - apt install -y build-essential cmake git libcap-dev curl ninja-build libuv1-dev - -WORKDIR /src/ - -COPY . /src/ - -RUN make NINJA=ninja JSONRPC=ON STATIC_LINK=ON