diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7daf34c0a7c24d621ce331a90c8093198ed8ade8..f31cd39ffd68ae45ea82664eca28fb275e32965c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -33,6 +33,8 @@ deploy_cpanel:
   - echo "{{</csv-table>}}" >> content/cloud/flavors/index.md
   - cat content/cloud/flavors/index.md
   - sed -i -e "s/BUILDIDTAG/$CI_COMMIT_SHORT_SHA/g" ./layouts/partials/site-footer.html
+  - curl https://cloud.gitlab-pages.ics.muni.cz/image-rotation/image-rotation-journal.md >> content/cloud/image-rotation/index.md
+  - python3 ci/image_rotation_news_gen.py
   - hugo --config config.toml -D --destination=./public 
 
   - eval $(ssh-agent -s)
@@ -48,5 +50,4 @@ deploy_cpanel:
   - latest_commit=$(git log -1 --pretty=format:%h )
   - "curl -H 'Cache-Control: no-cache' https://docs.cloud.muni.cz | grep $latest_commit"
   only:
-  - master
-
+  - master
\ No newline at end of file
diff --git a/ci/image_rotation_news_gen.py b/ci/image_rotation_news_gen.py
new file mode 100644
index 0000000000000000000000000000000000000000..a37e275775d7066b7d046de717610b7ecf644c85
--- /dev/null
+++ b/ci/image_rotation_news_gen.py
@@ -0,0 +1,53 @@
+"""Generated dynamically image rotation news updates"""
+
+import re
+import datetime
+
+DOC_NEWS_FILE = "content/cloud/news/index.md"
+IMAGE_ROTATION_FILE = "content/cloud/image-rotation/index.md"
+
+
+def get_image_update_log_dates():
+    """Gets all image rotation update dates"""
+    with open(IMAGE_ROTATION_FILE, "r", encoding="utf-8") as rotate_file:
+        file_content = rotate_file.read()
+        return re.findall(
+            r"## Image rotation update from [0-9]{4}-[0-9]{2}-[0-9]{2}:", file_content
+        )
+
+
+def generate_news(image_update_dates):
+    """Generates news with image update news"""
+    with open(DOC_NEWS_FILE, "r", encoding="utf-8") as news_file:
+        news_content = news_file.readlines()
+        news_content = [line.strip() for line in news_content]
+
+    for update_date in image_update_dates:
+        update_date = datetime.datetime.strptime(
+            update_date, "## Image rotation update from %Y-%m-%d:"
+        )
+
+        for line_idx, line in enumerate(news_content):
+            if re.match(r".*\*\*[0-9]{4}-[0-9]{2}-[0-9]{2}\*\*.*", line):
+                news_date = line.split("**")[1]
+                news_date = datetime.datetime.strptime(news_date, "%Y-%m-%d")
+                if update_date > news_date or line_idx == len(news_content) - 1:
+                    update_date = datetime.datetime.strftime(update_date, "%Y-%m-%d")
+                    new_entry = [
+                        f"**{update_date}** Image rotation update, details [here](https://docs.cloud.muni.cz/"
+                        f"cloud/image-rotation/image-rotation-update-from-{update_date})",
+                    ]
+                    news_content = (
+                        news_content[:line_idx] + new_entry + [""] + news_content[line_idx:]
+                        if line_idx != len(news_content) - 1
+                        else news_content + [""] + new_entry
+                    )
+                    break
+    with open(DOC_NEWS_FILE, "w", encoding="utf-8") as news_file:
+        news_file.write("\n".join(news_content))
+
+
+if __name__ == "__main__":
+    IMAGE_UPDATE_DATES = get_image_update_log_dates()
+    if IMAGE_UPDATE_DATES:
+        generate_news(IMAGE_UPDATE_DATES)
diff --git a/content/cloud/image-rotation/index.md b/content/cloud/image-rotation/index.md
new file mode 100644
index 0000000000000000000000000000000000000000..f793e50dec386c418dd29f7ba7bbc7edad4b845a
--- /dev/null
+++ b/content/cloud/image-rotation/index.md
@@ -0,0 +1,8 @@
+---
+title: "Image rotation journal"
+date: 2022-01-23T20:31:35+02:00
+draft: false
+disableToc: true
+GeekdocHidden: true
+---
+
diff --git a/content/image-rotation/image-rotation-journal.md b/content/image-rotation/image-rotation-journal.md
deleted file mode 100644
index 141055a10023a4d4195858eb01ef6ed630caf2b4..0000000000000000000000000000000000000000
--- a/content/image-rotation/image-rotation-journal.md
+++ /dev/null
@@ -1 +0,0 @@
-# Image rotation news
\ No newline at end of file