From 2e49266549717f342fbfba8576028ac554f9e0d3 Mon Sep 17 00:00:00 2001 From: "byte[]" Date: Thu, 15 Apr 2021 22:35:17 -0400 Subject: [PATCH] use alpine docker dependencies, persist elasticsearch for faster dev iteration --- docker-compose.yml | 6 +++--- docker/app/Dockerfile | 19 +++++-------------- docker/app/purge-cache | 2 +- docker/app/run-development | 7 ++----- docker/app/run-test | 2 +- docker/app/safe-rsvg-convert | 2 +- docker/web/Dockerfile | 2 +- 7 files changed, 14 insertions(+), 26 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 2af7fbc6..68334dfc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -44,7 +44,7 @@ services: - redis postgres: - image: postgres:13.1 + image: postgres:13.2-alpine environment: - POSTGRES_PASSWORD=postgres volumes: @@ -55,7 +55,7 @@ services: elasticsearch: image: elasticsearch:7.9.3 volumes: - - elastic_data:/var/lib/elasticsearch + - elastic_data:/usr/share/elasticsearch/data logging: driver: "none" environment: @@ -66,7 +66,7 @@ services: hard: 65536 redis: - image: redis:6.0.10 + image: redis:6.2.1-alpine logging: driver: "none" diff --git a/docker/app/Dockerfile b/docker/app/Dockerfile index 509ee184..f7121b6c 100644 --- a/docker/app/Dockerfile +++ b/docker/app/Dockerfile @@ -1,28 +1,19 @@ -FROM elixir:1.11.3 +FROM elixir:1.11.4-alpine -ARG DEBIAN_FRONTEND=noninteractive - -RUN apt-get update \ - && apt-get -qq -y install apt-transport-https wget gnupg \ - && echo "deb https://deb.nodesource.com/node_12.x buster main" >> /etc/apt/sources.list \ - && echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" >> /etc/apt/sources.list \ - && wget -qO - "https://www.postgresql.org/media/keys/ACCC4CF8.asc" | apt-key add - \ - && wget -qO - "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" | apt-key add - \ - && apt-get update \ - && apt-get -qq -y dist-upgrade \ - && apt-get -qq -y install inotify-tools postgresql-client build-essential git ffmpeg libavformat-dev libavcodec-dev libswscale-dev nodejs libmagic-dev libpng-dev gifsicle optipng libjpeg-progs librsvg2-bin imagemagick \ +RUN apk update \ + && apk add inotify-tools build-base git ffmpeg ffmpeg-dev npm nodejs file-dev libpng-dev gifsicle optipng libjpeg-turbo-utils librsvg imagemagick postgresql-client wget \ && mix local.hex --force \ && mix local.rebar --force ADD https://api.github.com/repos/philomena-dev/cli_intensities/git/refs/heads/master /tmp/cli_intensities_version.json RUN git clone https://github.com/philomena-dev/cli_intensities /tmp/cli_intensities \ && cd /tmp/cli_intensities \ - && make install + && make -j$(nproc) install ADD https://api.github.com/repos/philomena-dev/mediatools/git/refs/heads/master /tmp/mediatools_version.json RUN git clone https://github.com/philomena-dev/mediatools /tmp/mediatools \ && cd /tmp/mediatools \ - && make install + && make -j$(nproc) install COPY docker/app/run-development /usr/local/bin/run-development COPY docker/app/run-test /usr/local/bin/run-test diff --git a/docker/app/purge-cache b/docker/app/purge-cache index a35e94fd..f16ae477 100755 --- a/docker/app/purge-cache +++ b/docker/app/purge-cache @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env sh # Run your custom purge command here. # diff --git a/docker/app/run-development b/docker/app/run-development index ebd5d481..c9f76ec7 100755 --- a/docker/app/run-development +++ b/docker/app/run-development @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env sh background() { while :; do @@ -32,10 +32,7 @@ done echo # Try to create the database if it doesn't exist yet -createdb -h postgres -U postgres philomena_dev && mix ecto.setup_dev - -# Reindex -mix reindex_all +createdb -h postgres -U postgres philomena_dev && mix ecto.setup_dev && mix reindex_all # Run background jobs background & diff --git a/docker/app/run-test b/docker/app/run-test index 99eb2072..3337be2a 100755 --- a/docker/app/run-test +++ b/docker/app/run-test @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env sh export MIX_ENV=test diff --git a/docker/app/safe-rsvg-convert b/docker/app/safe-rsvg-convert index ae1f68ac..1d5a9eca 100755 --- a/docker/app/safe-rsvg-convert +++ b/docker/app/safe-rsvg-convert @@ -1,2 +1,2 @@ -#!/bin/bash +#!/usr/bin/env sh rsvg-convert < "$1" -o "$2" diff --git a/docker/web/Dockerfile b/docker/web/Dockerfile index 60c92d68..01398b89 100644 --- a/docker/web/Dockerfile +++ b/docker/web/Dockerfile @@ -1,4 +1,4 @@ -FROM nginx:1.19.6 +FROM nginx:1.19.10-alpine ENV APP_DIR /srv/philomena COPY docker/web/nginx.conf /tmp/docker.nginx RUN envsubst '$APP_DIR' < /tmp/docker.nginx > /etc/nginx/conf.d/default.conf