Spaces:
Sleeping
Sleeping
# Pull the official PostgreSQL 16 image | |
FROM postgres:16 | |
# Create a directory for the database files | |
RUN mkdir -p /var/lib/postgresql/data | |
# Change the ownership of the data directory | |
RUN chown -R postgres:postgres /var/lib/postgresql/data | |
# Copy the configuration files into the data directory | |
# NOTE: the [f] suffix is to ensure that the COPY command will not fail if the files don't exist | |
COPY ./pg_hba.con[f] /var/lib/postgresql/data/pg_hba.conf | |
COPY ./postgresql.con[f] /var/lib/postgresql/data/postgresql.conf | |
# Include environment variables for the PostgreSQL user and password | |
ENV POSTGRES_USER=${POSTGRES_USER} | |
ENV POSTGRES_PASSWORD=${POSTGRES_PASSWORD} | |
# Expose the default PostgreSQL port | |
EXPOSE 5432 | |
# Start the PostgreSQL server | |
CMD ["postgres", "-c", "config_file=/var/lib/postgresql/data/postgresql.conf"] | |