insomnia/Dockerfile
Gregory Schier 605cb90753
Update Electron and node-libcurl (#1215)
* A bunch of things

* Publish

 - insomnia-app@1.0.41
 - insomnia-cookies@0.0.8
 - insomnia-httpsnippet@1.16.13
 - insomnia-importers@2.0.7
 - insomnia-libcurl@0.0.17
 - insomnia-url@0.1.4
 - insomnia-xpath@1.0.5
 - insomnia-plugin-cookie-jar@1.0.3
 - insomnia-plugin-jsonpath@1.0.7
 - insomnia-plugin-now@1.0.7
 - insomnia-plugin-os@1.0.9
 - insomnia-plugin-prompt@1.1.7
 - insomnia-plugin-request@1.0.13
 - insomnia-plugin-response@1.0.11
 - insomnia-plugin-uuid@1.0.6

* Package deps

* Remove fsevents again

* Appveyor node verison

* Remove unused dep

* Try something

* Try another thing

* NPM audit

* Yet again

* Fix test

* Fix test

* Remove npm dep

* Fix webview

* Fix React sortable and bump version

* Comment out broken test for now

* Publish

 - insomnia-app@1.0.42
 - insomnia-cookies@0.0.9
 - insomnia-httpsnippet@1.16.14
 - insomnia-importers@2.0.8
 - insomnia-libcurl@0.0.18
 - insomnia-xpath@1.0.6
 - insomnia-plugin-cookie-jar@1.0.4
 - insomnia-plugin-file@1.0.5
 - insomnia-plugin-jsonpath@1.0.8
 - insomnia-plugin-now@1.0.8
 - insomnia-plugin-os@1.0.10
 - insomnia-plugin-request@1.0.14
 - insomnia-plugin-response@1.0.12
 - insomnia-plugin-uuid@1.0.7

* Remove deprecated Electron Builder config options

* Try some more

* Publish

 - insomnia-app@1.0.43
 - insomnia-libcurl@0.0.19

* Bump

* Publish

 - insomnia-app@1.0.44
 - insomnia-libcurl@0.0.20

* Hopefully fix windows builds

* DEBUG on travis

* Hopefully fix dependency issues

* Undo package-lock copy

* Debug

* More debugging

* Another check

* Fix debug check

* Try just build

* Extra logging

* Escape windows paths differently (Fixes #1217)

* Try packing more deps

* Publish

 - insomnia-app@1.0.45
 - insomnia-cookies@0.0.10
 - insomnia-httpsnippet@1.16.15
 - insomnia-importers@2.0.9
 - insomnia-libcurl@0.0.21
 - insomnia-xpath@1.0.7
 - insomnia-plugin-cookie-jar@1.0.5
 - insomnia-plugin-jsonpath@1.0.9
 - insomnia-plugin-now@1.0.9
 - insomnia-plugin-os@1.0.11
 - insomnia-plugin-request@1.0.15
 - insomnia-plugin-response@1.0.13
 - insomnia-plugin-uuid@1.0.8

* Adjust some deps

* Zip build dir into release files

* More debug info

* Undo travis tar debug

* Downgrade electron-builder to 20.19

* Downgrade electron-builder to last working version

* Try electron-builder 20.20.4

* Change bundled deps

* Add electron-builder-lib back
2018-10-19 22:11:58 -04:00

78 lines
2.5 KiB
Docker

FROM ubuntu:16.04
# Install core deps
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y \
build-essential \
autoconf \
libtool \
pkg-config \
snapcraft \
wget
# Install Node and app-related dependencies
RUN wget -O- https://deb.nodesource.com/setup_10.x | bash - \
&& apt-get install -y nodejs graphicsmagick icnsutils
# Build zlib from source (for Curl)
RUN wget -q https://github.com/madler/zlib/archive/v1.2.11.tar.gz -O ./zlib.tar.gz \
&& mkdir -p /src/zlib /build/zlib \
&& tar -xvf zlib.tar.gz -C /src/zlib --strip 1 \
&& cd /src/zlib \
&& ./configure --prefix=/build/zlib \
&& make \
&& make install \
&& ldconfig
# Build OpenSSL from source (for Curl)
RUN wget -q https://github.com/openssl/openssl/archive/OpenSSL_1_1_0h.tar.gz -O ./openssl.tar.gz \
&& mkdir -p /src/openssl /build/openssl \
&& tar -xvf openssl.tar.gz -C /src/openssl --strip 1 \
&& cd /src/openssl \
&& ./config no-shared --static --prefix=/build/openssl --openssldir=/build/openssl \
&& make \
&& make install \
&& ldconfig
# Build nghttp2 from source (for Curl)
RUN wget -q https://github.com/nghttp2/nghttp2/releases/download/v1.31.1/nghttp2-1.31.1.tar.gz -O ./nghttp2.tar.gz \
&& mkdir -p /src/nghttp2 /build/nghttp2 \
&& tar -xvf nghttp2.tar.gz -C /src/nghttp2 --strip 1 \
&& cd /src/nghttp2 \
&& CFLAGS="-fPIC" ./configure --enable-lib-only --disable-shared --prefix=/build/nghttp2 \
&& make \
&& make install \
&& ldconfig
# Build Curl from source
RUN wget -q https://github.com/curl/curl/releases/download/curl-7_61_1/curl-7.61.1.tar.gz -O ./curl.tar.gz \
&& mkdir -p /src/curl \
&& tar -xvf curl.tar.gz -C /src/curl --strip 1 \
&& cd /src/curl \
&& ./buildconf \
&& LIBS="-ldl" CPPFLAGS="-I/build/openssl/include" LDFLAGS="-L/build/openssl/lib" \
./configure \
--disable-shared \
--enable-static \
--with-ssl=/build/openssl \
--with-nghttp2=/build/nghttp2 \
--with-zlib=/build/zlib \
--enable-ipv6 \
--enable-unix-sockets \
&& make \
&& make install \
&& ldconfig \
&& curl --version
# Setup dirs
ADD . /src/insomnia
WORKDIR /src/insomnia
VOLUME /src/insomnia/packages/insomnia-app/dist
# Install root project dependencies
RUN npm run bootstrap \
&& npm install --no-save 7zip-bin-linux app-builder-bin-linux
# Define build command
CMD npm run app-package