### CRIMSON --- A simple PHP framework.
### Copyright © 2024 Freya Murphy <contact@freyacat.org>
###
### This file is part of CRIMSON.
###
### CRIMSON is free software; you can redistribute it and/or modify it
### under the terms of the GNU General Public License as published by
### the Free Software Foundation; either version 3 of the License, or (at
### your option) any later version.
###
### CRIMSON is distributed in the hope that it will be useful, but
### WITHOUT ANY WARRANTY; without even the implied warranty of
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
### GNU General Public License for more details.
###
### You should have received a copy of the GNU General Public License
### along with CRIMSON. If not, see <http://www.gnu.org/licenses/>.
FROM alpine:latest

# install packages
RUN apk add --no-cache postgresql16-client tini shadow sed
RUN rm -fr /var/cache/apk/*

# setup main user
RUN adduser -D db-init
RUN groupmod --gid 1000 db-init
RUN usermod --uid 1000 db-init

# copy scripts
COPY ./db-init /usr/local/bin/db-init
COPY ./rev.sql /var/lib/rev.sql
COPY ./ext.sql /var/lib/ext.sql
COPY ./base.sql /var/lib/base.sql

# remove build packages
RUN apk del shadow

# do the
USER db-init
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["/usr/local/bin/db-init"]