Containers/redxen.eu/daemons/postgres/Containerfile

39 lines
1.3 KiB
Docker

FROM alpine as init
RUN --network=host apk add git go
RUN --network=host git clone --branch='v2.1' https://git.redxen.eu/caskd/postgres-seeder /root/postgres-seeder
WORKDIR /root/postgres-seeder
RUN go build -v
RUN ./postgres-seeder \
-hba ../pg_hba.conf \
-init ../init.sql \
"grafana/grafana" \
"gitea/gitea" \
"murmur/murmur" \
"postfix/mail" \
"dovecot/mail"
# Spits out init.sql and pg_hba.conf
FROM postgres:alpine
# Certificates
COPY --from=redxen.eu/data/pki/self/ca:latest /redxen.eu/certs/ca.crt /etc/redxen/postgres-cert/redxen.eu/certs/ca.crt
COPY --from=redxen.eu/data/pki/self/client/postgres:latest /redxen.eu/certs/postgres.crt /etc/redxen/postgres-cert/redxen.eu/certs/postgres.crt
COPY --from=redxen.eu/data/pki/self/client/postgres:latest /redxen.eu/keys/postgres.key /etc/redxen/postgres-cert/redxen.eu/keys/postgres.key
RUN chown -Rv postgres:postgres /etc/redxen/postgres-cert/
# Customized init script
ADD init.sh /usr/libexec/init.sh
RUN chmod +x /usr/libexec/init.sh
ADD postgresql.conf /etc/postgresql/postgresql.conf
COPY --from=init /root/pg_hba.conf /etc/postgresql/pg_hba.conf
COPY --from=init /root/init.sql /docker-entrypoint-initdb.d/init.sql
ADD databases/mail.sql /docker-entrypoint-initdb.d/mail.sql
ENTRYPOINT [""]
CMD ["postgres", "-c", "config_file=/etc/postgresql/postgresql.conf"]