diff --git a/pica-codimd/Dockerfile b/pica-codimd/Dockerfile
index 805d68a88df05b36e0cd70258b8452119999a071..fe3ce09cc0d0bf250b4d2c804331f9aea93e2257 100644
--- a/pica-codimd/Dockerfile
+++ b/pica-codimd/Dockerfile
@@ -23,10 +23,11 @@ RUN addgroup --gid 5010 codimd && \
     adduser -u 5010 -G codimd -D codimd && \
     mkdir /home/$USER_NAME/.npm && \
     echo "prefix=/home/codimd/.npm/" > /home/$USER_NAME/.npmrc && \
-    mkdir -p /home/codimd/app && \
+    mkdir -p /home/codimd/app/deletedPads && \
     chown -R codimd:codimd /home/codimd && \
     # Git needed so NPM can clone packages and Python for node-gyp
-    apk add --no-cache bash git python && \
+    apk add --no-cache bash git python3-dev py3-pip gcc postgresql-dev musl-dev && \
+    pip3 install psycopg2 && \
     wget https://github.com/hackmdio/portchecker/releases/download/${PORTCHECKER_VERSION}/portchecker-linux-amd64.tar.gz && \
     tar xvf portchecker-linux-amd64.tar.gz -C /usr/local/bin && \
     mv /usr/local/bin/portchecker-linux-amd64 /usr/local/bin/pcheck && \
@@ -38,6 +39,8 @@ WORKDIR /home/codimd/app
 
 COPY --chown=5010:5010 --from=BUILD /opt/codimd .
 
+COPY --chown=5010:5010 deleteOldPad.py .
+
 RUN npm install --production && npm cache clean --force && rm -rf /tmp/{core-js-banners,phantomjs}
 
 COPY entrypoint.sh .
diff --git a/pica-codimd/deleteOldPad.py b/pica-codimd/deleteOldPad.py
new file mode 100755
index 0000000000000000000000000000000000000000..363f5297f2d769a8b716767840e4674ca7b3bed7
--- /dev/null
+++ b/pica-codimd/deleteOldPad.py
@@ -0,0 +1,41 @@
+#! /usr/bin/python3
+
+import psycopg2
+import sys
+from os import environ
+
+INTERVAL = environ['OLD_INTERVAL']
+USER = environ['POSTGRES_USER']
+DATABASE = environ['POSTGRES_DB']
+PASSWORD = environ['POSTGRES_PASSWORD']
+HOST = ['DB_HOST']
+PORT = ['DB_PORT']
+
+print("===== Begin of deleteOldPad job =====")
+
+try:
+    db = psycopg2.connect("user = " + USER + " dbname = " +DATABASE + " password = " + PASSWORD + " host = " + HOST + " port = " + PORT)
+except:
+    sys.exit("deleteOldPad : Unable to connect database")
+
+with db :
+    with db.cursor() as cur:
+        #Make a backup of old pads in deletedPads
+        try:
+            cur.execute("SELECT \"Notes\".\"id\", \"Notes\".\"content\" FROM \"Notes\" WHERE \"Notes\".\"updatedAt\" < NOW() - interval %s", (INTERVAL,))
+        except:
+            sys.exit("deleteOldPad : unable to select old pads")
+        for oldPad in cur.fetchall():
+            with open("deletedPads/" + oldPad[0] + '.txt', "w") as f:
+                f.write(oldPad[1])
+
+        #Delete the old pads
+        try:
+            cur.execute("DELETE FROM \"Notes\" WHERE \"Notes\".\"updatedAt\" < NOW() - interval %s", (INTERVAL,))
+        except:
+            sys.exit("deleteOldPad: unable to delete old pads")
+        print("deleteOldPad : Deleted old pad")
+
+db.close()
+
+print("===== End of deleteOldPad job =====")
diff --git a/pica-codimd/docker-compose.yml b/pica-codimd/docker-compose.yml
index 16375fbb84bc47a6751fddf494c171cef502523b..37981b0282dac7b86c47b6b6ace24f1407f094a8 100644
--- a/pica-codimd/docker-compose.yml
+++ b/pica-codimd/docker-compose.yml
@@ -46,6 +46,9 @@ services:
       CMD_CSP_ENABLE: "false"
       CMD_MATTERMOST_BASEURL: https://team.picasoft.net
       CMD_DEFAULT_PERMISSION: freely
+      OLD_INTERVAL: "2 years"
+      DB_HOST: "codimd-db"
+      DB_PORT: 5432
     networks:
       - proxy
       - codimd