From a83911a9cfe8956cd620350c0b306c977e52b22a Mon Sep 17 00:00:00 2001 From: Clemens Klug Date: Wed, 4 Dec 2019 16:10:21 +0100 Subject: [PATCH 1/2] run django as non-root --- docker-compose.yml | 2 +- partdoc/Dockerfile | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b45a374..cce2ca9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: "2" services: web: - image: docker.clkl.de/partdoc/web:0.1 + image: docker.clkl.de/partdoc/web:0.2 build: partdoc env_file: postgres.env volumes: diff --git a/partdoc/Dockerfile b/partdoc/Dockerfile index 50bdd2c..01acf19 100644 --- a/partdoc/Dockerfile +++ b/partdoc/Dockerfile @@ -3,4 +3,6 @@ FROM alpine:3.7 ADD requirements.txt / RUN apk add --update --no-cache python3 py3-psycopg2 && \ sed -i 's/psycopg2/#psycopg2/' /requirements.txt && \ - pip3 install -r /requirements.txt && rm /requirements.txt \ No newline at end of file + pip3 install -r /requirements.txt && rm /requirements.txt && \ + adduser -D django +USER django \ No newline at end of file From 19764fbf00f8f293c1cb95b9b5f6e4fde6b206b2 Mon Sep 17 00:00:00 2001 From: Clemens Klug Date: Wed, 4 Dec 2019 16:32:48 +0100 Subject: [PATCH 2/2] bump versions: django 3, alpine 3.10, postgres 12 --- docker-compose.yml | 8 +++++--- migrate_postgres.sh | 11 +++++++++++ partdoc/Dockerfile | 4 ++-- partdoc/requirements.txt | 4 ++-- 4 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 migrate_postgres.sh diff --git a/docker-compose.yml b/docker-compose.yml index f1dda66..bd96ac5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: "2" services: web: - image: docker.clkl.de/partdoc/web:0.2 + image: docker.clkl.de/partdoc/web:0.3 build: partdoc env_file: postgres.env volumes: @@ -12,8 +12,10 @@ services: command: python3 ./manage.py runserver 0.0.0.0:8000 ports: - 8080:8000 + depends_on: + - db db: - image: postgres:10-alpine + image: postgres:12-alpine volumes: - ./pgdata/:/var/lib/postgresql/data/ - env_file: postgres.env \ No newline at end of file + env_file: postgres.env diff --git a/migrate_postgres.sh b/migrate_postgres.sh new file mode 100644 index 0000000..e2a267e --- /dev/null +++ b/migrate_postgres.sh @@ -0,0 +1,11 @@ +# start old postgres, dump data +sed -i 's/postgres:12-alpine/postgres:10-alpine/' docker-compose.yml +docker-compose exec db pg_dumpall -U partdoc > pgdump.tmp +# migrate to new postgres, import data +docker-compose stop db +sed -i 's/postgres:10-alpine/postgres:12-alpine/' docker-compose.yml +docker-compose up -d +docker-compose exec -T db psql -U partdoc < pgdump.tmp +docker-compose down +docker-compose up -d +rm pgdump.tmp diff --git a/partdoc/Dockerfile b/partdoc/Dockerfile index 01acf19..6c63e63 100644 --- a/partdoc/Dockerfile +++ b/partdoc/Dockerfile @@ -1,8 +1,8 @@ -FROM alpine:3.7 +FROM alpine:3.10 ADD requirements.txt / RUN apk add --update --no-cache python3 py3-psycopg2 && \ sed -i 's/psycopg2/#psycopg2/' /requirements.txt && \ pip3 install -r /requirements.txt && rm /requirements.txt && \ adduser -D django -USER django \ No newline at end of file +USER django diff --git a/partdoc/requirements.txt b/partdoc/requirements.txt index 5a39390..83abc93 100644 --- a/partdoc/requirements.txt +++ b/partdoc/requirements.txt @@ -1,2 +1,2 @@ -django==2.0.1 -psycopg2==2.7.3.2 +django==3.0 +psycopg2==2.8.4