diff --git a/basic-system/handlers/main.yml b/basic-system/handlers/main.yml
index b63cc133cf5128de1efb3446147a6f10960a5d94..8742a0ab10180d1090872666461f9b324b6fe99f 100644
--- a/basic-system/handlers/main.yml
+++ b/basic-system/handlers/main.yml
@@ -4,6 +4,9 @@
 - name: restart rsyslogd
   service: name=rsyslog state=restarted
 
+- name: restart systemd-journald
+  systemd: name=systemd-journald.service state=restarted
+
 - name: configure journal directory
   command: systemd-tmpfiles --create --prefix /var/log/journal
 
diff --git a/basic-system/tasks/logging.yml b/basic-system/tasks/logging.yml
index 4a4aa5e302f0cb3187b3b8cf2223e4634befa483..e1480c3592737d078d31adee319b259c14e8630e 100644
--- a/basic-system/tasks/logging.yml
+++ b/basic-system/tasks/logging.yml
@@ -23,7 +23,7 @@
     - syslog
     - journal
 
-- name: ensure systemd journal is presistent
+- name: ensure systemd journal is persistent
   file:
     path: /var/log/journal
     state: directory
@@ -48,6 +48,26 @@
   tags:
     - syslog
 
+- name: create systemd-journald config directory
+  file:
+    path: /etc/systemd/journald.conf.d
+    state: directory
+    mode: '0755'
+  tags:
+    - config
+    - syslog
+
+- name: configure journal size limits
+  template:
+    src: size.conf.j2
+    dest: /etc/systemd/journald.conf.d/size.conf
+    mode: '0644'
+  notify: restart systemd-journald
+  tags:
+    - config
+    - syslog
+    - service
+
 - name: ensure rsyslog is running and enabled
   service:
     name: rsyslog
diff --git a/basic-system/templates/size.conf.j2 b/basic-system/templates/size.conf.j2
new file mode 100644
index 0000000000000000000000000000000000000000..9e19100caef22fc26bbbb87b6ddfbc4da77617f4
--- /dev/null
+++ b/basic-system/templates/size.conf.j2
@@ -0,0 +1,15 @@
+[Journal]
+{% if systemd_journald is defined %}
+{% if systemd_journald.system_max_use is defined %}
+SystemMaxUse={{ systemd_journald.system_max_use }}
+{% endif %}
+{% if systemd_journald.system_keep_free is defined %}
+SystemKeepFree={{ systemd_journald.system_keep_free }}
+{% endif %}
+{% if systemd_journald.system_max_file_size is defined %}
+SystemMaxFileSize={{ systemd_journald.system_max_file_size }}
+{% endif %}
+{% if systemd_journald.system_max_files is defined %}
+SystemMaxFiles={{ systemd_journald.system_max_files }}
+{% endif %}
+{% endif %}