First version of Dockerfile
Added scripts and configs from Firefly docker deploy
This commit is contained in:
88
Dockerfile
Normal file
88
Dockerfile
Normal file
@ -0,0 +1,88 @@
|
||||
FROM cloudron/base:1.0.0@sha256:147a648a068a2e746644746bbfb42eb7a50d682437cead3c67c933c546357617
|
||||
|
||||
# Many lines are copied from https://github.com/firefly-iii/firefly-iii/blob/master/Dockerfile
|
||||
|
||||
ENV FIREFLY_VERSION 4.7.8
|
||||
ENV FIREFLY_PATH /app/code
|
||||
ENV CURL_VERSION 7.60.0
|
||||
ENV OPENSSL_VERSION 1.1.1-pre6
|
||||
ENV COMPOSER_ALLOW_SUPERUSER 1
|
||||
|
||||
LABEL version="1.0" maintainer="robomod@xeac.org"
|
||||
|
||||
## Prepare third parties
|
||||
# Install packages
|
||||
RUN apt-get update -y && \
|
||||
apt-get install -y --no-install-recommends libjpeg62-turbo-dev \
|
||||
libpng-dev \
|
||||
libldap2-dev \
|
||||
libedit-dev \
|
||||
libtidy-dev \
|
||||
libsqlite3-dev \
|
||||
libbz2-dev \
|
||||
cron \
|
||||
rsyslog \
|
||||
locales && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# LDAP install
|
||||
RUN docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && docker-php-ext-install ldap
|
||||
|
||||
# Install latest curl
|
||||
RUN cd /tmp && \
|
||||
wget https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz && \
|
||||
tar -xvf openssl-${OPENSSL_VERSION}.tar.gz && \
|
||||
cd openssl-${OPENSSL_VERSION} && \
|
||||
./config && \
|
||||
make -j${CORES} && \
|
||||
make install
|
||||
|
||||
RUN cd /tmp && \
|
||||
wget https://curl.haxx.se/download/curl-${CURL_VERSION}.tar.gz && \
|
||||
tar -xvf curl-${CURL_VERSION}.tar.gz && \
|
||||
cd curl-${CURL_VERSION} && \
|
||||
./configure --with-ssl --host=$(gcc -dumpmachine) && \
|
||||
make -j${CORES} && \
|
||||
make install
|
||||
|
||||
# Make sure that libcurl is using the newer curl libaries
|
||||
RUN echo "/usr/local/lib" >> /etc/ld.so.conf.d/00-curl.conf && ldconfig
|
||||
|
||||
# Fix the link to curl:
|
||||
RUN rm -rf /usr/local/lib/libcurl.so.4 && ln -s /usr/lib/x86_64-linux-gnu/libcurl.so.4.4.0 /usr/local/lib/libcurl.so.4
|
||||
|
||||
## Configure system
|
||||
# Generate locales supported by Firefly III
|
||||
RUN echo "en_US.UTF-8 UTF-8\nde_DE.UTF-8 UTF-8\nfr_FR.UTF-8 UTF-8\nit_IT.UTF-8 UTF-8\nnl_NL.UTF-8 UTF-8\npl_PL.UTF-8 UTF-8\npt_BR.UTF-8 UTF-8\nru_RU.UTF-8 UTF-8\ntr_TR.UTF-8 UTF-8\n\n" > /etc/locale.gen && locale-gen
|
||||
|
||||
# Supervisor conf
|
||||
ADD supervisor/ /etc/supervisor/conf.d/
|
||||
|
||||
# Enable apache mod rewrite and ssl
|
||||
RUN a2enmod rewrite
|
||||
RUN a2enmod ssl
|
||||
|
||||
# Firefly apache conf
|
||||
ADD apache-firefly.conf /etc/apache2/sites-available/000-default.conf
|
||||
|
||||
# Start script
|
||||
ADD start.sh /app/code/start.sh
|
||||
|
||||
## Install software
|
||||
# Create app code directory
|
||||
RUN mkdir -p /app/code
|
||||
WORKDIR /app/code
|
||||
|
||||
# Get Firefly
|
||||
RUN wget "https://github.com/firefly-iii/firefly-iii/archive/${FIREFLY_VERSION}.tar.gz" -O - \
|
||||
| tar -xz -C /app/code --strip-components=1
|
||||
|
||||
# Run composer
|
||||
RUN composer install --prefer-dist --no-dev --no-scripts --no-suggest
|
||||
|
||||
# Expose port
|
||||
EXPOSE 3000
|
||||
|
||||
# Run start script
|
||||
CMD [ "/app/code/start.sh" ]
|
Reference in New Issue
Block a user