From e16faf4f279f59e0d13ed3e8c15416cc587e385c Mon Sep 17 00:00:00 2001 From: tom moron Date: Sun, 11 Aug 2024 20:35:58 +0200 Subject: [PATCH] docker file for postgresql --- .gitignore | 1 + Makefile | 9 +++++-- docker-compose/docker-compose.yml | 17 ++++++++++++ .../requirements/PostgreSQL/Dockerfile | 0 .../requirements/djangoserver/Dockerfile | 2 +- docker-compose/requirements/nginx/Dockerfile | 2 +- .../requirements/postgresql/Dockerfile | 27 +++++++++++++++++++ .../requirements/postgresql/setup.sh | 7 +++++ .../requirements/postgresql/start.sh | 5 ++++ 9 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 .gitignore delete mode 100644 docker-compose/requirements/PostgreSQL/Dockerfile create mode 100644 docker-compose/requirements/postgresql/Dockerfile create mode 100644 docker-compose/requirements/postgresql/setup.sh create mode 100644 docker-compose/requirements/postgresql/start.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..934c1fb --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*/.env diff --git a/Makefile b/Makefile index b3cd3ba..55eb3a1 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: tomoron +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2024/07/13 16:18:56 by tomoron #+# #+# # -# Updated: 2024/08/10 15:24:25 by tomoron ### ########.fr # +# Updated: 2024/08/11 16:54:45 by tomoron ### ########.fr # # # # **************************************************************************** # @@ -20,16 +20,21 @@ build: $(COMPOSE) build up: build + mkdir -p ~/PTME_data $(COMPOSE) up -d up_att: build + mkdir -p ~/PTME_data $(COMPOSE) up down: $(COMPOSE) down -v -fclean: +clean: $(COMPOSE) down -v docker system prune -af --volumes +fclean:clean + sudo rm -rf ~/PTME_data + re: fclean all .PHONY: all build up up_att down fclean re diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 569b163..0b8de49 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -23,6 +23,23 @@ services: ports: - "9000:9000" + postgresql: + container_name: postgresql + env_file: .env + build: + context: requirements/postgresql + args: + DB_NAME: ${DB_NAME} + DB_USERNAME: ${DB_USERNAME} + DB_PASSWORD: ${DB_PASSWORD} +# volumes: +# - website_data:/var/www/djangoserver + networks: + - transcendence + restart: always + ports: + - "5432:5432" + volumes: website_data: driver: local diff --git a/docker-compose/requirements/PostgreSQL/Dockerfile b/docker-compose/requirements/PostgreSQL/Dockerfile deleted file mode 100644 index e69de29..0000000 diff --git a/docker-compose/requirements/djangoserver/Dockerfile b/docker-compose/requirements/djangoserver/Dockerfile index d0f713f..8c646c4 100644 --- a/docker-compose/requirements/djangoserver/Dockerfile +++ b/docker-compose/requirements/djangoserver/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:buster +FROM debian:bullseye RUN apt update && apt upgrade -y diff --git a/docker-compose/requirements/nginx/Dockerfile b/docker-compose/requirements/nginx/Dockerfile index 50b7625..f602ecb 100644 --- a/docker-compose/requirements/nginx/Dockerfile +++ b/docker-compose/requirements/nginx/Dockerfile @@ -1,4 +1,4 @@ -FROM nginx:latest +FROM nginx:bullseye RUN mkdir -p /etc/nginx/ssl RUN apt install -y openssl diff --git a/docker-compose/requirements/postgresql/Dockerfile b/docker-compose/requirements/postgresql/Dockerfile new file mode 100644 index 0000000..2b617eb --- /dev/null +++ b/docker-compose/requirements/postgresql/Dockerfile @@ -0,0 +1,27 @@ +FROM debian:bullseye + +RUN apt update +RUN apt upgrade -y + +RUN apt install postgresql postgresql-client -y + +RUN sed -i 's/127.0.0.1\/32/0.0.0.0\/0/' /etc/postgresql/*/*/pg_hba.conf +RUN echo "listen_addresses = '*'" | tee -a /etc/postgresql/*/*/postgresql.conf + +COPY setup.sh /root/setup.sh +COPY start.sh /root/start.sh + +ARG DB_NAME=; +ARG DB_PASSWORD=; +ARG DB_USERNAME=; + +ENV DB_NAME=${DB_NAME} +ENV DB_PASSWORD=${DB_PASSWORD} +ENV DB_USERNAME=${DB_USERNAME} + +RUN sh /root/setup.sh + +EXPOSE 5432 +STOPSIGNAL SIGKILL + +ENTRYPOINT ["/bin/sh","/root/start.sh"] diff --git a/docker-compose/requirements/postgresql/setup.sh b/docker-compose/requirements/postgresql/setup.sh new file mode 100644 index 0000000..51f2324 --- /dev/null +++ b/docker-compose/requirements/postgresql/setup.sh @@ -0,0 +1,7 @@ +service postgresql start + +su postgres << EOF +createdb $DB_NAME +psql -c "CREATE USER $DB_USERNAME WITH PASSWORD '$DB_PASSWORD'" +psql -c "GRANT ALL PRIVILEGES ON database $DB_NAME TO $DB_USERNAME" +EOF diff --git a/docker-compose/requirements/postgresql/start.sh b/docker-compose/requirements/postgresql/start.sh new file mode 100644 index 0000000..5720266 --- /dev/null +++ b/docker-compose/requirements/postgresql/start.sh @@ -0,0 +1,5 @@ +service postgresql start + +while :; do + sleep inf +done