diff --git a/docker-compose/apsct-sim.yml b/docker-compose/apsct-sim.yml
index b9742fdb97ec3f30026d441c668a13732013201e..326e3b130d2f632bf7ce185e554c39de9aa2dc65 100644
--- a/docker-compose/apsct-sim.yml
+++ b/docker-compose/apsct-sim.yml
@@ -14,6 +14,11 @@ services:
          - LOCAL_DOCKER_REGISTRY_HOST=${LOCAL_DOCKER_REGISTRY_HOST}
          - LOCAL_DOCKER_REGISTRY_LOFAR=${LOCAL_DOCKER_REGISTRY_LOFAR}
     container_name: ${CONTAINER_NAME_PREFIX}apsct-sim
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     entrypoint: python3 pypcc2.py --simulator --port 4843 --config APSCTTR
diff --git a/docker-compose/apspu-sim.yml b/docker-compose/apspu-sim.yml
index f5677048fbe1fe28082b219177bc67a2986c31fe..1de9375d639c920e545525e32525771808e81778 100644
--- a/docker-compose/apspu-sim.yml
+++ b/docker-compose/apspu-sim.yml
@@ -14,6 +14,11 @@ services:
          - LOCAL_DOCKER_REGISTRY_HOST=${LOCAL_DOCKER_REGISTRY_HOST}
          - LOCAL_DOCKER_REGISTRY_LOFAR=${LOCAL_DOCKER_REGISTRY_LOFAR}
     container_name: ${CONTAINER_NAME_PREFIX}apspu-sim
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     entrypoint: python3 pypcc2.py --simulator --port 4842 --config APSPUTR
diff --git a/docker-compose/device-apsct.yml b/docker-compose/device-apsct.yml
index 0e258fecdb3a96c3a73714ae2c28cf2e847457a1..a23e8a0a1a9dab234e21b1d4153428fcddda5ee3 100644
--- a/docker-compose/device-apsct.yml
+++ b/docker-compose/device-apsct.yml
@@ -22,6 +22,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-apsct
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     ports:
diff --git a/docker-compose/device-apspu.yml b/docker-compose/device-apspu.yml
index 5f325b19fb357e83ab3d35e3acfa1a5cbbb2896a..9fbdda2ce469803b9feb9ab8b56945565ffe06ed 100644
--- a/docker-compose/device-apspu.yml
+++ b/docker-compose/device-apspu.yml
@@ -22,6 +22,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-apspu
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     ports:
diff --git a/docker-compose/device-beam.yml b/docker-compose/device-beam.yml
index b7572dda6db2dbebcff62fc90bbb1e99b04b8000..4b765f96ae8706706dd4faf863fd43a2b32fd470 100644
--- a/docker-compose/device-beam.yml
+++ b/docker-compose/device-beam.yml
@@ -17,6 +17,11 @@ services:
         args:
             SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-beam
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     ports:
diff --git a/docker-compose/device-boot.yml b/docker-compose/device-boot.yml
index 330cb723ed3bb5ee8ccd50bf4cb933da4e1fe09c..abbce963a91efa5d86eac045e9c8746db475af72 100644
--- a/docker-compose/device-boot.yml
+++ b/docker-compose/device-boot.yml
@@ -21,6 +21,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-boot
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     ports:
diff --git a/docker-compose/device-docker.yml b/docker-compose/device-docker.yml
index a9e4ccfdd6f66eda66f05ea5244fcf0fd732a382..ae73d963de393e3aa3ba1e0520134acc5dfa1aa1 100644
--- a/docker-compose/device-docker.yml
+++ b/docker-compose/device-docker.yml
@@ -22,6 +22,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-docker
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     ports:
diff --git a/docker-compose/device-observation_control.yml b/docker-compose/device-observation_control.yml
index d4f6f15d1f4eb80d02cd0c5738dc0a011b9dfc72..2a77d0e5cdc6657260deabfb36f40c646ebf8809 100644
--- a/docker-compose/device-observation_control.yml
+++ b/docker-compose/device-observation_control.yml
@@ -21,6 +21,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-observation_control
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     ports:
diff --git a/docker-compose/device-recv.yml b/docker-compose/device-recv.yml
index 25e767726f139ff532dbe649ccb230fabbec0602..0a42904ce8637322df33622a7952cdbb0de746ba 100644
--- a/docker-compose/device-recv.yml
+++ b/docker-compose/device-recv.yml
@@ -22,6 +22,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-recv
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     ports:
diff --git a/docker-compose/device-sdp.yml b/docker-compose/device-sdp.yml
index 06a523f606d67811986bd7a13b9a3202cb74e91d..1f3967d6507a4be7eef77e88b5a9aeecd4bfb461 100644
--- a/docker-compose/device-sdp.yml
+++ b/docker-compose/device-sdp.yml
@@ -22,6 +22,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-sdp
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     ports:
diff --git a/docker-compose/device-sst.yml b/docker-compose/device-sst.yml
index 86651c7878d844646528b41fb0969dfd19af6eea..4e600ef419fd6149e4ab7a0a7e527acac53369d0 100644
--- a/docker-compose/device-sst.yml
+++ b/docker-compose/device-sst.yml
@@ -22,6 +22,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-sst
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
         - control
         - data
diff --git a/docker-compose/device-unb2.yml b/docker-compose/device-unb2.yml
index 2b9b47146a405440ebd36fd84162935fb6b8a56d..3939635b26a9dade6caadb5bcdc4f5136ae40866 100644
--- a/docker-compose/device-unb2.yml
+++ b/docker-compose/device-unb2.yml
@@ -22,6 +22,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-unb2
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     ports:
diff --git a/docker-compose/device-xst.yml b/docker-compose/device-xst.yml
index 54ca5a21f911084160d2cec772df06da55ef5cf1..e2cfd8c7d2e38a6a22b5a20868ee7bea72ef9165 100644
--- a/docker-compose/device-xst.yml
+++ b/docker-compose/device-xst.yml
@@ -22,6 +22,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-xst
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
         - control
         - data
diff --git a/docker-compose/elk.yml b/docker-compose/elk.yml
index 25bb1b218669baebff50ddc830b049b691349f71..78345420e3a7ce677096cfc22f2fdca33b5756d8 100644
--- a/docker-compose/elk.yml
+++ b/docker-compose/elk.yml
@@ -18,6 +18,11 @@ services:
     build:
         context: elk-configure-host
     container_name: ${CONTAINER_NAME_PREFIX}elk-configure-host
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     privileged: true
@@ -27,6 +32,11 @@ services:
     build:
         context: elk
     container_name: ${CONTAINER_NAME_PREFIX}elk
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     volumes:
diff --git a/docker-compose/itango.yml b/docker-compose/itango.yml
index 02d6801bd8a2f748a4b3d3336352891c78d4882b..3e3df5a537e022a3ea4f82f55bf16e9264db7bb3 100644
--- a/docker-compose/itango.yml
+++ b/docker-compose/itango.yml
@@ -19,6 +19,11 @@ services:
         args:
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}itango
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     extra_hosts:
diff --git a/docker-compose/jupyter.yml b/docker-compose/jupyter.yml
index bbc20f269f8a44acff3ce9f36bf11eeef17cea8f..8bc6eb8cefd72b56dda08af054ea1fa7716939f1 100644
--- a/docker-compose/jupyter.yml
+++ b/docker-compose/jupyter.yml
@@ -18,6 +18,11 @@ services:
             CONTAINER_EXECUTION_UID: ${CONTAINER_EXECUTION_UID}
             SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}jupyter
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     volumes:
diff --git a/docker-compose/lofar-device-base.yml b/docker-compose/lofar-device-base.yml
index f01faac2d2f41647708229106a895d3dad23c3e4..dddd50c9a01e2e928a1d36c1723a703afd5deaeb 100644
--- a/docker-compose/lofar-device-base.yml
+++ b/docker-compose/lofar-device-base.yml
@@ -23,6 +23,11 @@ services:
     container_name: ${CONTAINER_NAME_PREFIX}lofar-device-base
     # These parameters are just visual queues, you have to define them again
     # in derived docker-compose files!
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     extra_hosts:
diff --git a/docker-compose/prometheus.yml b/docker-compose/prometheus.yml
index e7924c1a7219adc16e1a3c1780b0bcc43773b3c0..8029e9ba6d83e4af824ca307b8aae17af919333e 100644
--- a/docker-compose/prometheus.yml
+++ b/docker-compose/prometheus.yml
@@ -16,6 +16,11 @@ services:
     build:
         context: prometheus
     container_name: ${CONTAINER_NAME_PREFIX}prometheus
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     volumes:
diff --git a/docker-compose/recv-sim.yml b/docker-compose/recv-sim.yml
index 8fd795be60ef89b23491895dd9809ff67b1c67ae..91d1a13cd696ccc604a896496ad086333375e110 100644
--- a/docker-compose/recv-sim.yml
+++ b/docker-compose/recv-sim.yml
@@ -14,6 +14,11 @@ services:
          - LOCAL_DOCKER_REGISTRY_HOST=${LOCAL_DOCKER_REGISTRY_HOST}
          - LOCAL_DOCKER_REGISTRY_LOFAR=${LOCAL_DOCKER_REGISTRY_LOFAR}
     container_name: ${CONTAINER_NAME_PREFIX}recv-sim
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     entrypoint: python3 pypcc2.py --simulator --port 4840 --config RECVTR
diff --git a/docker-compose/sdptr-sim.yml b/docker-compose/sdptr-sim.yml
index badf707e37621c8b3030121424bacd1393910b87..112b6d4e5b41dff3cddc481d80539c02c39c62ba 100644
--- a/docker-compose/sdptr-sim.yml
+++ b/docker-compose/sdptr-sim.yml
@@ -14,6 +14,11 @@ services:
          - LOCAL_DOCKER_REGISTRY_HOST=${LOCAL_DOCKER_REGISTRY_HOST}
          - LOCAL_DOCKER_REGISTRY_LOFAR=${LOCAL_DOCKER_REGISTRY_LOFAR}
     container_name: ${CONTAINER_NAME_PREFIX}sdptr-sim
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     restart: unless-stopped
diff --git a/docker-compose/tango-prometheus-exporter.yml b/docker-compose/tango-prometheus-exporter.yml
index bc43a6777b5595a9d94c13e55322a7adc0a8d84f..87ca7109f6bdd512b97c81e5e32685f7029d9748 100644
--- a/docker-compose/tango-prometheus-exporter.yml
+++ b/docker-compose/tango-prometheus-exporter.yml
@@ -8,6 +8,11 @@ services:
     build:
         context: tango-prometheus-exporter
     container_name: ${CONTAINER_NAME_PREFIX}tango-prometheus-exporter
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     environment:
diff --git a/docker-compose/unb2-sim.yml b/docker-compose/unb2-sim.yml
index b01802cd0526abe325c710f08fe965d6244cb2ba..f7bff91fe19aecbb9e38cd9573237acf4756f99e 100644
--- a/docker-compose/unb2-sim.yml
+++ b/docker-compose/unb2-sim.yml
@@ -14,6 +14,11 @@ services:
          - LOCAL_DOCKER_REGISTRY_HOST=${LOCAL_DOCKER_REGISTRY_HOST}
          - LOCAL_DOCKER_REGISTRY_LOFAR=${LOCAL_DOCKER_REGISTRY_LOFAR}
     container_name: ${CONTAINER_NAME_PREFIX}unb2-sim
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "10"
     networks:
       - control
     entrypoint: python3 pypcc2.py --simulator --port 4841 --config UNB2