Skip to content
This repository was archived by the owner on Aug 26, 2022. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 18 additions & 19 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,40 +1,39 @@
FROM amazonlinux:2.0.20200722.0
FROM ubuntu:focal-20210401

ARG DEBIAN_FRONTEND=noninteractive
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because we're installing postgresql we need to tell it that we don't care what the setup values are. We can remove this when we no longer install all of postgres.

ARG STACK_VERSION=2.5.1
ARG USER=haskell

ENV LANG=C.UTF-8
ENV PATH="/home/$USER/.local/bin:$PATH"

RUN yum update -y \
&& amazon-linux-extras install postgresql11 \
&& yum install -y \
# Make sure this path includes initdb for the usage of tmp-postgres
ENV PATH=/usr/lib/postgresql/12/bin/$PATH

RUN apt-get update -y \
&& apt-get install -y \
curl \
gcc \
git \
gmp-devel \
gzip \
libgmp-dev \
liblzma-dev \
libncurses5-dev \
libpq-dev \
make \
nc \
ncurses-devel \
netcat-openbsd \
perl \
postgresql-12 \
Copy link
Contributor Author

@aschmois aschmois Apr 14, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's possible we can tighten this dependency down to just whatever tmp-postgres requires, but it's very difficult to figure out the exact package and we've sunk too much time to make it worth it. The only issue installing all of psql is that we'll have a server running for no reason in the dev toolbox. (and a bigger file size)

procps \
sudo \
tar \
wget \
xz \
xz-devel \
xz-utils \
zip \
zlib-devel \
&& yum clean all \
&& rm -rf /var/cache/yum \
zlib1g-dev \
&& apt-get autoremove \
&& mkdir -p /tmp/stack \
&& cd /tmp/stack \
&& wget --output-document stack.tgz --no-verbose "https://github.com/commercialhaskell/stack/releases/download/v$STACK_VERSION/stack-$STACK_VERSION-linux-x86_64.tar.gz" \
&& tar --extract --file stack.tgz --strip-components 1 --wildcards '*/stack' \
&& mv stack /usr/local/bin/ \
&& cd - \
&& rm -r /tmp/stack \
&& useradd --create-home "$USER" \
&& echo "$USER ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

USER "$USER"
&& rm -r /tmp/stack