<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mscneuro.neuro.uni-bremen.de/index.php?action=history&amp;feed=atom&amp;title=Autoupdate_Script_Docker_Container</id>
	<title>Autoupdate Script Docker Container - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mscneuro.neuro.uni-bremen.de/index.php?action=history&amp;feed=atom&amp;title=Autoupdate_Script_Docker_Container"/>
	<link rel="alternate" type="text/html" href="https://mscneuro.neuro.uni-bremen.de/index.php?title=Autoupdate_Script_Docker_Container&amp;action=history"/>
	<updated>2026-07-23T16:36:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://mscneuro.neuro.uni-bremen.de/index.php?title=Autoupdate_Script_Docker_Container&amp;diff=993&amp;oldid=prev</id>
		<title>Davrot@uni-bremen.de: Created page with &quot;Example for nginx.   You need to adapt:&lt;syntaxhighlight lang=&quot;bash&quot;&gt; SERVICE_NAME=&quot;nginx&quot; CONTAINER_NAME=&quot;nginx&quot; IMAGE_NAME=&quot;nginx:stable-alpine&quot; YAML_DIRECTORY_NAME=&quot;/docker/compose/&quot; &lt;/syntaxhighlight&gt;&lt;syntaxhighlight lang=&quot;bash&quot;&gt;#!/bin/bash set -euo pipefail  SERVICE_NAME=&quot;nginx&quot; CONTAINER_NAME=&quot;nginx&quot; IMAGE_NAME=&quot;nginx:stable-alpine&quot; YAML_DIRECTORY_NAME=&quot;/docker/compose/&quot;  # Get current image ID (short format) CURRENT_IMAGE=$(docker inspect --format=&#039;{{.Image}}&#039; &quot;${C...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mscneuro.neuro.uni-bremen.de/index.php?title=Autoupdate_Script_Docker_Container&amp;diff=993&amp;oldid=prev"/>
		<updated>2026-07-22T16:02:04Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Example for nginx.   You need to adapt:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; SERVICE_NAME=&amp;quot;nginx&amp;quot; CONTAINER_NAME=&amp;quot;nginx&amp;quot; IMAGE_NAME=&amp;quot;nginx:stable-alpine&amp;quot; YAML_DIRECTORY_NAME=&amp;quot;/docker/compose/&amp;quot; &amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;#!/bin/bash set -euo pipefail  SERVICE_NAME=&amp;quot;nginx&amp;quot; CONTAINER_NAME=&amp;quot;nginx&amp;quot; IMAGE_NAME=&amp;quot;nginx:stable-alpine&amp;quot; YAML_DIRECTORY_NAME=&amp;quot;/docker/compose/&amp;quot;  # Get current image ID (short format) CURRENT_IMAGE=$(docker inspect --format=&amp;#039;{{.Image}}&amp;#039; &amp;quot;${C...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Example for nginx. &lt;br /&gt;
&lt;br /&gt;
You need to adapt:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
SERVICE_NAME=&amp;quot;nginx&amp;quot;&lt;br /&gt;
CONTAINER_NAME=&amp;quot;nginx&amp;quot;&lt;br /&gt;
IMAGE_NAME=&amp;quot;nginx:stable-alpine&amp;quot;&lt;br /&gt;
YAML_DIRECTORY_NAME=&amp;quot;/docker/compose/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;#!/bin/bash&lt;br /&gt;
set -euo pipefail&lt;br /&gt;
&lt;br /&gt;
SERVICE_NAME=&amp;quot;nginx&amp;quot;&lt;br /&gt;
CONTAINER_NAME=&amp;quot;nginx&amp;quot;&lt;br /&gt;
IMAGE_NAME=&amp;quot;nginx:stable-alpine&amp;quot;&lt;br /&gt;
YAML_DIRECTORY_NAME=&amp;quot;/docker/compose/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get current image ID (short format)&lt;br /&gt;
CURRENT_IMAGE=$(docker inspect --format=&amp;#039;{{.Image}}&amp;#039; &amp;quot;${CONTAINER_NAME}&amp;quot; 2&amp;gt;/dev/null | cut -d: -f2 | cut -c1-12) || true&lt;br /&gt;
&lt;br /&gt;
# Pull the latest image&lt;br /&gt;
echo &amp;quot;Pulling latest image...&amp;quot;&lt;br /&gt;
docker pull &amp;quot;${IMAGE_NAME}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get new image ID (short format)&lt;br /&gt;
NEW_IMAGE=$(docker images &amp;quot;${IMAGE_NAME}&amp;quot; --format &amp;#039;{{.ID}}&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Current image: $CURRENT_IMAGE&amp;quot;&lt;br /&gt;
echo &amp;quot;Latest image:  $NEW_IMAGE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Compare and restart only if different&lt;br /&gt;
if [ -z &amp;quot;$CURRENT_IMAGE&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Container not found, starting it up...&amp;quot;&lt;br /&gt;
    cd &amp;quot;${YAML_DIRECTORY_NAME}&amp;quot;&lt;br /&gt;
    docker compose up -d &amp;quot;${SERVICE_NAME}&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$CURRENT_IMAGE&amp;quot; != &amp;quot;$NEW_IMAGE&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;New image detected, restarting container...&amp;quot;&lt;br /&gt;
    cd &amp;quot;${YAML_DIRECTORY_NAME}&amp;quot;&lt;br /&gt;
    docker compose down &amp;quot;${SERVICE_NAME}&amp;quot;&lt;br /&gt;
    docker compose up -d &amp;quot;${SERVICE_NAME}&amp;quot;&lt;br /&gt;
    echo &amp;quot;Update completed!&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Already running the latest version, no restart needed.&amp;quot;&lt;br /&gt;
fi&amp;lt;/syntaxhighlight&amp;gt;Make the script executable (chmod 07.... ). &lt;br /&gt;
&lt;br /&gt;
Add it to cron (crontab -e ) with the correct path and script name:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
0 4 * * * /docker/compose/autoupdate_nginx.sh &amp;gt;&amp;gt; /var/log/nginx-update.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Davrot@uni-bremen.de</name></author>
	</entry>
</feed>