FROM ubuntu:18.04 RUN apt-get update && \ apt-get install -y curl \ git \ python \ python-pip \ python-dev \ autoconf \ libtool \ gawk RUN curl -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz RUN tar xvf go1.10.3.linux-amd64.tar.gz WORKDIR /app COPY ./bin /app/bin COPY ./lib /app/lib COPY ./share /app/share COPY ./requirements.txt /app COPY ./src/we-lang/we-lang.go /app # There are several files that must be fetched/created manually # before building the image COPY ./.wegorc /root COPY ./.ip2location.key /root COPY ./airports.dat /app COPY ./GeoLite2-City.mmdb /app RUN export PATH=$PATH:/go/bin && \ go get -u github.com/mattn/go-colorable && \ go get -u github.com/klauspost/lctime && \ go get -u github.com/mattn/go-runewidth && \ export GOBIN="/root/go/bin" && \ go install /app/we-lang.go RUN pip install -r requirements.txt RUN mkdir /app/cache RUN mkdir -p /var/log/supervisor && \ mkdir -p /etc/supervisor/conf.d RUN chmod -R o+rw /var/log/supervisor && \ chmod -R o+rw /var/run COPY share/docker/supervisord.conf /etc/supervisor/supervisord.conf ENV WTTR_MYDIR="/app" ENV WTTR_GEOLITE="/app/GeoLite2-City.mmdb" ENV WTTR_WEGO="/root/go/bin/we-lang" ENV WTTR_LISTEN_HOST="0.0.0.0" ENV WTTR_LISTEN_PORT="8002" EXPOSE 8002 CMD ["/usr/local/bin/supervisord"]