-
Notifications
You must be signed in to change notification settings - Fork 2
/
CronDockerfile
36 lines (24 loc) · 1.05 KB
/
CronDockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
FROM alpine:latest
LABEL maintainer="Adam Brin"
#https://firefart.at/post/docker_and_cron_jobs/
ENV APP_USER cronuser
ENV POSTGRES_PASSWORD dataarc
ENV POSTGRES_USERNAME dataarc
ENV POSTGRES_HOST db
RUN adduser -g "App User" -D $APP_USER
RUN apk add --update --no-cache postgresql tar gzip mongodb-tools \
&& rm -rf /var/cache/apk/*
ADD . /app
# COPY docker/backups/scripts/crontab /var/spool/cron/crontabs/$APP_USER
# RUN chmod 0600 /var/spool/cron/crontabs/$APP_USER
COPY docker/backups/scripts/pgbackup.sh /etc/periodic/daily/pgbackup
RUN chmod 0755 /etc/periodic/daily/pgbackup
COPY docker/backups/scripts/mongobackup.sh /etc/periodic/daily/mongobackup
RUN chmod 0755 /etc/periodic/daily/mongobackup
RUN echo "${POSTGRES_HOST}:*:dataarc:${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}" > /home/$APP_USER/.pgpass
RUN chmod 0600 /home/$APP_USER/.pgpass
RUN chown $APP_USER /home/$APP_USER/.pgpass
RUN echo "${POSTGRES_HOST}:*:dataarc:${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}" > /root/.pgpass
RUN chmod 0600 /root/.pgpass
ENTRYPOINT "crond"
CMD ["-f", "-d", "8"]