- Switch to use golang seeder - Add CA-integrated base image - Separate branding and theme data - Fix client-cert-auth by appending to database.NAME - Only retry once and let container restart
39 lines
1.4 KiB
Docker
39 lines
1.4 KiB
Docker
FROM alpine as init
|
|
|
|
RUN --network=host apk add git go
|
|
RUN --network=host git clone --branch='v2.0' 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 \
|
|
"gitea/gitea" \
|
|
"murmur/murmur" \
|
|
"postfix/mail" \
|
|
"postfix/mail"
|
|
# Spits out init.sql and pg_hba.conf
|
|
|
|
FROM postgres:alpine
|
|
|
|
# FUCK YOU I PROVIDE MY OWN HBA EAT FUCKING SHIT
|
|
RUN --network=host apk add \
|
|
patch
|
|
ADD disable-hba-patcher.patch /tmp/disable-hba-patcher.patch
|
|
RUN patch -p0 /usr/local/bin/docker-entrypoint.sh /tmp/disable-hba-patcher.patch
|
|
|
|
# Certificates
|
|
COPY --from=redxen.eu/data/ca:latest /redxen.eu/certs/ca.crt /etc/redxen/postgres-cert/redxen.eu/certs/ca.crt
|
|
COPY --from=redxen.eu/data/postgres-cert/postgres:latest /redxen.eu/certs/postgres.crt /etc/redxen/postgres-cert/redxen.eu/certs/postgres.crt
|
|
COPY --from=redxen.eu/data/postgres-cert/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/
|
|
|
|
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
|
|
|
|
# TODO: https://hub.docker.com/_/postgres > Initialisation scripts (Database)
|
|
CMD ["postgres", "-c", "config_file=/etc/postgresql/postgresql.conf"]
|