archive
This commit is contained in:
75
firefly/postgres/Dockerfile
Executable file
75
firefly/postgres/Dockerfile
Executable file
@@ -0,0 +1,75 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
### APT
|
||||
RUN apt -y update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt -y install tzdata \
|
||||
&& apt -y install locales language-pack-en-base \
|
||||
&& echo '127.0.0.1 firefly-iii-domain.com firefly-iii localhost' >> /etc/hosts \
|
||||
&& apt -y install \
|
||||
postgresql postgresql-contrib \
|
||||
nginx \
|
||||
php-fpm php7.3-pgsql php-curl php-gd php-bcmath php-zip php-intl php-mbstring php-xml php-ldap \
|
||||
curl \
|
||||
gcc \
|
||||
cron \
|
||||
rsync \
|
||||
sudo \
|
||||
&& rm /etc/nginx/sites-enabled/default \
|
||||
&& touch /etc/nginx/sites-available/firefly-iii.conf \
|
||||
&& ln -s /etc/nginx/sites-available/firefly-iii.conf /etc/nginx/sites-enabled/firefly-iii.conf \
|
||||
&& openssl dhparam 2048 > /etc/nginx/dhparam.pem
|
||||
|
||||
USER postgres
|
||||
RUN service postgresql start && sleep 5 \
|
||||
&& psql --command "CREATE DATABASE fireflyiii WITH ENCODING 'UTF8' TEMPLATE='template0';" \
|
||||
&& psql --command "CREATE USER ffly WITH SUPERUSER PASSWORD 'pwd';" \
|
||||
&& psql --command "GRANT ALL PRIVILEGES ON DATABASE fireflyiii TO ffly;" \
|
||||
&& service postgresql stop && sleep 5
|
||||
|
||||
#&& sed 's/^password .*/password = pwd/' /etc/mysql/debian.cnf > /tmp/cnf \
|
||||
#&& mv /tmp/cnf /etc/mysql/debian.cnf \
|
||||
#&& echo 'create database fireflyiii character set utf8 collate utf8_bin; ' \
|
||||
# 'grant all privileges on fireflyiii.* to fireflyiii@localhost identified by '"'"'pwd'"'"'; ' \
|
||||
# | mysql --user=root --password=pwd mysql && echo made fireflyiii
|
||||
USER root
|
||||
|
||||
### PHP
|
||||
RUN service postgresql start && sleep 10 \
|
||||
&& curl -sS https://getcomposer.org/installer \
|
||||
| php -- --install-dir=/usr/local/bin --filename=composer \
|
||||
&& cd /opt \
|
||||
&& composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist firefly-iii 5.0.1
|
||||
COPY ./env /opt/firefly-iii/.env
|
||||
RUN service postgresql start && sleep 10 \
|
||||
&& cd /opt/firefly-iii \
|
||||
&& php artisan migrate:refresh --seed \
|
||||
&& php artisan passport:install \
|
||||
&& chown -R www-data:www-data /opt/firefly-iii \
|
||||
&& mkdir -p /run/php
|
||||
|
||||
### WAIT
|
||||
COPY ./pause /xfer/
|
||||
RUN cd /xfer && gcc main.c -o /xfer/pauser
|
||||
|
||||
### CONFIG
|
||||
COPY ./env /opt/firefly-iii/.env
|
||||
COPY ./firefly-iii.conf /etc/nginx/sites-enabled/
|
||||
|
||||
RUN apt -y autoremove \
|
||||
&& apt -y purge --auto-remove gcc curl \
|
||||
&& rm -rf /var/lib/apt \
|
||||
&& apt clean
|
||||
|
||||
### CRON
|
||||
RUN true \
|
||||
&& echo '0 4,8,12,16,20 * * * bash /backup.sh >> /var/log/cronj.log 2>&1' > /etc/cron.d/backups \
|
||||
&& echo '' >> /etc/cron.d/backups \
|
||||
&& chmod 0644 /etc/cron.d/backups \
|
||||
&& crontab /etc/cron.d/backups \
|
||||
&& touch /var/log/cronj.log
|
||||
|
||||
### COPY
|
||||
COPY ./backup.sh ./restore.sh ./entrypoint.sh /
|
||||
|
||||
### on enter/exit, rsync to/from /var/lib/mysql and /mnt
|
||||
ENTRYPOINT bash /entrypoint.sh
|
||||
Reference in New Issue
Block a user