<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.completenoobs.com/noobs/index.php?action=history&amp;feed=atom&amp;title=CompleteNoobs_Docker_Image_2</id>
	<title>CompleteNoobs Docker Image 2 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.completenoobs.com/noobs/index.php?action=history&amp;feed=atom&amp;title=CompleteNoobs_Docker_Image_2"/>
	<link rel="alternate" type="text/html" href="https://www.completenoobs.com/noobs/index.php?title=CompleteNoobs_Docker_Image_2&amp;action=history"/>
	<updated>2026-04-30T02:35:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://www.completenoobs.com/noobs/index.php?title=CompleteNoobs_Docker_Image_2&amp;diff=678&amp;oldid=prev</id>
		<title>AwesomO: /* 5.2: Test Extensions */</title>
		<link rel="alternate" type="text/html" href="https://www.completenoobs.com/noobs/index.php?title=CompleteNoobs_Docker_Image_2&amp;diff=678&amp;oldid=prev"/>
		<updated>2025-09-02T14:46:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;5.2: Test Extensions&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:46, 2 September 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l391&quot;&gt;Line 391:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 391:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;2. Login with admin / AdminPass123!&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;2. Login with admin / AdminPass123!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;3. Create or edit a page and test:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;3. Create or edit a page and test:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    * YouTube: Add &amp;lt;code&amp;gt;&amp;lt;youtube&amp;gt;gBML6zuUpK0&amp;lt;/youtube&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    * YouTube: Add&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/Test &amp;lt;nowiki&amp;gt;&amp;lt;youtube&amp;gt;gBML6zuUpK0&amp;lt;/youtube&amp;gt;&amp;lt;/nowiki&amp;gt;  &lt;/ins&gt;&amp;lt;code&amp;gt;&amp;lt;youtube&amp;gt;gBML6zuUpK0&amp;lt;/youtube&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    * SyntaxHighlight: Add &amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;print(&amp;quot;Hello&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    * SyntaxHighlight: Add &amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;print(&amp;quot;Hello&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AwesomO</name></author>
	</entry>
	<entry>
		<id>https://www.completenoobs.com/noobs/index.php?title=CompleteNoobs_Docker_Image_2&amp;diff=677&amp;oldid=prev</id>
		<title>AwesomO: /* 5.2: Test Extensions */</title>
		<link rel="alternate" type="text/html" href="https://www.completenoobs.com/noobs/index.php?title=CompleteNoobs_Docker_Image_2&amp;diff=677&amp;oldid=prev"/>
		<updated>2025-09-02T14:42:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;5.2: Test Extensions&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:42, 2 September 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l391&quot;&gt;Line 391:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 391:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;2. Login with admin / AdminPass123!&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;2. Login with admin / AdminPass123!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;3. Create or edit a page and test:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;3. Create or edit a page and test:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    * YouTube: Add &amp;lt;code&amp;gt;&amp;lt;youtube&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;VIDEO_ID&lt;/del&gt;&amp;lt;/youtube&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    * YouTube: Add &amp;lt;code&amp;gt;&amp;lt;youtube&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gBML6zuUpK0&lt;/ins&gt;&amp;lt;/youtube&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    * SyntaxHighlight: Add &amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;print(&amp;quot;Hello&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    * SyntaxHighlight: Add &amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;print(&amp;quot;Hello&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AwesomO</name></author>
	</entry>
	<entry>
		<id>https://www.completenoobs.com/noobs/index.php?title=CompleteNoobs_Docker_Image_2&amp;diff=672&amp;oldid=prev</id>
		<title>AwesomO: Created page with &quot; ==todo== * Use Dir for import export of xml. * Min scripts - just setup mediawiki with extensions.  = Complete Noobs Docker Wiki Tutorial v0.2 = * Version 0.2 - Simplified with manual import/export *  Docker install guide  == Overview == This tutorial creates a MediaWiki Docker container with: * MediaWiki 1.44 * PageNotice extension (for license notices) * YouTube extension (for video embedding) * Shared directory for XML import/export  == Prere...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.completenoobs.com/noobs/index.php?title=CompleteNoobs_Docker_Image_2&amp;diff=672&amp;oldid=prev"/>
		<updated>2025-09-02T12:24:39Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; ==todo== * Use Dir for import export of xml. * Min scripts - just setup mediawiki with extensions.  = Complete Noobs Docker Wiki Tutorial v0.2 = * Version 0.2 - Simplified with manual import/export * &lt;a href=&quot;/noobs/Docker_Install_Guide&quot; title=&quot;Docker Install Guide&quot;&gt; Docker install guide&lt;/a&gt;  == Overview == This tutorial creates a MediaWiki Docker container with: * MediaWiki 1.44 * PageNotice extension (for license notices) * YouTube extension (for video embedding) * Shared directory for XML import/export  == Prere...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==todo==&lt;br /&gt;
* Use Dir for import export of xml.&lt;br /&gt;
* Min scripts - just setup mediawiki with extensions.&lt;br /&gt;
&lt;br /&gt;
= Complete Noobs Docker Wiki Tutorial v0.2 =&lt;br /&gt;
* Version 0.2 - Simplified with manual import/export&lt;br /&gt;
* [[Docker_Install_Guide| Docker install guide]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
This tutorial creates a MediaWiki Docker container with:&lt;br /&gt;
* MediaWiki 1.44&lt;br /&gt;
* PageNotice extension (for license notices)&lt;br /&gt;
* YouTube extension (for video embedding)&lt;br /&gt;
* Shared directory for XML import/export&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
* Ubuntu 24.04&lt;br /&gt;
* Docker installed and running&lt;br /&gt;
* Your user in docker group: &amp;lt;code&amp;gt;sudo usermod -aG docker $USER&amp;lt;/code&amp;gt; (then logout/login)&lt;br /&gt;
&lt;br /&gt;
== Step 1: Create Directory Structure ==&lt;br /&gt;
&lt;br /&gt;
=== 1.1: Create Project Directory ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir ~/completenoobs-docker-v2&lt;br /&gt;
cd ~/completenoobs-docker-v2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 1.2: Create Shared Directory ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir ~/wiki-container&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This directory will be used for importing and exporting XML files.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Create All Files ==&lt;br /&gt;
&lt;br /&gt;
=== 2.1: Dockerfile ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
nano Dockerfile&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;dockerfile&amp;quot;&amp;gt;&lt;br /&gt;
FROM mediawiki:1.44&lt;br /&gt;
&lt;br /&gt;
# Install dependencies&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; apt-get install -y \&lt;br /&gt;
    mariadb-server \&lt;br /&gt;
    python3-pygments \&lt;br /&gt;
    curl \&lt;br /&gt;
    wget \&lt;br /&gt;
    unzip \&lt;br /&gt;
    nano \&lt;br /&gt;
    vim \&lt;br /&gt;
    git \&lt;br /&gt;
    &amp;amp;&amp;amp; apt-get clean&lt;br /&gt;
&lt;br /&gt;
# Copy setup script&lt;br /&gt;
COPY setup_wiki.sh /usr/src/setup_wiki.sh&lt;br /&gt;
COPY entrypoint.sh /entrypoint.sh&lt;br /&gt;
&lt;br /&gt;
# Make executable&lt;br /&gt;
RUN chmod +x /usr/src/setup_wiki.sh /entrypoint.sh&lt;br /&gt;
&lt;br /&gt;
# Setup wiki&lt;br /&gt;
RUN /usr/src/setup_wiki.sh&lt;br /&gt;
&lt;br /&gt;
EXPOSE 80&lt;br /&gt;
VOLUME /var/lib/mysql&lt;br /&gt;
VOLUME /var/www/html/images&lt;br /&gt;
VOLUME /export&lt;br /&gt;
&lt;br /&gt;
ENTRYPOINT [&amp;quot;/entrypoint.sh&amp;quot;]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2.2: Main Setup Script ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
nano setup_wiki.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Setting up CompleteNoobs Wiki...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Initialize MariaDB&lt;br /&gt;
if [ ! -d &amp;quot;/var/lib/mysql/mysql&amp;quot; ]; then&lt;br /&gt;
    mysql_install_db --user=mysql --datadir=/var/lib/mysql&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
service mariadb start&lt;br /&gt;
&lt;br /&gt;
# Wait for MariaDB&lt;br /&gt;
for i in {1..30}; do&lt;br /&gt;
    if mysql -e &amp;quot;SELECT 1;&amp;quot; &amp;amp;&amp;gt;/dev/null; then&lt;br /&gt;
        echo &amp;quot;MariaDB ready!&amp;quot;&lt;br /&gt;
        break&lt;br /&gt;
    fi&lt;br /&gt;
    sleep 2&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# Setup database&lt;br /&gt;
mysql -e &amp;quot;CREATE DATABASE IF NOT EXISTS completenoobs_wiki CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;&amp;quot;&lt;br /&gt;
mysql -e &amp;quot;CREATE USER IF NOT EXISTS &amp;#039;wikiuser&amp;#039;@&amp;#039;127.0.0.1&amp;#039; IDENTIFIED BY &amp;#039;wikipass&amp;#039;;&amp;quot;&lt;br /&gt;
mysql -e &amp;quot;GRANT ALL PRIVILEGES ON completenoobs_wiki.* TO &amp;#039;wikiuser&amp;#039;@&amp;#039;127.0.0.1&amp;#039;;&amp;quot;&lt;br /&gt;
mysql -e &amp;quot;CREATE USER IF NOT EXISTS &amp;#039;wikiuser&amp;#039;@&amp;#039;localhost&amp;#039; IDENTIFIED BY &amp;#039;wikipass&amp;#039;;&amp;quot;&lt;br /&gt;
mysql -e &amp;quot;GRANT ALL PRIVILEGES ON completenoobs_wiki.* TO &amp;#039;wikiuser&amp;#039;@&amp;#039;localhost&amp;#039;;&amp;quot;&lt;br /&gt;
mysql -e &amp;quot;FLUSH PRIVILEGES;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Install MediaWiki&lt;br /&gt;
cd /var/www/html&lt;br /&gt;
php maintenance/install.php \&lt;br /&gt;
    --dbtype=mysql \&lt;br /&gt;
    --dbserver=127.0.0.1 \&lt;br /&gt;
    --dbname=completenoobs_wiki \&lt;br /&gt;
    --dbuser=wikiuser \&lt;br /&gt;
    --dbpass=wikipass \&lt;br /&gt;
    --server=&amp;quot;http://localhost:8080&amp;quot; \&lt;br /&gt;
    --scriptpath=&amp;quot;&amp;quot; \&lt;br /&gt;
    --lang=en \&lt;br /&gt;
    --pass=AdminPass123! \&lt;br /&gt;
    &amp;quot;CompleteNoobs Wiki&amp;quot; \&lt;br /&gt;
    &amp;quot;admin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Download and install extensions&lt;br /&gt;
cd extensions/&lt;br /&gt;
echo &amp;quot;Installing PageNotice extension...&amp;quot;&lt;br /&gt;
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/PageNotice --branch REL1_44 || echo &amp;quot;PageNotice download failed, continuing...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Installing YouTube extension...&amp;quot;&lt;br /&gt;
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/YouTube --branch REL1_44 || echo &amp;quot;YouTube download failed, continuing...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd /var/www/html&lt;br /&gt;
&lt;br /&gt;
# Configure LocalSettings.php&lt;br /&gt;
cat &amp;gt;&amp;gt; LocalSettings.php &amp;lt;&amp;lt; &amp;#039;EOF&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Basic settings&lt;br /&gt;
$wgEnableUploads = true;&lt;br /&gt;
$wgUseImageMagick = true;&lt;br /&gt;
$wgImageMagickConvertCommand = &amp;quot;/usr/bin/convert&amp;quot;;&lt;br /&gt;
$wgDefaultSkin = &amp;quot;vector-2022&amp;quot;;&lt;br /&gt;
$wgAllowExternalImages = true;&lt;br /&gt;
&lt;br /&gt;
# Debug settings (remove in production)&lt;br /&gt;
$wgShowExceptionDetails = true;&lt;br /&gt;
$wgDebugLogFile = &amp;quot;/tmp/mediawiki-debug.log&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# PageNotice extension&lt;br /&gt;
if ( file_exists( &amp;quot;$IP/extensions/PageNotice/extension.json&amp;quot; ) ) {&lt;br /&gt;
    wfLoadExtension( &amp;#039;PageNotice&amp;#039; );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# YouTube extension&lt;br /&gt;
if ( file_exists( &amp;quot;$IP/extensions/YouTube/extension.json&amp;quot; ) ) {&lt;br /&gt;
    wfLoadExtension( &amp;#039;YouTube&amp;#039; );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# SyntaxHighlight (usually bundled)&lt;br /&gt;
if ( file_exists( &amp;quot;$IP/extensions/SyntaxHighlight_GeSHi/extension.json&amp;quot; ) ) {&lt;br /&gt;
    wfLoadExtension( &amp;#039;SyntaxHighlight_GeSHi&amp;#039; );&lt;br /&gt;
    $wgPygmentizePath = &amp;#039;/usr/bin/pygmentize&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
# Create helper scripts&lt;br /&gt;
cat &amp;gt; /var/www/html/export_wiki.sh &amp;lt;&amp;lt; &amp;#039;EXPORT_EOF&amp;#039;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;=== Wiki Export Tool ===&amp;quot;&lt;br /&gt;
DATE=$(date +%Y%m%d)&lt;br /&gt;
OUTPUT_FILE=&amp;quot;/export/${DATE}_wiki_export.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Exporting wiki to: $OUTPUT_FILE&amp;quot;&lt;br /&gt;
php /var/www/html/maintenance/run.php dumpBackup.php --full --output=file:$OUTPUT_FILE&lt;br /&gt;
&lt;br /&gt;
if [ -f &amp;quot;$OUTPUT_FILE&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Export successful!&amp;quot;&lt;br /&gt;
    echo &amp;quot;File saved to: $OUTPUT_FILE&amp;quot;&lt;br /&gt;
    echo &amp;quot;On host system: ~/wiki-container/${DATE}_wiki_export.xml&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Export failed!&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
EXPORT_EOF&lt;br /&gt;
chmod +x /var/www/html/export_wiki.sh&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /var/www/html/import_wiki.sh &amp;lt;&amp;lt; &amp;#039;IMPORT_EOF&amp;#039;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
echo &amp;quot;=== Wiki Import Tool ===&amp;quot;&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;Available XML files in /export:&amp;quot;&lt;br /&gt;
ls -la /export/*.xml 2&amp;gt;/dev/null || echo &amp;quot;No XML files found&amp;quot;&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Usage: /var/www/html/import_wiki.sh &amp;lt;filename&amp;gt;&amp;quot;&lt;br /&gt;
    echo &amp;quot;Example: /var/www/html/import_wiki.sh /export/wiki.xml&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ ! -f &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Error: File $1 not found!&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Importing from: $1&amp;quot;&lt;br /&gt;
echo &amp;quot;This may take several minutes...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
php /var/www/html/maintenance/run.php importDump.php &amp;quot;$1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
    echo &amp;quot;Import completed!&amp;quot;&lt;br /&gt;
    echo &amp;quot;Rebuilding indexes...&amp;quot;&lt;br /&gt;
    php /var/www/html/maintenance/run.php rebuildrecentchanges.php&lt;br /&gt;
    php /var/www/html/maintenance/run.php initSiteStats.php&lt;br /&gt;
    echo &amp;quot;Done!&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;Import failed! Check /tmp/mediawiki-debug.log for details&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
IMPORT_EOF&lt;br /&gt;
chmod +x /var/www/html/import_wiki.sh&lt;br /&gt;
&lt;br /&gt;
# Create status check script&lt;br /&gt;
cat &amp;gt; /var/www/html/check_status.sh &amp;lt;&amp;lt; &amp;#039;STATUS_EOF&amp;#039;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
cd /var/www/html&lt;br /&gt;
echo &amp;quot;=== Wiki Status ===&amp;quot;&lt;br /&gt;
echo &amp;quot;Pages: $(mysql --user=wikiuser --password=wikipass completenoobs_wiki -e &amp;quot;SELECT COUNT(*) FROM page;&amp;quot; -s -N 2&amp;gt;/dev/null || echo &amp;quot;Error&amp;quot;)&amp;quot;&lt;br /&gt;
echo &amp;quot;Users: $(mysql --user=wikiuser --password=wikipass completenoobs_wiki -e &amp;quot;SELECT COUNT(*) FROM user WHERE user_id &amp;gt; 0;&amp;quot; -s -N 2&amp;gt;/dev/null || echo &amp;quot;Error&amp;quot;)&amp;quot;&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;=== Extensions ===&amp;quot;&lt;br /&gt;
if [ -d &amp;quot;extensions/PageNotice&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;PageNotice: Installed ✓&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;PageNotice: Not installed ✗&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
if [ -d &amp;quot;extensions/YouTube&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;YouTube: Installed ✓&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;YouTube: Not installed ✗&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
if [ -d &amp;quot;extensions/SyntaxHighlight_GeSHi&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;SyntaxHighlight: Installed ✓&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;SyntaxHighlight: Not installed ✗&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;=== Shared Directory ===&amp;quot;&lt;br /&gt;
if [ -d &amp;quot;/export&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;/export mounted ✓&amp;quot;&lt;br /&gt;
    echo &amp;quot;Files in /export:&amp;quot;&lt;br /&gt;
    ls -la /export/*.xml 2&amp;gt;/dev/null || echo &amp;quot;  No XML files&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    echo &amp;quot;/export not mounted ✗&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
STATUS_EOF&lt;br /&gt;
chmod +x /var/www/html/check_status.sh&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;Setup completed!&amp;quot;&lt;br /&gt;
echo &amp;quot;Admin: admin / AdminPass123!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
service mariadb stop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2.3: Entrypoint Script ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
nano entrypoint.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Starting CompleteNoobs Wiki...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
service mariadb start&lt;br /&gt;
&lt;br /&gt;
# Wait for MariaDB&lt;br /&gt;
for i in {1..30}; do&lt;br /&gt;
    if mysql -e &amp;quot;SELECT 1;&amp;quot; &amp;amp;&amp;gt;/dev/null; then&lt;br /&gt;
        echo &amp;quot;MariaDB ready!&amp;quot;&lt;br /&gt;
        break&lt;br /&gt;
    fi&lt;br /&gt;
    sleep 1&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;=========================================&amp;quot;&lt;br /&gt;
echo &amp;quot;CompleteNoobs Wiki v0.2 Ready!&amp;quot;&lt;br /&gt;
echo &amp;quot;=========================================&amp;quot;&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;Access: http://localhost:8080&amp;quot;&lt;br /&gt;
echo &amp;quot;Admin: admin / AdminPass123!&amp;quot;&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;Features:&amp;quot;&lt;br /&gt;
echo &amp;quot;- MediaWiki 1.44&amp;quot;&lt;br /&gt;
echo &amp;quot;- PageNotice extension&amp;quot;&lt;br /&gt;
echo &amp;quot;- YouTube extension&amp;quot;&lt;br /&gt;
echo &amp;quot;- SyntaxHighlight extension&amp;quot;&lt;br /&gt;
echo &amp;quot;- Import/Export via ~/wiki-container&amp;quot;&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
echo &amp;quot;Available commands:&amp;quot;&lt;br /&gt;
echo &amp;quot;- Export wiki: docker exec completenoobs_wiki /var/www/html/export_wiki.sh&amp;quot;&lt;br /&gt;
echo &amp;quot;- Import XML: docker exec completenoobs_wiki /var/www/html/import_wiki.sh /export/filename.xml&amp;quot;&lt;br /&gt;
echo &amp;quot;- Check status: docker exec completenoobs_wiki /var/www/html/check_status.sh&amp;quot;&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
apache2-foreground&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 3: Build and Run ==&lt;br /&gt;
&lt;br /&gt;
=== 3.1: Build the Image ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker build -t completenoobs/wiki:v0.2 .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3.2: Run the Container with Shared Directory ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker run -d -p 8080:80 \&lt;br /&gt;
  -v ~/wiki-container:/export \&lt;br /&gt;
  -v completenoobs_mysql:/var/lib/mysql \&lt;br /&gt;
  -v completenoobs_images:/var/www/html/images \&lt;br /&gt;
  --name completenoobs_wiki \&lt;br /&gt;
  completenoobs/wiki:v0.2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 4: Import/Export Operations ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1: Import an XML File ===&lt;br /&gt;
* https://xml.completenoobs.com/xmlDumps/&lt;br /&gt;
==== Place XML file in shared directory ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Copy your XML file to the shared directory&lt;br /&gt;
cp ~/Downloads/completenoobs.xml ~/wiki-container/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Import the file ====&lt;br /&gt;
* All files in host &amp;lt;code&amp;gt;wiki-container&amp;lt;/code&amp;gt; directory will also be in the containers &amp;lt;code&amp;gt;/export/&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Run the import command&lt;br /&gt;
docker exec completenoobs_wiki /var/www/html/import_wiki.sh /export/completenoobs.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:Restore_the_completenoobs_Main_Page}}&lt;br /&gt;
&lt;br /&gt;
=== 4.2: Export Your Wiki ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Export wiki to dated XML file&lt;br /&gt;
docker exec completenoobs_wiki /var/www/html/export_wiki.sh&lt;br /&gt;
&lt;br /&gt;
# Check the exported file&lt;br /&gt;
ls -la ~/wiki-container/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4.3: Manual Import/Export (Advanced) ===&lt;br /&gt;
&lt;br /&gt;
==== Access container shell ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker exec -it completenoobs_wiki bash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Manual export with custom filename ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
php /var/www/html/maintenance/run.php dumpBackup.php --full --output=file:/export/my_wiki_backup.xml&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Manual import with options ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Basic import&lt;br /&gt;
php /var/www/html/maintenance/run.php importDump.php /export/wiki.xml&lt;br /&gt;
&lt;br /&gt;
# Import with image uploads&lt;br /&gt;
php /var/www/html/maintenance/run.php importDump.php --uploads /export/wiki.xml&lt;br /&gt;
&lt;br /&gt;
# Then rebuild indexes&lt;br /&gt;
php /var/www/html/maintenance/run.php rebuildall.php&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 5: Testing and Verification ==&lt;br /&gt;
&lt;br /&gt;
=== 5.1: Check Wiki Status ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker exec completenoobs_wiki /var/www/html/check_status.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5.2: Test Extensions ===&lt;br /&gt;
1. Visit http://localhost:8080&lt;br /&gt;
2. Login with admin / AdminPass123!&lt;br /&gt;
3. Create or edit a page and test:&lt;br /&gt;
   * YouTube: Add &amp;lt;code&amp;gt;&amp;lt;youtube&amp;gt;VIDEO_ID&amp;lt;/youtube&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
   * SyntaxHighlight: Add &amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;print(&amp;quot;Hello&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5.3: View Logs ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Container logs&lt;br /&gt;
docker logs completenoobs_wiki&lt;br /&gt;
&lt;br /&gt;
# MediaWiki debug log&lt;br /&gt;
docker exec completenoobs_wiki tail -f /tmp/mediawiki-debug.log&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 6: Common Operations ==&lt;br /&gt;
&lt;br /&gt;
=== 6.1: Change Admin Password ===&lt;br /&gt;
&lt;br /&gt;
==== Via Web Interface ====&lt;br /&gt;
1. Login at http://localhost:8080&lt;br /&gt;
2. Click username → Preferences&lt;br /&gt;
3. Go to Password tab&lt;br /&gt;
4. Change password&lt;br /&gt;
&lt;br /&gt;
==== Via Terminal ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker exec -it completenoobs_wiki bash&lt;br /&gt;
php /var/www/html/maintenance/run.php changePassword.php --user=admin --password=NEWPASSWORD&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6.2: Backup Your Wiki ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Create dated backup&lt;br /&gt;
docker exec completenoobs_wiki /var/www/html/export_wiki.sh&lt;br /&gt;
&lt;br /&gt;
# Copy to safe location&lt;br /&gt;
cp ~/wiki-container/*_wiki_export.xml ~/backups/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6.3: Restore from Backup ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Place backup in shared directory&lt;br /&gt;
cp ~/backups/20250101_wiki_export.xml ~/wiki-container/&lt;br /&gt;
&lt;br /&gt;
# Import the backup&lt;br /&gt;
docker exec completenoobs_wiki /var/www/html/import_wiki.sh /export/20250101_wiki_export.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6.4: Complete Reset ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Stop and remove container&lt;br /&gt;
docker stop completenoobs_wiki&lt;br /&gt;
docker rm completenoobs_wiki&lt;br /&gt;
&lt;br /&gt;
# Remove volumes (WARNING: This deletes all data!)&lt;br /&gt;
docker volume rm completenoobs_mysql completenoobs_images&lt;br /&gt;
&lt;br /&gt;
# Rebuild and start fresh&lt;br /&gt;
docker run -d -p 8080:80 \&lt;br /&gt;
  -v ~/wiki-container:/export \&lt;br /&gt;
  -v completenoobs_mysql:/var/lib/mysql \&lt;br /&gt;
  -v completenoobs_images:/var/www/html/images \&lt;br /&gt;
  --name completenoobs_wiki \&lt;br /&gt;
  completenoobs/wiki:v0.2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Permission Issues ===&lt;br /&gt;
If you encounter permission errors with the shared directory:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Fix permissions on host&lt;br /&gt;
chmod 777 ~/wiki-container&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Import Failures ===&lt;br /&gt;
If imports fail, check:&lt;br /&gt;
* File exists in ~/wiki-container&lt;br /&gt;
* File is valid XML format&lt;br /&gt;
* Sufficient disk space&lt;br /&gt;
* Check debug log: &amp;lt;code&amp;gt;docker exec completenoobs_wiki tail /tmp/mediawiki-debug.log&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Container Won&amp;#039;t Start ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Check logs&lt;br /&gt;
docker logs completenoobs_wiki&lt;br /&gt;
&lt;br /&gt;
# Try interactive mode&lt;br /&gt;
docker run -it --rm completenoobs/wiki:v0.2 bash&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
This setup provides:&lt;br /&gt;
* Clean MediaWiki 1.44 installation&lt;br /&gt;
* Essential extensions (PageNotice, YouTube, SyntaxHighlight)&lt;br /&gt;
* Simple import/export via ~/wiki-container directory&lt;br /&gt;
* No automatic updates - full control over your content&lt;br /&gt;
* Easy backup and restore capabilities&lt;br /&gt;
&lt;br /&gt;
The shared directory approach gives you complete control over when and what to import/export, making it ideal for:&lt;br /&gt;
* Migrating content between wikis&lt;br /&gt;
* Regular backups&lt;br /&gt;
* Sharing wiki content&lt;br /&gt;
* Testing imports before applying to production&lt;/div&gt;</summary>
		<author><name>AwesomO</name></author>
	</entry>
</feed>