FROM debian:12 # Install dependencies RUN apt-get update RUN apt-get install -y \ curl gnupg2 ca-certificates lsb-release apt-transport-https RUN apt-get install -y \ postgresql RUN apt-get install -y \ caddy RUN apt-get install -y \ nodejs npm RUN rm -rf /var/lib/apt/lists/* RUN echo "listen_addresses='*'" >> /etc/postgresql/15/main/postgresql.conf && \ echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/15/main/pg_hba.conf && \ echo "host all all ::/0 md5" >> /etc/postgresql/15/main/pg_hba.conf RUN npm install -g nodemon # Set up working directory for Express app WORKDIR /app COPY package*.json ./ RUN npm install COPY . . COPY caddy/Caddyfile /etc/caddy/Caddyfile # Copy entrypoint script COPY docker-entrypoint.sh /docker-entrypoint.sh RUN chmod +x /docker-entrypoint.sh # Expose required ports EXPOSE 80 3000 5432 # Use the entrypoint script to start everything ENTRYPOINT ["/docker-entrypoint.sh"]