<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>FLOSSK Wiki  - Recent changes [en]</title>
		<link>https://wiki.flossk.org/wiki/Special:RecentChanges</link>
		<description>Track the most recent changes to the wiki in this feed.</description>
		<language>en</language>
		<generator>MediaWiki 1.46.0</generator>
		<lastBuildDate>Thu, 27 Aug 2026 04:35:54 GMT</lastBuildDate>
		<item>
			<title>Software Freedom Kosova</title>
			<link>https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=56&amp;oldid=42</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=56&amp;oldid=42</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 13:56, 26 August 2026&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-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&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;Over the years, SFK has welcomed renowned speakers including Bruce Perens, David Cuartielles, Philippe Saadé, Glynn Moody, Peter Salus, Mikel Maron, Rob Savoye, Leon Shiman, and Jo Hinchliffe, alongside hundreds of contributors from the global open source community. Through inspiring talks,  &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;Over the years, SFK has welcomed renowned speakers including Bruce Perens, David Cuartielles, Philippe Saadé, Glynn Moody, Peter Salus, Mikel Maron, Rob Savoye, Leon Shiman, and Jo Hinchliffe, alongside hundreds of contributors from the global open source community. Through inspiring talks,  &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;hands-on workshops, and community-driven discussions.&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;hands-on workshops, and community-driven discussions.&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;{{Project|SFK 2009|FIEK|Aug 29-30&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, 2009&lt;/del&gt;|The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.}}&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;{{Project|SFK 2009|FIEK&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|2009&lt;/ins&gt;|Aug 29-30|The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.}}&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;{{Project|SFK 2010|FIEK|Sept 11-12&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, 2010&lt;/del&gt;|The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.}}&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;{{Project|SFK 2010|FIEK&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|2010&lt;/ins&gt;|Sept 11-12|The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.}}&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;{{Project|SFK 2011|FIEK|Nov 11-12&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, 2011&lt;/del&gt;|The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.}}&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;{{Project|SFK 2011|FIEK&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|2011&lt;/ins&gt;|Nov 11-12|The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.}}&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;[[Category:Projects]]&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;[[Category:Projects]]&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;[[Category:Conferences]]&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;[[Category:Conferences]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-42:rev-56:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 26 Aug 2026 13:56:04 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Software_Freedom_Kosova</comments>
		</item>
		<item>
			<title>Template:Project</title>
			<link>https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=55&amp;oldid=41</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=55&amp;oldid=41</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 13:54, 26 August 2026&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-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&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;|&amp;#039;&amp;#039;&amp;#039;Location: &amp;#039;&amp;#039;&amp;#039;&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;|&amp;#039;&amp;#039;&amp;#039;Location: &amp;#039;&amp;#039;&amp;#039;&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;|{{{2}}}&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}}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&#039;&#039;&#039;Year: &#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|{{{3}}}&lt;/ins&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;|-&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;|-&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;|&amp;#039;&amp;#039;&amp;#039;Dates: &amp;#039;&amp;#039;&amp;#039;&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;|&amp;#039;&amp;#039;&amp;#039;Dates: &amp;#039;&amp;#039;&amp;#039;&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;|{{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3&lt;/del&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;|{{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4&lt;/ins&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;|}&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;|}&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;{{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4&lt;/del&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;{{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5&lt;/ins&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;&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&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;&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-41:rev-55:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 26 Aug 2026 13:54:55 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Template_talk:Project</comments>
		</item>
		<item>
			<title>Member Projects</title>
			<link>https://wiki.flossk.org/index.php?title=Member_Projects&amp;diff=54&amp;oldid=51</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Member_Projects&amp;diff=54&amp;oldid=51</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 13:53, 26 August 2026&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-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&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;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;== How to list a project ==&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;== How to list a project ==&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;Listing a project is an important and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a required &amp;lt;nowiki&amp;gt;&lt;/del&gt;{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Citation needed&lt;/del&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reason=Not really for now&lt;/del&gt;}}&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt; &lt;/del&gt;part for the completion of a project.&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;Listing a project is an important and {{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Citation_needed&lt;/ins&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;required&lt;/ins&gt;}} part for the completion of a project.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Steps and rules:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;;Step 1&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:Substep&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;;Step 2&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-51:rev-54:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 26 Aug 2026 13:53:52 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Member_Projects</comments>
		</item>
		<item>
			<title>Template:Citation needed</title>
			<link>https://wiki.flossk.org/index.php?title=Template:Citation_needed&amp;diff=52&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Template:Citation_needed&amp;diff=52&amp;oldid=0</guid>
			<description>&lt;p&gt;Wikipedia citation needed template&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#invoke:Unsubst||date=__DATE__ |$B=&lt;br /&gt;
{{Fix&lt;br /&gt;
 |name     = {{{name|Citation needed}}}&lt;br /&gt;
 |subst    = &amp;lt;includeonly&amp;gt;{{subst:substcheck}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
 |link     = Wikipedia:Citation needed&lt;br /&gt;
 |text     = citation needed&lt;br /&gt;
 |class    = Template-Fact&lt;br /&gt;
 |title    = {{{reason|This claim needs references to reliable sources.}}}&lt;br /&gt;
 |date     = {{{date|}}}&lt;br /&gt;
 |cat      = [[Category:All articles with unsourced statements]]&lt;br /&gt;
 |cat-date = Category:Articles with unsourced statements&lt;br /&gt;
}}{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages containing citation needed template with unsupported parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Citation needed]] with unknown parameter &amp;quot;_VALUE_&amp;quot;|ignoreblank=y| date | name | reason }}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</description>
			<pubDate>Wed, 26 Aug 2026 13:43:52 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Template_talk:Citation_needed</comments>
		</item>
		<item>
			<title>Member Projects</title>
			<link>https://wiki.flossk.org/index.php?title=Member_Projects&amp;diff=51&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Member_Projects&amp;diff=51&amp;oldid=0</guid>
			<description>&lt;p&gt;Member Projects init&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;br /&gt;
&lt;br /&gt;
== How to list a project ==&lt;br /&gt;
Listing a project is an important and a required &amp;lt;nowiki&amp;gt;{{Citation needed|reason=Not really for now}}&amp;lt;/nowiki&amp;gt; part for the completion of a project.&lt;/div&gt;</description>
			<pubDate>Wed, 26 Aug 2026 13:39:20 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Member_Projects</comments>
		</item>
		<item>
			<title>Category:Tools</title>
			<link>https://wiki.flossk.org/index.php?title=Category:Tools&amp;diff=50&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Category:Tools&amp;diff=50&amp;oldid=0</guid>
			<description>&lt;p&gt;Tools page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;There is different tools available for [[Main Page|FLOSSK]]&amp;#039;s members.&lt;br /&gt;
&lt;br /&gt;
== How to use tools ==&lt;/div&gt;</description>
			<pubDate>Wed, 26 Aug 2026 13:34:55 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Category_talk:Tools</comments>
		</item>
		<item>
			<title>MediaWiki:Sidebar</title>
			<link>https://wiki.flossk.org/index.php?title=MediaWiki:Sidebar&amp;diff=48&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=MediaWiki:Sidebar&amp;diff=48&amp;oldid=0</guid>
			<description>&lt;p&gt;Removed mediawiki link&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** specialpages-url|specialpages&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</description>
			<pubDate>Wed, 26 Aug 2026 13:30:36 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/MediaWiki_talk:Sidebar</comments>
		</item>
		<item>
			<title>Main Page</title>
			<link>https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=47&amp;oldid=45</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=47&amp;oldid=45</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 13:23, 26 August 2026&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-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&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;|&amp;#039;&amp;#039;&amp;#039;Floors&amp;#039;&amp;#039;&amp;#039;&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;|&amp;#039;&amp;#039;&amp;#039;Floors&amp;#039;&amp;#039;&amp;#039;&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&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&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&#039;&#039;&#039;Location&#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|Prishtine&lt;/ins&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;|}&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;|}&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;Prishtina Hackerspace is a community-based coworking and open experimentation space established for technological, educational, cultural, and scientific purposes. This space has served as a working environment for students for many years now. The aim of the space is to:&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;Prishtina Hackerspace is a community-based coworking and open experimentation space established for technological, educational, cultural, and scientific purposes. This space has served as a working environment for students for many years now. The aim of the space is to:&lt;/div&gt;&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-l33&quot;&gt;Line 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&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;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;Prishtina Hackerspace was crowdfunded in 2015 whereas now it is funded by FLOSSK, membership fees, and donors.&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;Prishtina Hackerspace was crowdfunded in 2015 whereas now it is funded by FLOSSK, membership fees, and donors.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Available at the space==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[:Category:Hardware|Hardware]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[:Category:Tools|Tools]]&lt;/ins&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;| style=&amp;quot;width: 50%; vertical-align: top;padding-left:1em&amp;quot; |&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;| style=&amp;quot;width: 50%; vertical-align: top;padding-left:1em&amp;quot; |&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;== What We Do ==&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;== What We Do ==&lt;/div&gt;&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-l44&quot;&gt;Line 44:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&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;*[[Becoming a Member]]&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;*[[Becoming a Member]]&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;*[[Member Projects]]&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;*[[Member Projects]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Community ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Board]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Pillars]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Member Meetings]]&lt;/ins&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;| style=&amp;quot;width: 33%; vertical-align: top;&amp;quot; |&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;| style=&amp;quot;width: 33%; vertical-align: top;&amp;quot; |&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;|}&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;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-45:rev-47:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 26 Aug 2026 13:23:20 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Main_Page</comments>
		</item>
		<item>
			<title>Category:Conferences</title>
			<link>https://wiki.flossk.org/index.php?title=Category:Conferences&amp;diff=46&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Category:Conferences&amp;diff=46&amp;oldid=0</guid>
			<description>&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;FLOSSK&amp;#039;&amp;#039;&amp;#039; has a rich history of building and bridging communities by organizing and hosting major local, regional, and global technology conferences. These events serve as a key strategic bridge for local developers and enthusiasts, bringing the international open-source world directly to Southeastern Europe&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;FLOSSK&amp;#039;&amp;#039;&amp;#039; has a rich history of building and bridging communities by organizing and hosting major local, regional, and global technology conferences. These events serve as a key strategic bridge for local developers and enthusiasts, bringing the international open-source world directly to Southeastern Europe&lt;/div&gt;</description>
			<pubDate>Tue, 25 Aug 2026 14:55:17 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Category_talk:Conferences</comments>
		</item>
		<item>
			<title>Main Page</title>
			<link>https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=45&amp;oldid=23</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=45&amp;oldid=23</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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, 25 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(2 intermediate revisions by the same user not shown)&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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;[[File:Logo-flossk-1.png|frameless|right|256x256px]]&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;[[File:Logo-flossk-1.png|frameless|right|256x256px]]&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;Free Libre Open Source Software Kosova &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;strong&amp;gt;&lt;/del&gt;(FLOSSK)&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/strong&amp;gt; &lt;/del&gt;is a non-governmental organization based in Prishtina established in 2009 in order to support, promote and develop free and open source software. Besides, we also contribute to open and participatory knowledge, education in information technologies through open courseware, and open standards, culture and open society using free communication.&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;Free Libre Open Source Software Kosova &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;(FLOSSK)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/ins&gt;is a non-governmental organization based in Prishtina established in 2009 in order to support, promote and develop free and open source software. Besides, we also contribute to open and participatory knowledge, education in information technologies through open courseware, and open standards, culture and open society using free communication.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style=&quot;clear:both;&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/ins&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;&amp;lt;!--&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;&amp;lt;!--&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;* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&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;* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;/div&gt;&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-l10&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&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;| style=&amp;quot;width: 50%; vertical-align: top;&amp;quot; |&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;| style=&amp;quot;width: 50%; vertical-align: top;&amp;quot; |&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;== Prishtina Hackerspace ==&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;== Prishtina Hackerspace ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{| class=&quot;wikitable&quot; style=&quot;width:50%;margin-bottom:1em;margin-left:1em;margin-top:0.5em;float:right&quot; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!colspan=&quot;2&quot;|Area Info&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &#039;&#039;&#039;Area&#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| 999 m&amp;amp;sup2;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&#039;&#039;&#039;Floors&#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|3&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|}&lt;/ins&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;Prishtina Hackerspace is a community-based coworking and open experimentation space established for technological, educational, cultural, and scientific purposes. This space has served as a working environment for students for many years now. The aim of the space is to:&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;Prishtina Hackerspace is a community-based coworking and open experimentation space established for technological, educational, cultural, and scientific purposes. This space has served as a working environment for students for many years now. The aim of the space is to:&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;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot;&gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&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;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;Prishtina Hackerspace was crowdfunded in 2015 whereas now it is funded by FLOSSK, membership fees, and donors.&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;Prishtina Hackerspace was crowdfunded in 2015 whereas now it is funded by FLOSSK, membership fees, and donors.&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;| style=&quot;width: 50%; vertical-align: top;&quot; |&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;| style=&quot;width: 50%; vertical-align: top;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;padding-left:1em&lt;/ins&gt;&quot; |&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;== What We Do ==&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;== What We Do ==&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;Some of our [[:Category:Projects|projects]]:&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;Some of our [[:Category:Projects|projects]]:&lt;/div&gt;&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-l29&quot;&gt;Line 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&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;*[[Spindown Game Jam]]&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;*[[Spindown Game Jam]]&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;*[[Bsides Prishtina]]&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;*[[Bsides Prishtina]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Member Information ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Members]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[What it means to be a member]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Becoming a Member]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Member Projects]]&lt;/ins&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;| style=&amp;quot;width: 33%; vertical-align: top;&amp;quot; |&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;| style=&amp;quot;width: 33%; vertical-align: top;&amp;quot; |&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;|}&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;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-23:rev-45:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 14:46:50 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Main_Page</comments>
		</item>
		<item>
			<title>Software Freedom Kosova</title>
			<link>https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=42&amp;oldid=40</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=42&amp;oldid=40</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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:21, 25 August 2026&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-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&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;Over the years, SFK has welcomed renowned speakers including Bruce Perens, David Cuartielles, Philippe Saadé, Glynn Moody, Peter Salus, Mikel Maron, Rob Savoye, Leon Shiman, and Jo Hinchliffe, alongside hundreds of contributors from the global open source community. Through inspiring talks,  &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;Over the years, SFK has welcomed renowned speakers including Bruce Perens, David Cuartielles, Philippe Saadé, Glynn Moody, Peter Salus, Mikel Maron, Rob Savoye, Leon Shiman, and Jo Hinchliffe, alongside hundreds of contributors from the global open source community. Through inspiring talks,  &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;hands-on workshops, and community-driven discussions.&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;hands-on workshops, and community-driven discussions.&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==SFK 2009==&lt;/del&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;{{Project&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|SFK 2009&lt;/ins&gt;|FIEK|Aug 29-30, 2009|The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.}}&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;{{Project|FIEK|Aug 29-30, 2009|The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.}}&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;{{Project&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|SFK 2010&lt;/ins&gt;|FIEK|Sept 11-12, 2010|The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.}}&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==SFK 2010==&lt;/del&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;{{Project&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|SFK 2011&lt;/ins&gt;|FIEK|Nov 11-12, 2011|The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.}}&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;{{Project|FIEK|Sept 11-12, 2010|The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.}}&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==SFK 2011==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;{{Project|FIEK|Nov 11-12, 2011|The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.}}&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;[[Category:Projects]]&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;[[Category:Projects]]&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;[[Category:Conferences]]&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;[[Category:Conferences]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-40:rev-42:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 14:21:23 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Software_Freedom_Kosova</comments>
		</item>
		<item>
			<title>Template:Project</title>
			<link>https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=41&amp;oldid=39</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=41&amp;oldid=39</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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:20, 25 August 2026&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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=={{{1}}}==&lt;/ins&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;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left;margin-right:1em;margin-top:0;&amp;quot;&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;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left;margin-right:1em;margin-top:0;&amp;quot;&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;|&amp;#039;&amp;#039;&amp;#039;Location: &amp;#039;&amp;#039;&amp;#039;&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;|&amp;#039;&amp;#039;&amp;#039;Location: &amp;#039;&amp;#039;&amp;#039;&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;|{{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1&lt;/del&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;|{{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/ins&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;|-&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;|-&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;|&amp;#039;&amp;#039;&amp;#039;Dates: &amp;#039;&amp;#039;&amp;#039;&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;|&amp;#039;&amp;#039;&amp;#039;Dates: &amp;#039;&amp;#039;&amp;#039;&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;|{{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/del&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;|{{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3&lt;/ins&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;|}&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;|}&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;{{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3&lt;/del&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;{{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4&lt;/ins&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;&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&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;&amp;lt;div style=&amp;quot;clear:both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-39:rev-41:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 14:20:06 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Template_talk:Project</comments>
		</item>
		<item>
			<title>Software Freedom Kosova</title>
			<link>https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=40&amp;oldid=37</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=40&amp;oldid=37</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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:19, 25 August 2026&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-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&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;hands-on workshops, and community-driven discussions.&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;hands-on workshops, and community-driven discussions.&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;==SFK 2009==&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;==SFK 2009==&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;{{Project|FIEK|Aug 29-30, 2009&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/del&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;{{Project|FIEK|Aug 29-30, 2009&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&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;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;==SFK 2010==&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;==SFK 2010==&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;{{Project|FIEK|Sept 11-12, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2011}}&lt;/del&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;{{Project|FIEK|Sept 11-12, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2010|&lt;/ins&gt;The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&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;The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;==SFK 2011==&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;==SFK 2011==&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;{{Project|FIEK|Nov 11-12, 2011&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/del&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;{{Project|FIEK|Nov 11-12, 2011&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&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;The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;[[Category:Projects]]&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;[[Category:Projects]]&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;[[Category:Conferences]]&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;[[Category:Conferences]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-37:rev-40:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 14:19:32 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Software_Freedom_Kosova</comments>
		</item>
		<item>
			<title>Template:Project</title>
			<link>https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=39&amp;oldid=34</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=39&amp;oldid=34</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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:18, 25 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(One intermediate revision by the same user not shown)&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-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&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}}}&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}}}&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;|}&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;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{{3}}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style=&quot;clear:both;&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-34:rev-39:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 14:18:45 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Template_talk:Project</comments>
		</item>
		<item>
			<title>Software Freedom Kosova</title>
			<link>https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=37&amp;oldid=31</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=37&amp;oldid=31</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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:13, 25 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(2 intermediate revisions by the same user not shown)&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-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&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;hands-on workshops, and community-driven discussions.&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;hands-on workshops, and community-driven discussions.&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;==SFK 2009==&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;==SFK 2009==&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;{{Project|FIEK|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;August &lt;/del&gt;29-30, 2009}}&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;{{Project|FIEK|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Aug &lt;/ins&gt;29-30, 2009}}&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;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&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;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==SFK 2010==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Project|FIEK|Sept 11-12, 2011}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==SFK 2011==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Project|FIEK|Nov 11-12, 2011}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The theme of the 2011 conference will be “Doing Business with Free Software.” The conference will serve as a meeting point for a network of individuals and companies, aiming to sponsor and undertake projects that bring benefits to the citizens of Kosovo. The goal is to position Kosovo as one of Europe’s FLOSS hubs and, ultimately, generate commercial benefits for the country as well.&lt;/ins&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;[[Category:Projects]]&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;[[Category:Projects]]&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;[[Category:Conferences]]&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;[[Category:Conferences]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-31:rev-37:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 14:13:59 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Software_Freedom_Kosova</comments>
		</item>
		<item>
			<title>Template:Project</title>
			<link>https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=34&amp;oldid=30</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=34&amp;oldid=30</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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:09, 25 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(2 intermediate revisions by the same user not shown)&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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;{| class=&quot;wikitable&quot; style=&quot;float:left;&quot;&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;{| class=&quot;wikitable&quot; style=&quot;float:left&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;;margin-right:1em;margin-top:0&lt;/ins&gt;;&quot;&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;|&amp;#039;&amp;#039;&amp;#039;Location: &amp;#039;&amp;#039;&amp;#039;&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;|&amp;#039;&amp;#039;&amp;#039;Location: &amp;#039;&amp;#039;&amp;#039;&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;|{{{1}}}&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;|{{{1}}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-30:rev-34:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 14:09:03 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Template_talk:Project</comments>
		</item>
		<item>
			<title>Software Freedom Kosova</title>
			<link>https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=31&amp;oldid=29</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=31&amp;oldid=29</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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:02, 25 August 2026&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-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&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;hands-on workshops, and community-driven discussions.&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;hands-on workshops, and community-driven discussions.&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;==SFK 2009==&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;==SFK 2009==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Project|FIEK|August 29-30, 2009}}&lt;/ins&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;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&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;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Project|FIEK|August 29-30, 2009}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;[[Category:Projects]]&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;[[Category:Projects]]&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;[[Category:Conferences]]&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;[[Category:Conferences]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-29:rev-31:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 14:02:17 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Software_Freedom_Kosova</comments>
		</item>
		<item>
			<title>Template:Project</title>
			<link>https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=30&amp;oldid=28</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=30&amp;oldid=28</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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:01, 25 August 2026&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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;{| class=&quot;wikitable&quot;&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;{| class=&quot;wikitable&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; style=&quot;float:left;&lt;/ins&gt;&quot;&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;|&amp;#039;&amp;#039;&amp;#039;Location: &amp;#039;&amp;#039;&amp;#039;&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;|&amp;#039;&amp;#039;&amp;#039;Location: &amp;#039;&amp;#039;&amp;#039;&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;|{{{1}}}&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;|{{{1}}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-28:rev-30:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 14:01:54 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Template_talk:Project</comments>
		</item>
		<item>
			<title>Software Freedom Kosova</title>
			<link>https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=29&amp;oldid=27</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=29&amp;oldid=27</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 13:59, 25 August 2026&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-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&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;==SFK 2009==&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;==SFK 2009==&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;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&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;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&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;{{Project}}&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;{{Project&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|FIEK|August 29-30, 2009&lt;/ins&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;[[Category:Projects]]&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;[[Category:Projects]]&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;[[Category:Conferences]]&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;[[Category:Conferences]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-27:rev-29:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 13:59:35 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Software_Freedom_Kosova</comments>
		</item>
		<item>
			<title>Template:Project</title>
			<link>https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=28&amp;oldid=26</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=28&amp;oldid=26</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 13:57, 25 August 2026&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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Test Template&lt;/del&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{| class=&quot;wikitable&quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&#039;&#039;&#039;Location: &#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|{{{1}}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&#039;&#039;&#039;Dates: &#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|{{{2}}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-26:rev-28:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 13:57:33 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Template_talk:Project</comments>
		</item>
		<item>
			<title>Software Freedom Kosova</title>
			<link>https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=27&amp;oldid=25</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=27&amp;oldid=25</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 13:51, 25 August 2026&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-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&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;==SFK 2009==&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;==SFK 2009==&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;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&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;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Project}}&lt;/ins&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;[[Category:Projects]]&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;[[Category:Projects]]&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;[[Category:Conferences]]&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;[[Category:Conferences]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-25:rev-27:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 13:51:25 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Software_Freedom_Kosova</comments>
		</item>
		<item>
			<title>Template:Project</title>
			<link>https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=26&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Template:Project&amp;diff=26&amp;oldid=0</guid>
			<description>&lt;p&gt;Created page with &amp;quot;Test Template&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Test Template&lt;/div&gt;</description>
			<pubDate>Tue, 25 Aug 2026 13:49:34 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Template_talk:Project</comments>
		</item>
		<item>
			<title>Software Freedom Kosova</title>
			<link>https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=25&amp;oldid=22</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=25&amp;oldid=22</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 13:48, 25 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(One intermediate revision by the same user not shown)&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-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&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;Over the years, SFK has welcomed renowned speakers including Bruce Perens, David Cuartielles, Philippe Saadé, Glynn Moody, Peter Salus, Mikel Maron, Rob Savoye, Leon Shiman, and Jo Hinchliffe, alongside hundreds of contributors from the global open source community. Through inspiring talks,  &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;Over the years, SFK has welcomed renowned speakers including Bruce Perens, David Cuartielles, Philippe Saadé, Glynn Moody, Peter Salus, Mikel Maron, Rob Savoye, Leon Shiman, and Jo Hinchliffe, alongside hundreds of contributors from the global open source community. Through inspiring talks,  &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;hands-on workshops, and community-driven discussions.&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;hands-on workshops, and community-driven discussions.&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;==&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Editions&lt;/del&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;==&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SFK 2009&lt;/ins&gt;==&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2009]]&lt;/del&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The first annual Software Freedom Kosova conference was held at the Faculty of Engineering, University of Pristina. Organized by FLOSSK and the University of Pristina, the event aimed to promote Free and Open Source Software (FOSS) in Kosovo through knowledge sharing and networking opportunities.&lt;/ins&gt;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2010]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2011]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2012]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2013]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2014]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2016]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2019]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2020]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2025]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;[[Category:Projects]]&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;[[Category:Projects]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Conferences]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-22:rev-25:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 13:48:28 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Software_Freedom_Kosova</comments>
		</item>
		<item>
			<title>Main Page</title>
			<link>https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=23&amp;oldid=20</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=23&amp;oldid=20</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 10:13, 25 August 2026&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-l25&quot;&gt;Line 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&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;| style=&amp;quot;width: 50%; vertical-align: top;&amp;quot; |&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;| style=&amp;quot;width: 50%; vertical-align: top;&amp;quot; |&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;== What We Do ==&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;== What We Do ==&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;Some of our projects:&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;Some of our &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[:Category:Projects|&lt;/ins&gt;projects&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/ins&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;*[[Software Freedom Kosova]]&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;*[[Software Freedom Kosova]]&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;*[[Spindown Game Jam]]&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;*[[Spindown Game Jam]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-20:rev-23:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 10:13:13 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Main_Page</comments>
		</item>
		<item>
			<title>Software Freedom Kosova</title>
			<link>https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=22&amp;oldid=21</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=22&amp;oldid=21</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 10:11, 25 August 2026&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-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&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;Over the years, SFK has welcomed renowned speakers including Bruce Perens, David Cuartielles, Philippe Saadé, Glynn Moody, Peter Salus, Mikel Maron, Rob Savoye, Leon Shiman, and Jo Hinchliffe, alongside hundreds of contributors from the global open source community. Through inspiring talks,  &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;Over the years, SFK has welcomed renowned speakers including Bruce Perens, David Cuartielles, Philippe Saadé, Glynn Moody, Peter Salus, Mikel Maron, Rob Savoye, Leon Shiman, and Jo Hinchliffe, alongside hundreds of contributors from the global open source community. Through inspiring talks,  &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;hands-on workshops, and community-driven discussions.&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;hands-on workshops, and community-driven discussions.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Editions==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2009]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2010]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2011]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2012]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2013]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2014]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2016]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2019]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2020]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[SFK 2025]]&lt;/ins&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;[[Category:Projects]]&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;[[Category:Projects]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-21:rev-22:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 10:11:18 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Software_Freedom_Kosova</comments>
		</item>
		<item>
			<title>Software Freedom Kosova</title>
			<link>https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=21&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Software_Freedom_Kosova&amp;diff=21&amp;oldid=0</guid>
			<description>&lt;p&gt;Created page with &amp;quot;Software Freedom Kosova &amp;lt;strong&amp;gt;(SFK)&amp;lt;/strong&amp;gt; is the leading annual open source conference in Southeast Europe, bringing together developers, students, researchers, entrepreneurs, and technology enthusiasts to connect, learn, and collaborate around free/libre and open source software and hardware. Over the years, SFK has welcomed renowned speakers including Bruce Perens, David Cuartielles, Philippe Saadé, Glynn Moody, Peter Salus, Mikel Maron, Rob Savoye, Leon Shiman,...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Software Freedom Kosova &amp;lt;strong&amp;gt;(SFK)&amp;lt;/strong&amp;gt; is the leading annual open source conference in Southeast Europe, bringing together developers, students, researchers, entrepreneurs, and technology enthusiasts to connect, learn, and collaborate around free/libre and open source software and hardware.&lt;br /&gt;
Over the years, SFK has welcomed renowned speakers including Bruce Perens, David Cuartielles, Philippe Saadé, Glynn Moody, Peter Salus, Mikel Maron, Rob Savoye, Leon Shiman, and Jo Hinchliffe, alongside hundreds of contributors from the global open source community. Through inspiring talks, &lt;br /&gt;
hands-on workshops, and community-driven discussions.&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</description>
			<pubDate>Tue, 25 Aug 2026 10:08:09 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Software_Freedom_Kosova</comments>
		</item>
		<item>
			<title>Main Page</title>
			<link>https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=20&amp;oldid=18</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=20&amp;oldid=18</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 10:06, 25 August 2026&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-l26&quot;&gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&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;== What We Do ==&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;== What We Do ==&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;Some of our projects:&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;Some of our projects:&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;*[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:Category:Projects|&lt;/del&gt;Software Freedom Kosova]]&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;*[[Software Freedom Kosova]]&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;*[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:Category:Projects|&lt;/del&gt;Spindown Game Jam]]&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;*[[Spindown Game Jam]]&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;*[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:Category:Projects|&lt;/del&gt;Bsides Prishtina]]&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;*[[Bsides Prishtina]]&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;| style=&amp;quot;width: 33%; vertical-align: top;&amp;quot; |&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;| style=&amp;quot;width: 33%; vertical-align: top;&amp;quot; |&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;|}&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;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-18:rev-20:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 25 Aug 2026 10:06:22 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Main_Page</comments>
		</item>
		<item>
			<title>Category:Projects</title>
			<link>https://wiki.flossk.org/index.php?title=Category:Projects&amp;diff=19&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Category:Projects&amp;diff=19&amp;oldid=0</guid>
			<description>&lt;p&gt;Created page with &amp;quot;==Projects== FLOSSK undertakes a large number of activities and projects in order to promote open source culture in the region.&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Projects==&lt;br /&gt;
FLOSSK undertakes a large number of activities and projects in order to promote open source culture in the region.&lt;/div&gt;</description>
			<pubDate>Mon, 24 Aug 2026 11:15:32 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Category_talk:Projects</comments>
		</item>
		<item>
			<title>Main Page</title>
			<link>https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=18&amp;oldid=12</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=18&amp;oldid=12</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 11:13, 24 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(4 intermediate revisions by the same user not shown)&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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[File:Logo-flossk-1.png|frameless|right|256x256px]]&lt;/ins&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;Free Libre Open Source Software Kosova &amp;lt;strong&amp;gt;(FLOSSK)&amp;lt;/strong&amp;gt; is a non-governmental organization based in Prishtina established in 2009 in order to support, promote and develop free and open source software. Besides, we also contribute to open and participatory knowledge, education in information technologies through open courseware, and open standards, culture and open society using free communication.&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;Free Libre Open Source Software Kosova &amp;lt;strong&amp;gt;(FLOSSK)&amp;lt;/strong&amp;gt; is a non-governmental organization based in Prishtina established in 2009 in order to support, promote and develop free and open source software. Besides, we also contribute to open and participatory knowledge, education in information technologies through open courseware, and open standards, culture and open society using free communication.&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; &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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!--&lt;/ins&gt;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Getting started ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&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;* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&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;* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&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;* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&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;* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&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;* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&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;* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&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;* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&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;* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&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;* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]--&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{| style=&quot;width: 100%; border: none;&quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| style=&quot;width: 50%; vertical-align: top;&quot; |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Prishtina Hackerspace ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Prishtina Hackerspace is a community-based coworking and open experimentation space established for technological, educational, cultural, and scientific purposes. This space has served as a working environment for students for many years now. The aim of the space is to:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;– Provide workspace, equipment, and other resources for communal use by all members;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;– Encourage continued and after-school learning through workshops, classes, seminars, and mentoring;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;– Create a safe and open environment for experimentation in technology and art.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The Hackerspace is an open participation environment where people of all ages and from various disciplines learn hands-on in a collaborative, fun manner by making prototypes and tinkering with devices, participate in international competitions, or do ambitious projects from flying machines to biology hacking.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;In parallel with individual projects, the space is open for member-independently organized workshops, lectures, and presentations, as well as just general gatherings that have to do with knowledge sharing, group tech projects for those that want to incubate in the hackerspace or those that just want to hang around at the hackerspace seeking help at some specific project that they might be working on.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Prishtina Hackerspace was crowdfunded in 2015 whereas now it is funded by FLOSSK, membership fees, and donors.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| style=&quot;width: 50%; vertical-align: top;&quot; |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== What We Do ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Some of our projects:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[:Category:Projects|Software Freedom Kosova]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[:Category:Projects|Spindown Game Jam]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[:Category:Projects|Bsides Prishtina]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| style=&quot;width: 33%; vertical-align: top;&quot; |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Related Links ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [https://flossk.org/ FLOSSK Website]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [https://sfk.flossk.org/ Software Freedom Kosova Site&lt;/ins&gt;]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-12:rev-18:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Mon, 24 Aug 2026 11:13:52 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Main_Page</comments>
		</item>
		<item>
			<title>File:Logo-flossk-1.png</title>
			<link>https://wiki.flossk.org/index.php?title=File:Logo-flossk-1.png&amp;diff=13&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=File:Logo-flossk-1.png&amp;diff=13&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Dinqja&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;User:Dinqja (page does not exist)&quot;&gt;&lt;bdi&gt;Dinqja&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/wiki/File:Logo-flossk-1.png&quot; title=&quot;File:Logo-flossk-1.png&quot;&gt;File:Logo-flossk-1.png&lt;/a&gt; Flossk text logo with new crow&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Summary ==&lt;br /&gt;
Flossk text logo with new crow&lt;/div&gt;</description>
			<pubDate>Mon, 24 Aug 2026 10:53:09 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/File_talk:Logo-flossk-1.png</comments>
		</item>
		<item>
			<title>Main Page</title>
			<link>https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=12&amp;oldid=1</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Main_Page&amp;diff=12&amp;oldid=1</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&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 10:39, 24 August 2026&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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;&amp;lt;strong&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MediaWiki has been installed.&lt;/del&gt;&amp;lt;/strong&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Free Libre Open Source Software Kosova &lt;/ins&gt;&amp;lt;strong&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(FLOSSK)&lt;/ins&gt;&amp;lt;/strong&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is a non-governmental organization based in Prishtina established in 2009 in order to support, promote and develop free and open source software. Besides, we also contribute to open and participatory knowledge, education in information technologies through open courseware, and open standards, culture and open society using free communication.&lt;/ins&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;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;Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&amp;#039;s Guide] for information on using the wiki software.&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;Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&amp;#039;s Guide] for information on using the wiki software.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-1:rev-12:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Mon, 24 Aug 2026 10:39:51 GMT</pubDate>
			<dc:creator>Dinqja</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Main_Page</comments>
		</item>
		<item>
			<title>User:Dinqja</title>
			<link>https://wiki.flossk.org/wiki/User:Dinqja</link>
			<guid isPermaLink="false">https://wiki.flossk.org/wiki/User:Dinqja</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Samikciku&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;User:Samikciku (page does not exist)&quot;&gt;&lt;bdi&gt;Samikciku&lt;/bdi&gt;&lt;/a&gt; changed group membership for &lt;a href=&quot;/index.php?title=User:Dinqja&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Dinqja (page does not exist)&quot;&gt;Dinqja&lt;/a&gt;: granted administrator&lt;/p&gt;
</description>
			<pubDate>Sun, 23 Aug 2026 10:33:44 GMT</pubDate>
			<dc:creator>Samikciku</dc:creator>
			<comments>https://wiki.flossk.org/wiki/User_talk:Dinqja</comments>
		</item>
		<item>
			<title>User:Dinqja</title>
			<link>https://wiki.flossk.org/wiki/User:Dinqja</link>
			<guid isPermaLink="false">https://wiki.flossk.org/wiki/User:Dinqja</guid>
			<description>&lt;p&gt;User account &lt;a href=&quot;/index.php?title=User:Dinqja&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;User:Dinqja (page does not exist)&quot;&gt;&lt;bdi&gt;Dinqja&lt;/bdi&gt;&lt;/a&gt; was created by &lt;a href=&quot;/index.php?title=User:Samikciku&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;User:Samikciku (page does not exist)&quot;&gt;&lt;bdi&gt;Samikciku&lt;/bdi&gt;&lt;/a&gt; and password was sent by email administration&lt;/p&gt;
</description>
			<pubDate>Sun, 23 Aug 2026 10:30:45 GMT</pubDate>
			<dc:creator>Samikciku</dc:creator>
			<comments>https://wiki.flossk.org/wiki/User_talk:Dinqja</comments>
		</item>
		<item>
			<title>Test3</title>
			<link>https://wiki.flossk.org/index.php?title=Test3&amp;diff=11&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Test3&amp;diff=11&amp;oldid=0</guid>
			<description>&lt;p&gt;Imported from Markdown&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;span id=&amp;quot;zkaccess-c3-dashboard-bundle--readme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= ZKAccess C3 dashboard bundle — README =&lt;br /&gt;
&lt;br /&gt;
This repository runs a small &amp;#039;&amp;#039;&amp;#039;Python (FastAPI)&amp;#039;&amp;#039;&amp;#039; service that will eventually talk to a &amp;#039;&amp;#039;&amp;#039;ZKAccess C3-100&amp;#039;&amp;#039;&amp;#039; over the network (Pull SDK–style TCP, typically port &amp;#039;&amp;#039;&amp;#039;4370&amp;#039;&amp;#039;&amp;#039;). Today it ships a &amp;#039;&amp;#039;&amp;#039;LAN web dashboard&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;JSON status&amp;#039;&amp;#039;&amp;#039; endpoints, packaged with &amp;#039;&amp;#039;&amp;#039;Docker Compose&amp;#039;&amp;#039;&amp;#039; for &amp;#039;&amp;#039;&amp;#039;Linux&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;setup-ubuntu-server.sh&amp;lt;/code&amp;gt;) or &amp;#039;&amp;#039;&amp;#039;Windows&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;setup-windows.bat&amp;lt;/code&amp;gt; + Docker Desktop).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;1-what-you-edit-vs-what-docker-runs&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 1. What you edit vs what Docker runs ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! What&lt;br /&gt;
! Where it lives&lt;br /&gt;
! Who reads it&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;All runtime settings&amp;#039;&amp;#039;&amp;#039; (panel IP, ports, passwords, public URL)&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; in the project root (next to &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;)&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Docker Compose&amp;#039;&amp;#039;&amp;#039; injects &amp;lt;code&amp;gt;C3_*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt; into the container; the app also reads &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when present (see &amp;lt;code&amp;gt;app/settings.py&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Which host TCP port&amp;#039;&amp;#039;&amp;#039; the dashboard listens on from outside the container&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; → &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Only&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;ports:&amp;lt;/code&amp;gt; mapping). This value is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; required inside the app if you set &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt; correctly.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Optional second host port&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; → &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT_ALT&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;and&amp;#039;&amp;#039;&amp;#039; you must &amp;#039;&amp;#039;&amp;#039;uncomment&amp;#039;&amp;#039;&amp;#039; the second &amp;lt;code&amp;gt;ports:&amp;lt;/code&amp;gt; line&lt;br /&gt;
| &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Image / service name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;lt;code&amp;gt;Dockerfile&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
| You normally &amp;#039;&amp;#039;&amp;#039;do not&amp;#039;&amp;#039;&amp;#039; change these unless you rename the service.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Rule of thumb:&amp;#039;&amp;#039;&amp;#039; to “replace all settings,” edit &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; (and rarely uncomment a port line in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;). Then &amp;#039;&amp;#039;&amp;#039;recreate&amp;#039;&amp;#039;&amp;#039; the container so new environment values apply.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Security:&amp;#039;&amp;#039;&amp;#039; keep your real &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file out of git (it is listed in &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt;). Never paste real passwords into issues or screenshots without redacting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;2-prerequisites&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 2. Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* A PC running &amp;#039;&amp;#039;&amp;#039;Ubuntu&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Linux Mint&amp;#039;&amp;#039;&amp;#039;, or &amp;#039;&amp;#039;&amp;#039;Debian&amp;#039;&amp;#039;&amp;#039; on the same LAN as the C3-100.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Internet access&amp;#039;&amp;#039;&amp;#039; on first run if Docker must be installed (the script downloads Docker’s official install script).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; privileges (Docker install, optional UFW, and Docker commands until your user is in the &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; group).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;python3&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (for the interactive wizard’s safe &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; writer; &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt; is installed automatically if missing and &amp;lt;code&amp;gt;apt-get&amp;lt;/code&amp;gt; exists).&lt;br /&gt;
&lt;br /&gt;
The bootstrap script can &amp;#039;&amp;#039;&amp;#039;install Docker for you&amp;#039;&amp;#039;&amp;#039; on apt-based distros. If you install Docker yourself first, see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker --version&lt;br /&gt;
docker compose version&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;3-one-script-on-ubuntu-recommended&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 3. One script on Ubuntu (recommended) ==&lt;br /&gt;
&lt;br /&gt;
From the &amp;#039;&amp;#039;&amp;#039;repository root&amp;#039;&amp;#039;&amp;#039; (the folder that contains &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;setup-ubuntu-server.sh&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cd /path/to/del-hy-prnhs&lt;br /&gt;
bash setup-ubuntu-server.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-the-script-does-in-order&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What the script does, in order ===&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; to the repo root (next to the script).&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Docker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* If &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;docker compose&amp;lt;/code&amp;gt; are missing on &amp;#039;&amp;#039;&amp;#039;Ubuntu / Debian / Linux Mint / Pop!_OS&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/os-release&amp;lt;/code&amp;gt;), it asks &amp;#039;&amp;#039;&amp;#039;Install Docker Engine now? [Y/n]&amp;#039;&amp;#039;&amp;#039; and, if you accept, runs Docker’s official &amp;#039;&amp;#039;&amp;#039;[https://get.docker.com get.docker.com]&amp;#039;&amp;#039;&amp;#039; script with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; (installs Engine + Compose plugin). It installs &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; via &amp;lt;code&amp;gt;apt-get&amp;lt;/code&amp;gt; first if needed.&lt;br /&gt;
#* On other distributions it stops with a link to the manual Docker install docs.&lt;br /&gt;
#* After install it runs &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo usermod -aG docker &amp;amp;quot;$USER&amp;amp;quot;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; and reminds you to &amp;#039;&amp;#039;&amp;#039;log out and back in&amp;#039;&amp;#039;&amp;#039; (or &amp;lt;code&amp;gt;newgrp docker&amp;lt;/code&amp;gt;). Until then, the script uses &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo docker compose&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when your user cannot talk to the daemon.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; (interactive wizard)&amp;#039;&amp;#039;&amp;#039; — unless &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; already exists and you answer &amp;#039;&amp;#039;&amp;#039;no&amp;#039;&amp;#039;&amp;#039; to reconfigure:&lt;br /&gt;
#* Panel &amp;#039;&amp;#039;&amp;#039;IP / hostname&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* Panel &amp;#039;&amp;#039;&amp;#039;TCP port&amp;#039;&amp;#039;&amp;#039; (default &amp;lt;code&amp;gt;4370&amp;lt;/code&amp;gt;)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Username&amp;#039;&amp;#039;&amp;#039; (optional)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Password / comm key&amp;#039;&amp;#039;&amp;#039; (optional, hidden; confirm once)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Dashboard port&amp;#039;&amp;#039;&amp;#039; on this server (default &amp;lt;code&amp;gt;8080&amp;lt;/code&amp;gt;)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Public base URL&amp;#039;&amp;#039;&amp;#039; for bookmarks (default &amp;lt;code&amp;gt;http://&amp;amp;lt;detected-LAN-IP&amp;amp;gt;:&amp;amp;lt;dashboard-port&amp;amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
#* Confirm &amp;#039;&amp;#039;&amp;#039;Write to .env&amp;#039;&amp;#039;&amp;#039; — file is written with mode &amp;#039;&amp;#039;&amp;#039;600&amp;#039;&amp;#039;&amp;#039; and double-quoted values where needed.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;docker compose up -d --build&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — starts the stack.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--ufw&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; only: after a successful start, &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo ufw allow &amp;amp;lt;DASHBOARD_HOST_PORT&amp;amp;gt;/tcp&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;ufw reload&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;script-options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Script options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Install Docker if missing (with prompt), then wizard / existing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;, then compose up.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --ufw&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same, plus UFW rule for the dashboard port after compose succeeds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pass &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; to compose (e.g. after manual &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; edits).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --non-interactive&amp;lt;/code&amp;gt; or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| No Docker install prompt, &amp;#039;&amp;#039;&amp;#039;no wizard&amp;#039;&amp;#039;&amp;#039; — requires an existing &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. Use on repeat runs in automation.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --help&amp;lt;/code&amp;gt;&lt;br /&gt;
| Short usage.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;typical-flows&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Typical flows ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Fresh server:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh&amp;lt;/code&amp;gt; → accept Docker install → answer wizard → open the printed URL. Use &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--ufw&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; if you want the firewall opened automatically.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Change panel or password later:&amp;#039;&amp;#039;&amp;#039; run the script again and answer &amp;#039;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;#039; to reconfigure, or edit &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; by hand and run &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
You can &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;chmod +x setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; and run &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;./setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;; &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; works without that.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Security note:&amp;#039;&amp;#039;&amp;#039; the Docker install script is upstream-maintained but still runs as root; only use on machines where that is acceptable. Review [https://docs.docker.com/engine/install/ubuntu/ Docker’s install documentation] if you prefer a manual apt-based install instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;31-windows-docker-desktop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 3.1 Windows (Docker Desktop) ===&lt;br /&gt;
&lt;br /&gt;
Install &amp;#039;&amp;#039;&amp;#039;[https://docs.docker.com/desktop/install/windows-install/ Docker Desktop for Windows]&amp;#039;&amp;#039;&amp;#039; (includes Compose v2). From a &amp;#039;&amp;#039;&amp;#039;Command Prompt&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;PowerShell&amp;#039;&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to the repo folder that contains &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;cd C:\path\to\del-hy-prnhs&lt;br /&gt;
setup-windows.bat&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;setup-windows.bat&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; checks &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;docker compose&amp;lt;/code&amp;gt;, runs &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;setup-windows-wizard.ps1&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; is missing (or when you choose to reconfigure), then &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;docker compose up -d --build&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* The wizard asks for the same values as the Linux script (C3 IP, port, optional user/password, dashboard port, public URL) and writes &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; with UTF-8 (password prompts use &amp;#039;&amp;#039;&amp;#039;masked&amp;#039;&amp;#039;&amp;#039; input).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; is still &amp;#039;&amp;#039;&amp;#039;Uvicorn + FastAPI&amp;#039;&amp;#039;&amp;#039; inside the container (&amp;lt;code&amp;gt;Dockerfile&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;app\main.py&amp;lt;/code&amp;gt;); &amp;#039;&amp;#039;&amp;#039;Docker Desktop&amp;#039;&amp;#039;&amp;#039; publishes &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt; → 8000&amp;#039;&amp;#039;&amp;#039; (see &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wizard if needed, then compose up.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat /q&amp;lt;/code&amp;gt;&lt;br /&gt;
| No prompts; use existing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; (or copy &amp;lt;code&amp;gt;.env.example&amp;lt;/code&amp;gt; once if missing).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat /r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pass &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; to compose (can combine: &amp;lt;code&amp;gt;/q /r&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat /h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Help.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If other PCs cannot reach the dashboard, allow the port in &amp;#039;&amp;#039;&amp;#039;Windows Defender Firewall&amp;#039;&amp;#039;&amp;#039; (Docker Desktop often prompts the first time).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;4-first-time-install-manual-step-by-step&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 4. First-time install (manual, step by step) ==&lt;br /&gt;
&lt;br /&gt;
Use this if you prefer not to use the script. Run everything &amp;#039;&amp;#039;&amp;#039;from the project directory&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;41-create-your-env-from-the-template&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.1 Create your &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; from the template ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cd /path/to/del-hy-prnhs&lt;br /&gt;
cp .env.example .env&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;42-edit-env-and-replace-every-value&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.2 Edit &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; and replace every value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;nano .env&lt;br /&gt;
# or: vim .env   or open .env in your desktop editor&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Variable&lt;br /&gt;
! Set it to…&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_HOST&amp;lt;/code&amp;gt;&lt;br /&gt;
| The &amp;#039;&amp;#039;&amp;#039;IPv4 address&amp;#039;&amp;#039;&amp;#039; (or DNS name) of your &amp;#039;&amp;#039;&amp;#039;C3-100&amp;#039;&amp;#039;&amp;#039; on the LAN.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| Usually &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;4370&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. Change only if the device uses another TCP port.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_USERNAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Optional.&amp;#039;&amp;#039;&amp;#039; Leave empty if the panel only uses a password / comm key.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PASSWORD&amp;lt;/code&amp;gt;&lt;br /&gt;
| The panel &amp;#039;&amp;#039;&amp;#039;password or comm key&amp;#039;&amp;#039;&amp;#039; if required; leave empty if not used.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any &amp;#039;&amp;#039;&amp;#039;free TCP port on the Linux host&amp;#039;&amp;#039;&amp;#039; (e.g. &amp;lt;code&amp;gt;8080&amp;lt;/code&amp;gt;). Browser: &amp;lt;code&amp;gt;http://&amp;amp;lt;server-ip&amp;amp;gt;:&amp;amp;lt;port&amp;amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same service as a full URL, e.g. &amp;lt;code&amp;gt;http://192.168.1.50:8080&amp;lt;/code&amp;gt; — &amp;#039;&amp;#039;&amp;#039;host and port&amp;#039;&amp;#039;&amp;#039; must match &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Optional second port:&amp;#039;&amp;#039;&amp;#039; set &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT_ALT&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;, then in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;uncomment&amp;#039;&amp;#039;&amp;#039; the second &amp;lt;code&amp;gt;ports:&amp;lt;/code&amp;gt; line. Use two different port numbers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;43-open-the-firewall-if-ufw-is-enabled&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.3 Open the firewall (if UFW is enabled) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sudo ufw allow &amp;lt;DASHBOARD_HOST_PORT&amp;gt;/tcp comment &amp;#039;ZKAccess dashboard&amp;#039;&lt;br /&gt;
sudo ufw reload&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;44-build-and-start-the-stack&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.4 Build and start the stack ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose up -d --build&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;45-verify&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.5 Verify ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose ps&lt;br /&gt;
docker compose logs --tail=50 dashboard&lt;br /&gt;
curl -sS &amp;quot;http://127.0.0.1:&amp;lt;DASHBOARD_HOST_PORT&amp;gt;/health&amp;quot;&lt;br /&gt;
curl -sS &amp;quot;http://127.0.0.1:&amp;lt;DASHBOARD_HOST_PORT&amp;gt;/api/status&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On another PC: &amp;lt;code&amp;gt;http://&amp;amp;lt;linux-server-ip&amp;amp;gt;:&amp;amp;lt;DASHBOARD_HOST_PORT&amp;amp;gt;/&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;/api/status&amp;lt;/code&amp;gt; never returns &amp;lt;code&amp;gt;C3_PASSWORD&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;5-how-to-change-settings-later-replace--update&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 5. How to change settings later (replace / update) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&amp;#039;&amp;#039;&amp;#039;Edit&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Apply changes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose up -d --force-recreate&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If &amp;#039;&amp;#039;&amp;#039;code&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;requirements.txt&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; / &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;Dockerfile&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; changed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose up -d --build --force-recreate&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Or use: &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;If &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; changed, update &amp;#039;&amp;#039;&amp;#039;UFW&amp;#039;&amp;#039;&amp;#039; (or run &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --ufw --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; after editing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;).&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;6-day-to-day-commands-project-directory&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 6. Day-to-day commands (project directory) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Goal&lt;br /&gt;
! Command&lt;br /&gt;
|-&lt;br /&gt;
| Start&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Rebuild&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d --build&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Apply &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; changes&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d --force-recreate&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Logs&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose logs -f dashboard&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Stop&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose down&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;7-full-list-of-environment-variables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 7. Full list of environment variables ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Variable&lt;br /&gt;
! Required&lt;br /&gt;
! Default (if unset)&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_HOST&amp;lt;/code&amp;gt;&lt;br /&gt;
| Strongly recommended&lt;br /&gt;
| empty&lt;br /&gt;
| ZKAccess panel IP or hostname.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| &amp;lt;code&amp;gt;4370&amp;lt;/code&amp;gt;&lt;br /&gt;
| Panel TCP port.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_USERNAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| empty&lt;br /&gt;
| Optional; reserved for setups that need a user name.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PASSWORD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Depends on panel&lt;br /&gt;
| empty&lt;br /&gt;
| Panel password / comm key; never returned by &amp;lt;code&amp;gt;/api/status&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| No (Compose default)&lt;br /&gt;
| &amp;lt;code&amp;gt;8080&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
| Host port for the web UI.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT_ALT&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| only if line uncommented in compose&lt;br /&gt;
| Second host port to the same app.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| empty&lt;br /&gt;
| Bookmark URL on the HTML dashboard.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Compose reads &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;${...}&amp;lt;/code&amp;gt; interpolation in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Library note:&amp;#039;&amp;#039;&amp;#039; [https://github.com/vwout/zkaccess-c3-py zkaccess-c3-py] often uses &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;connect(password=...)&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; only; &amp;lt;code&amp;gt;C3_USERNAME&amp;lt;/code&amp;gt; is still available for your firmware or future code paths.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;8-router-port-forwarding-optional&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 8. Router port forwarding (optional) ==&lt;br /&gt;
&lt;br /&gt;
Forward &amp;#039;&amp;#039;&amp;#039;WAN TCP&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;amp;lt;LAN-ip-of-linux-PC&amp;amp;gt;:&amp;amp;lt;DASHBOARD_HOST_PORT&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. The app does not need the WAN port in &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;. For internet exposure, prefer &amp;#039;&amp;#039;&amp;#039;VPN&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;HTTPS + authentication&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;9-running-without-docker-developers-only&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 9. Running without Docker (developers only) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cd /path/to/del-hy-prnhs&lt;br /&gt;
python3 -m venv .venv&lt;br /&gt;
source .venv/bin/activate&lt;br /&gt;
pip install -r requirements.txt&lt;br /&gt;
uvicorn app.main:app --host 0.0.0.0 --port 8000&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Open &amp;lt;code&amp;gt;http://&amp;amp;lt;this-pc-ip&amp;amp;gt;:8000/&amp;lt;/code&amp;gt;. Without Docker, &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt; is ignored; you pick the port on the &amp;lt;code&amp;gt;uvicorn&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;10-troubleshooting&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 10. Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Symptom&lt;br /&gt;
! Things to check&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;127.0.0.1:PORT&amp;lt;/code&amp;gt; fails&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose ps&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;docker compose logs dashboard&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;PORT&amp;lt;/code&amp;gt; vs &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Other PCs cannot connect&lt;br /&gt;
| Subnet, AP isolation, &amp;#039;&amp;#039;&amp;#039;UFW&amp;#039;&amp;#039;&amp;#039;, correct server IP.&lt;br /&gt;
|-&lt;br /&gt;
| Old values after editing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d --force-recreate&amp;lt;/code&amp;gt; or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Docker permission denied&lt;br /&gt;
| User in &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; group, re-login, or &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; (not ideal long-term).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;11-project-background&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 11. Project background ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[plan.md]]&amp;#039;&amp;#039;&amp;#039; — architecture, C3 data model, phases.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://github.com/vwout/zkaccess-c3-py zkaccess-c3-py]&amp;#039;&amp;#039;&amp;#039; — Python library for the panel protocol (integration planned in later phases).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;12-template-file-reference&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 12. Template file reference ==&lt;br /&gt;
&lt;br /&gt;
The checked-in &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env.example&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; lists all keys. When in doubt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cp .env.example .env&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Then edit &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; only. After changes: &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;docker compose up -d --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;) and add &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--build&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when code or dependencies change.&lt;/div&gt;</description>
			<pubDate>Sun, 23 Aug 2026 09:17:23 GMT</pubDate>
			<dc:creator>Samikciku</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Test3</comments>
		</item>
		<item>
			<title>User:Lajmegashi</title>
			<link>https://wiki.flossk.org/wiki/User:Lajmegashi</link>
			<guid isPermaLink="false">https://wiki.flossk.org/wiki/User:Lajmegashi</guid>
			<description>&lt;p&gt;User account &lt;a href=&quot;/index.php?title=User:Lajmegashi&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;User:Lajmegashi (page does not exist)&quot;&gt;&lt;bdi&gt;Lajmegashi&lt;/bdi&gt;&lt;/a&gt; was created by &lt;a href=&quot;/index.php?title=User:Samikciku&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;User:Samikciku (page does not exist)&quot;&gt;&lt;bdi&gt;Samikciku&lt;/bdi&gt;&lt;/a&gt; and password was sent by email edit test&lt;/p&gt;
</description>
			<pubDate>Sun, 23 Aug 2026 09:09:05 GMT</pubDate>
			<dc:creator>Samikciku</dc:creator>
			<comments>https://wiki.flossk.org/wiki/User_talk:Lajmegashi</comments>
		</item>
		<item>
			<title>Test</title>
			<link>https://wiki.flossk.org/index.php?title=Test&amp;diff=10&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Test&amp;diff=10&amp;oldid=0</guid>
			<description>&lt;p&gt;Imported from Markdown&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;span id=&amp;quot;zkaccess-c3-dashboard-bundle--readme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= ZKAccess C3 dashboard bundle — README =&lt;br /&gt;
&lt;br /&gt;
This repository runs a small &amp;#039;&amp;#039;&amp;#039;Python (FastAPI)&amp;#039;&amp;#039;&amp;#039; service that will eventually talk to a &amp;#039;&amp;#039;&amp;#039;ZKAccess C3-100&amp;#039;&amp;#039;&amp;#039; over the network (Pull SDK–style TCP, typically port &amp;#039;&amp;#039;&amp;#039;4370&amp;#039;&amp;#039;&amp;#039;). Today it ships a &amp;#039;&amp;#039;&amp;#039;LAN web dashboard&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;JSON status&amp;#039;&amp;#039;&amp;#039; endpoints, packaged with &amp;#039;&amp;#039;&amp;#039;Docker Compose&amp;#039;&amp;#039;&amp;#039; for &amp;#039;&amp;#039;&amp;#039;Linux&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;setup-ubuntu-server.sh&amp;lt;/code&amp;gt;) or &amp;#039;&amp;#039;&amp;#039;Windows&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;setup-windows.bat&amp;lt;/code&amp;gt; + Docker Desktop).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;1-what-you-edit-vs-what-docker-runs&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 1. What you edit vs what Docker runs ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! What&lt;br /&gt;
! Where it lives&lt;br /&gt;
! Who reads it&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;All runtime settings&amp;#039;&amp;#039;&amp;#039; (panel IP, ports, passwords, public URL)&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; in the project root (next to &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;)&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Docker Compose&amp;#039;&amp;#039;&amp;#039; injects &amp;lt;code&amp;gt;C3_*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt; into the container; the app also reads &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when present (see &amp;lt;code&amp;gt;app/settings.py&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Which host TCP port&amp;#039;&amp;#039;&amp;#039; the dashboard listens on from outside the container&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; → &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Only&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;ports:&amp;lt;/code&amp;gt; mapping). This value is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; required inside the app if you set &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt; correctly.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Optional second host port&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; → &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT_ALT&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;and&amp;#039;&amp;#039;&amp;#039; you must &amp;#039;&amp;#039;&amp;#039;uncomment&amp;#039;&amp;#039;&amp;#039; the second &amp;lt;code&amp;gt;ports:&amp;lt;/code&amp;gt; line&lt;br /&gt;
| &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Image / service name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;lt;code&amp;gt;Dockerfile&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
| You normally &amp;#039;&amp;#039;&amp;#039;do not&amp;#039;&amp;#039;&amp;#039; change these unless you rename the service.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Rule of thumb:&amp;#039;&amp;#039;&amp;#039; to “replace all settings,” edit &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; (and rarely uncomment a port line in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;). Then &amp;#039;&amp;#039;&amp;#039;recreate&amp;#039;&amp;#039;&amp;#039; the container so new environment values apply.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Security:&amp;#039;&amp;#039;&amp;#039; keep your real &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file out of git (it is listed in &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt;). Never paste real passwords into issues or screenshots without redacting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;2-prerequisites&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 2. Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* A PC running &amp;#039;&amp;#039;&amp;#039;Ubuntu&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Linux Mint&amp;#039;&amp;#039;&amp;#039;, or &amp;#039;&amp;#039;&amp;#039;Debian&amp;#039;&amp;#039;&amp;#039; on the same LAN as the C3-100.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Internet access&amp;#039;&amp;#039;&amp;#039; on first run if Docker must be installed (the script downloads Docker’s official install script).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; privileges (Docker install, optional UFW, and Docker commands until your user is in the &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; group).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;python3&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (for the interactive wizard’s safe &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; writer; &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt; is installed automatically if missing and &amp;lt;code&amp;gt;apt-get&amp;lt;/code&amp;gt; exists).&lt;br /&gt;
&lt;br /&gt;
The bootstrap script can &amp;#039;&amp;#039;&amp;#039;install Docker for you&amp;#039;&amp;#039;&amp;#039; on apt-based distros. If you install Docker yourself first, see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker --version&lt;br /&gt;
docker compose version&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;3-one-script-on-ubuntu-recommended&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 3. One script on Ubuntu (recommended) ==&lt;br /&gt;
&lt;br /&gt;
From the &amp;#039;&amp;#039;&amp;#039;repository root&amp;#039;&amp;#039;&amp;#039; (the folder that contains &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;setup-ubuntu-server.sh&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cd /path/to/del-hy-prnhs&lt;br /&gt;
bash setup-ubuntu-server.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-the-script-does-in-order&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What the script does, in order ===&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; to the repo root (next to the script).&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Docker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* If &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;docker compose&amp;lt;/code&amp;gt; are missing on &amp;#039;&amp;#039;&amp;#039;Ubuntu / Debian / Linux Mint / Pop!_OS&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/os-release&amp;lt;/code&amp;gt;), it asks &amp;#039;&amp;#039;&amp;#039;Install Docker Engine now? [Y/n]&amp;#039;&amp;#039;&amp;#039; and, if you accept, runs Docker’s official &amp;#039;&amp;#039;&amp;#039;[https://get.docker.com get.docker.com]&amp;#039;&amp;#039;&amp;#039; script with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; (installs Engine + Compose plugin). It installs &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; via &amp;lt;code&amp;gt;apt-get&amp;lt;/code&amp;gt; first if needed.&lt;br /&gt;
#* On other distributions it stops with a link to the manual Docker install docs.&lt;br /&gt;
#* After install it runs &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo usermod -aG docker &amp;amp;quot;$USER&amp;amp;quot;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; and reminds you to &amp;#039;&amp;#039;&amp;#039;log out and back in&amp;#039;&amp;#039;&amp;#039; (or &amp;lt;code&amp;gt;newgrp docker&amp;lt;/code&amp;gt;). Until then, the script uses &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo docker compose&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when your user cannot talk to the daemon.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; (interactive wizard)&amp;#039;&amp;#039;&amp;#039; — unless &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; already exists and you answer &amp;#039;&amp;#039;&amp;#039;no&amp;#039;&amp;#039;&amp;#039; to reconfigure:&lt;br /&gt;
#* Panel &amp;#039;&amp;#039;&amp;#039;IP / hostname&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* Panel &amp;#039;&amp;#039;&amp;#039;TCP port&amp;#039;&amp;#039;&amp;#039; (default &amp;lt;code&amp;gt;4370&amp;lt;/code&amp;gt;)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Username&amp;#039;&amp;#039;&amp;#039; (optional)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Password / comm key&amp;#039;&amp;#039;&amp;#039; (optional, hidden; confirm once)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Dashboard port&amp;#039;&amp;#039;&amp;#039; on this server (default &amp;lt;code&amp;gt;8080&amp;lt;/code&amp;gt;)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Public base URL&amp;#039;&amp;#039;&amp;#039; for bookmarks (default &amp;lt;code&amp;gt;http://&amp;amp;lt;detected-LAN-IP&amp;amp;gt;:&amp;amp;lt;dashboard-port&amp;amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
#* Confirm &amp;#039;&amp;#039;&amp;#039;Write to .env&amp;#039;&amp;#039;&amp;#039; — file is written with mode &amp;#039;&amp;#039;&amp;#039;600&amp;#039;&amp;#039;&amp;#039; and double-quoted values where needed.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;docker compose up -d --build&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — starts the stack.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--ufw&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; only: after a successful start, &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo ufw allow &amp;amp;lt;DASHBOARD_HOST_PORT&amp;amp;gt;/tcp&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;ufw reload&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;script-options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Script options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Install Docker if missing (with prompt), then wizard / existing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;, then compose up.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --ufw&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same, plus UFW rule for the dashboard port after compose succeeds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pass &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; to compose (e.g. after manual &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; edits).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --non-interactive&amp;lt;/code&amp;gt; or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| No Docker install prompt, &amp;#039;&amp;#039;&amp;#039;no wizard&amp;#039;&amp;#039;&amp;#039; — requires an existing &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. Use on repeat runs in automation.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --help&amp;lt;/code&amp;gt;&lt;br /&gt;
| Short usage.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;typical-flows&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Typical flows ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Fresh server:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh&amp;lt;/code&amp;gt; → accept Docker install → answer wizard → open the printed URL. Use &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--ufw&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; if you want the firewall opened automatically.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Change panel or password later:&amp;#039;&amp;#039;&amp;#039; run the script again and answer &amp;#039;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;#039; to reconfigure, or edit &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; by hand and run &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
You can &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;chmod +x setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; and run &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;./setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;; &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; works without that.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Security note:&amp;#039;&amp;#039;&amp;#039; the Docker install script is upstream-maintained but still runs as root; only use on machines where that is acceptable. Review [https://docs.docker.com/engine/install/ubuntu/ Docker’s install documentation] if you prefer a manual apt-based install instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;31-windows-docker-desktop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 3.1 Windows (Docker Desktop) ===&lt;br /&gt;
&lt;br /&gt;
Install &amp;#039;&amp;#039;&amp;#039;[https://docs.docker.com/desktop/install/windows-install/ Docker Desktop for Windows]&amp;#039;&amp;#039;&amp;#039; (includes Compose v2). From a &amp;#039;&amp;#039;&amp;#039;Command Prompt&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;PowerShell&amp;#039;&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to the repo folder that contains &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;cd C:\path\to\del-hy-prnhs&lt;br /&gt;
setup-windows.bat&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;setup-windows.bat&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; checks &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;docker compose&amp;lt;/code&amp;gt;, runs &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;setup-windows-wizard.ps1&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; is missing (or when you choose to reconfigure), then &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;docker compose up -d --build&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* The wizard asks for the same values as the Linux script (C3 IP, port, optional user/password, dashboard port, public URL) and writes &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; with UTF-8 (password prompts use &amp;#039;&amp;#039;&amp;#039;masked&amp;#039;&amp;#039;&amp;#039; input).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; is still &amp;#039;&amp;#039;&amp;#039;Uvicorn + FastAPI&amp;#039;&amp;#039;&amp;#039; inside the container (&amp;lt;code&amp;gt;Dockerfile&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;app\main.py&amp;lt;/code&amp;gt;); &amp;#039;&amp;#039;&amp;#039;Docker Desktop&amp;#039;&amp;#039;&amp;#039; publishes &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt; → 8000&amp;#039;&amp;#039;&amp;#039; (see &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wizard if needed, then compose up.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat /q&amp;lt;/code&amp;gt;&lt;br /&gt;
| No prompts; use existing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; (or copy &amp;lt;code&amp;gt;.env.example&amp;lt;/code&amp;gt; once if missing).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat /r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pass &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; to compose (can combine: &amp;lt;code&amp;gt;/q /r&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat /h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Help.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If other PCs cannot reach the dashboard, allow the port in &amp;#039;&amp;#039;&amp;#039;Windows Defender Firewall&amp;#039;&amp;#039;&amp;#039; (Docker Desktop often prompts the first time).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;4-first-time-install-manual-step-by-step&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 4. First-time install (manual, step by step) ==&lt;br /&gt;
&lt;br /&gt;
Use this if you prefer not to use the script. Run everything &amp;#039;&amp;#039;&amp;#039;from the project directory&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;41-create-your-env-from-the-template&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.1 Create your &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; from the template ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cd /path/to/del-hy-prnhs&lt;br /&gt;
cp .env.example .env&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;42-edit-env-and-replace-every-value&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.2 Edit &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; and replace every value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;nano .env&lt;br /&gt;
# or: vim .env   or open .env in your desktop editor&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Variable&lt;br /&gt;
! Set it to…&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_HOST&amp;lt;/code&amp;gt;&lt;br /&gt;
| The &amp;#039;&amp;#039;&amp;#039;IPv4 address&amp;#039;&amp;#039;&amp;#039; (or DNS name) of your &amp;#039;&amp;#039;&amp;#039;C3-100&amp;#039;&amp;#039;&amp;#039; on the LAN.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| Usually &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;4370&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. Change only if the device uses another TCP port.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_USERNAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Optional.&amp;#039;&amp;#039;&amp;#039; Leave empty if the panel only uses a password / comm key.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PASSWORD&amp;lt;/code&amp;gt;&lt;br /&gt;
| The panel &amp;#039;&amp;#039;&amp;#039;password or comm key&amp;#039;&amp;#039;&amp;#039; if required; leave empty if not used.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any &amp;#039;&amp;#039;&amp;#039;free TCP port on the Linux host&amp;#039;&amp;#039;&amp;#039; (e.g. &amp;lt;code&amp;gt;8080&amp;lt;/code&amp;gt;). Browser: &amp;lt;code&amp;gt;http://&amp;amp;lt;server-ip&amp;amp;gt;:&amp;amp;lt;port&amp;amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same service as a full URL, e.g. &amp;lt;code&amp;gt;http://192.168.1.50:8080&amp;lt;/code&amp;gt; — &amp;#039;&amp;#039;&amp;#039;host and port&amp;#039;&amp;#039;&amp;#039; must match &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Optional second port:&amp;#039;&amp;#039;&amp;#039; set &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT_ALT&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;, then in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;uncomment&amp;#039;&amp;#039;&amp;#039; the second &amp;lt;code&amp;gt;ports:&amp;lt;/code&amp;gt; line. Use two different port numbers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;43-open-the-firewall-if-ufw-is-enabled&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.3 Open the firewall (if UFW is enabled) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sudo ufw allow &amp;lt;DASHBOARD_HOST_PORT&amp;gt;/tcp comment &amp;#039;ZKAccess dashboard&amp;#039;&lt;br /&gt;
sudo ufw reload&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;44-build-and-start-the-stack&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.4 Build and start the stack ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose up -d --build&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;45-verify&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.5 Verify ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose ps&lt;br /&gt;
docker compose logs --tail=50 dashboard&lt;br /&gt;
curl -sS &amp;quot;http://127.0.0.1:&amp;lt;DASHBOARD_HOST_PORT&amp;gt;/health&amp;quot;&lt;br /&gt;
curl -sS &amp;quot;http://127.0.0.1:&amp;lt;DASHBOARD_HOST_PORT&amp;gt;/api/status&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On another PC: &amp;lt;code&amp;gt;http://&amp;amp;lt;linux-server-ip&amp;amp;gt;:&amp;amp;lt;DASHBOARD_HOST_PORT&amp;amp;gt;/&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;/api/status&amp;lt;/code&amp;gt; never returns &amp;lt;code&amp;gt;C3_PASSWORD&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;5-how-to-change-settings-later-replace--update&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 5. How to change settings later (replace / update) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&amp;#039;&amp;#039;&amp;#039;Edit&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Apply changes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose up -d --force-recreate&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If &amp;#039;&amp;#039;&amp;#039;code&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;requirements.txt&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; / &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;Dockerfile&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; changed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose up -d --build --force-recreate&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Or use: &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;If &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; changed, update &amp;#039;&amp;#039;&amp;#039;UFW&amp;#039;&amp;#039;&amp;#039; (or run &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --ufw --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; after editing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;).&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;6-day-to-day-commands-project-directory&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 6. Day-to-day commands (project directory) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Goal&lt;br /&gt;
! Command&lt;br /&gt;
|-&lt;br /&gt;
| Start&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Rebuild&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d --build&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Apply &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; changes&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d --force-recreate&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Logs&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose logs -f dashboard&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Stop&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose down&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;7-full-list-of-environment-variables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 7. Full list of environment variables ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Variable&lt;br /&gt;
! Required&lt;br /&gt;
! Default (if unset)&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_HOST&amp;lt;/code&amp;gt;&lt;br /&gt;
| Strongly recommended&lt;br /&gt;
| empty&lt;br /&gt;
| ZKAccess panel IP or hostname.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| &amp;lt;code&amp;gt;4370&amp;lt;/code&amp;gt;&lt;br /&gt;
| Panel TCP port.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_USERNAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| empty&lt;br /&gt;
| Optional; reserved for setups that need a user name.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PASSWORD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Depends on panel&lt;br /&gt;
| empty&lt;br /&gt;
| Panel password / comm key; never returned by &amp;lt;code&amp;gt;/api/status&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| No (Compose default)&lt;br /&gt;
| &amp;lt;code&amp;gt;8080&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
| Host port for the web UI.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT_ALT&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| only if line uncommented in compose&lt;br /&gt;
| Second host port to the same app.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| empty&lt;br /&gt;
| Bookmark URL on the HTML dashboard.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Compose reads &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;${...}&amp;lt;/code&amp;gt; interpolation in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Library note:&amp;#039;&amp;#039;&amp;#039; [https://github.com/vwout/zkaccess-c3-py zkaccess-c3-py] often uses &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;connect(password=...)&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; only; &amp;lt;code&amp;gt;C3_USERNAME&amp;lt;/code&amp;gt; is still available for your firmware or future code paths.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;8-router-port-forwarding-optional&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 8. Router port forwarding (optional) ==&lt;br /&gt;
&lt;br /&gt;
Forward &amp;#039;&amp;#039;&amp;#039;WAN TCP&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;amp;lt;LAN-ip-of-linux-PC&amp;amp;gt;:&amp;amp;lt;DASHBOARD_HOST_PORT&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. The app does not need the WAN port in &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;. For internet exposure, prefer &amp;#039;&amp;#039;&amp;#039;VPN&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;HTTPS + authentication&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;9-running-without-docker-developers-only&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 9. Running without Docker (developers only) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cd /path/to/del-hy-prnhs&lt;br /&gt;
python3 -m venv .venv&lt;br /&gt;
source .venv/bin/activate&lt;br /&gt;
pip install -r requirements.txt&lt;br /&gt;
uvicorn app.main:app --host 0.0.0.0 --port 8000&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Open &amp;lt;code&amp;gt;http://&amp;amp;lt;this-pc-ip&amp;amp;gt;:8000/&amp;lt;/code&amp;gt;. Without Docker, &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt; is ignored; you pick the port on the &amp;lt;code&amp;gt;uvicorn&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;10-troubleshooting&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 10. Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Symptom&lt;br /&gt;
! Things to check&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;127.0.0.1:PORT&amp;lt;/code&amp;gt; fails&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose ps&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;docker compose logs dashboard&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;PORT&amp;lt;/code&amp;gt; vs &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Other PCs cannot connect&lt;br /&gt;
| Subnet, AP isolation, &amp;#039;&amp;#039;&amp;#039;UFW&amp;#039;&amp;#039;&amp;#039;, correct server IP.&lt;br /&gt;
|-&lt;br /&gt;
| Old values after editing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d --force-recreate&amp;lt;/code&amp;gt; or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Docker permission denied&lt;br /&gt;
| User in &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; group, re-login, or &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; (not ideal long-term).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;11-project-background&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 11. Project background ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[plan.md]]&amp;#039;&amp;#039;&amp;#039; — architecture, C3 data model, phases.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://github.com/vwout/zkaccess-c3-py zkaccess-c3-py]&amp;#039;&amp;#039;&amp;#039; — Python library for the panel protocol (integration planned in later phases).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;12-template-file-reference&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 12. Template file reference ==&lt;br /&gt;
&lt;br /&gt;
The checked-in &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env.example&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; lists all keys. When in doubt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cp .env.example .env&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Then edit &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; only. After changes: &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;docker compose up -d --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;) and add &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--build&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when code or dependencies change.&lt;/div&gt;</description>
			<pubDate>Sat, 22 Aug 2026 23:48:18 GMT</pubDate>
			<dc:creator>Samikciku</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Test</comments>
		</item>
		<item>
			<title>Test2</title>
			<link>https://wiki.flossk.org/index.php?title=Test2&amp;diff=9&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Test2&amp;diff=9&amp;oldid=0</guid>
			<description>&lt;p&gt;Imported from Markdown&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;span id=&amp;quot;zkaccess-c3-dashboard-bundle--readme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= ZKAccess C3 dashboard bundle — README =&lt;br /&gt;
&lt;br /&gt;
This repository runs a small &amp;#039;&amp;#039;&amp;#039;Python (FastAPI)&amp;#039;&amp;#039;&amp;#039; service that will eventually talk to a &amp;#039;&amp;#039;&amp;#039;ZKAccess C3-100&amp;#039;&amp;#039;&amp;#039; over the network (Pull SDK–style TCP, typically port &amp;#039;&amp;#039;&amp;#039;4370&amp;#039;&amp;#039;&amp;#039;). Today it ships a &amp;#039;&amp;#039;&amp;#039;LAN web dashboard&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;JSON status&amp;#039;&amp;#039;&amp;#039; endpoints, packaged with &amp;#039;&amp;#039;&amp;#039;Docker Compose&amp;#039;&amp;#039;&amp;#039; for &amp;#039;&amp;#039;&amp;#039;Linux&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;setup-ubuntu-server.sh&amp;lt;/code&amp;gt;) or &amp;#039;&amp;#039;&amp;#039;Windows&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;setup-windows.bat&amp;lt;/code&amp;gt; + Docker Desktop).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;1-what-you-edit-vs-what-docker-runs&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 1. What you edit vs what Docker runs ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! What&lt;br /&gt;
! Where it lives&lt;br /&gt;
! Who reads it&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;All runtime settings&amp;#039;&amp;#039;&amp;#039; (panel IP, ports, passwords, public URL)&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; in the project root (next to &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;)&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Docker Compose&amp;#039;&amp;#039;&amp;#039; injects &amp;lt;code&amp;gt;C3_*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt; into the container; the app also reads &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when present (see &amp;lt;code&amp;gt;app/settings.py&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Which host TCP port&amp;#039;&amp;#039;&amp;#039; the dashboard listens on from outside the container&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; → &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Only&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;ports:&amp;lt;/code&amp;gt; mapping). This value is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; required inside the app if you set &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt; correctly.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Optional second host port&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; → &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT_ALT&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;and&amp;#039;&amp;#039;&amp;#039; you must &amp;#039;&amp;#039;&amp;#039;uncomment&amp;#039;&amp;#039;&amp;#039; the second &amp;lt;code&amp;gt;ports:&amp;lt;/code&amp;gt; line&lt;br /&gt;
| &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Image / service name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;lt;code&amp;gt;Dockerfile&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
| You normally &amp;#039;&amp;#039;&amp;#039;do not&amp;#039;&amp;#039;&amp;#039; change these unless you rename the service.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Rule of thumb:&amp;#039;&amp;#039;&amp;#039; to “replace all settings,” edit &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; (and rarely uncomment a port line in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;). Then &amp;#039;&amp;#039;&amp;#039;recreate&amp;#039;&amp;#039;&amp;#039; the container so new environment values apply.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Security:&amp;#039;&amp;#039;&amp;#039; keep your real &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; file out of git (it is listed in &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt;). Never paste real passwords into issues or screenshots without redacting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;2-prerequisites&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 2. Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
* A PC running &amp;#039;&amp;#039;&amp;#039;Ubuntu&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Linux Mint&amp;#039;&amp;#039;&amp;#039;, or &amp;#039;&amp;#039;&amp;#039;Debian&amp;#039;&amp;#039;&amp;#039; on the same LAN as the C3-100.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Internet access&amp;#039;&amp;#039;&amp;#039; on first run if Docker must be installed (the script downloads Docker’s official install script).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; privileges (Docker install, optional UFW, and Docker commands until your user is in the &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; group).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;python3&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (for the interactive wizard’s safe &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; writer; &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt; is installed automatically if missing and &amp;lt;code&amp;gt;apt-get&amp;lt;/code&amp;gt; exists).&lt;br /&gt;
&lt;br /&gt;
The bootstrap script can &amp;#039;&amp;#039;&amp;#039;install Docker for you&amp;#039;&amp;#039;&amp;#039; on apt-based distros. If you install Docker yourself first, see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker --version&lt;br /&gt;
docker compose version&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;3-one-script-on-ubuntu-recommended&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 3. One script on Ubuntu (recommended) ==&lt;br /&gt;
&lt;br /&gt;
From the &amp;#039;&amp;#039;&amp;#039;repository root&amp;#039;&amp;#039;&amp;#039; (the folder that contains &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;setup-ubuntu-server.sh&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cd /path/to/del-hy-prnhs&lt;br /&gt;
bash setup-ubuntu-server.sh&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-the-script-does-in-order&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What the script does, in order ===&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; to the repo root (next to the script).&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Docker&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* If &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;docker compose&amp;lt;/code&amp;gt; are missing on &amp;#039;&amp;#039;&amp;#039;Ubuntu / Debian / Linux Mint / Pop!_OS&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;ID&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/os-release&amp;lt;/code&amp;gt;), it asks &amp;#039;&amp;#039;&amp;#039;Install Docker Engine now? [Y/n]&amp;#039;&amp;#039;&amp;#039; and, if you accept, runs Docker’s official &amp;#039;&amp;#039;&amp;#039;[https://get.docker.com get.docker.com]&amp;#039;&amp;#039;&amp;#039; script with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; (installs Engine + Compose plugin). It installs &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; via &amp;lt;code&amp;gt;apt-get&amp;lt;/code&amp;gt; first if needed.&lt;br /&gt;
#* On other distributions it stops with a link to the manual Docker install docs.&lt;br /&gt;
#* After install it runs &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo usermod -aG docker &amp;amp;quot;$USER&amp;amp;quot;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; and reminds you to &amp;#039;&amp;#039;&amp;#039;log out and back in&amp;#039;&amp;#039;&amp;#039; (or &amp;lt;code&amp;gt;newgrp docker&amp;lt;/code&amp;gt;). Until then, the script uses &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo docker compose&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when your user cannot talk to the daemon.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; (interactive wizard)&amp;#039;&amp;#039;&amp;#039; — unless &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; already exists and you answer &amp;#039;&amp;#039;&amp;#039;no&amp;#039;&amp;#039;&amp;#039; to reconfigure:&lt;br /&gt;
#* Panel &amp;#039;&amp;#039;&amp;#039;IP / hostname&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#* Panel &amp;#039;&amp;#039;&amp;#039;TCP port&amp;#039;&amp;#039;&amp;#039; (default &amp;lt;code&amp;gt;4370&amp;lt;/code&amp;gt;)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Username&amp;#039;&amp;#039;&amp;#039; (optional)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Password / comm key&amp;#039;&amp;#039;&amp;#039; (optional, hidden; confirm once)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Dashboard port&amp;#039;&amp;#039;&amp;#039; on this server (default &amp;lt;code&amp;gt;8080&amp;lt;/code&amp;gt;)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Public base URL&amp;#039;&amp;#039;&amp;#039; for bookmarks (default &amp;lt;code&amp;gt;http://&amp;amp;lt;detected-LAN-IP&amp;amp;gt;:&amp;amp;lt;dashboard-port&amp;amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
#* Confirm &amp;#039;&amp;#039;&amp;#039;Write to .env&amp;#039;&amp;#039;&amp;#039; — file is written with mode &amp;#039;&amp;#039;&amp;#039;600&amp;#039;&amp;#039;&amp;#039; and double-quoted values where needed.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;docker compose up -d --build&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; — starts the stack.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--ufw&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; only: after a successful start, &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;sudo ufw allow &amp;amp;lt;DASHBOARD_HOST_PORT&amp;amp;gt;/tcp&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;ufw reload&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;script-options&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Script options ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Install Docker if missing (with prompt), then wizard / existing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;, then compose up.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --ufw&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same, plus UFW rule for the dashboard port after compose succeeds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pass &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; to compose (e.g. after manual &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; edits).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --non-interactive&amp;lt;/code&amp;gt; or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| No Docker install prompt, &amp;#039;&amp;#039;&amp;#039;no wizard&amp;#039;&amp;#039;&amp;#039; — requires an existing &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. Use on repeat runs in automation.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --help&amp;lt;/code&amp;gt;&lt;br /&gt;
| Short usage.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;typical-flows&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Typical flows ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Fresh server:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;bash setup-ubuntu-server.sh&amp;lt;/code&amp;gt; → accept Docker install → answer wizard → open the printed URL. Use &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--ufw&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; if you want the firewall opened automatically.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Change panel or password later:&amp;#039;&amp;#039;&amp;#039; run the script again and answer &amp;#039;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;#039; to reconfigure, or edit &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; by hand and run &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
You can &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;chmod +x setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; and run &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;./setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;; &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; works without that.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Security note:&amp;#039;&amp;#039;&amp;#039; the Docker install script is upstream-maintained but still runs as root; only use on machines where that is acceptable. Review [https://docs.docker.com/engine/install/ubuntu/ Docker’s install documentation] if you prefer a manual apt-based install instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;31-windows-docker-desktop&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 3.1 Windows (Docker Desktop) ===&lt;br /&gt;
&lt;br /&gt;
Install &amp;#039;&amp;#039;&amp;#039;[https://docs.docker.com/desktop/install/windows-install/ Docker Desktop for Windows]&amp;#039;&amp;#039;&amp;#039; (includes Compose v2). From a &amp;#039;&amp;#039;&amp;#039;Command Prompt&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;PowerShell&amp;#039;&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to the repo folder that contains &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;cd C:\path\to\del-hy-prnhs&lt;br /&gt;
setup-windows.bat&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;setup-windows.bat&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; checks &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;docker compose&amp;lt;/code&amp;gt;, runs &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;setup-windows-wizard.ps1&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; is missing (or when you choose to reconfigure), then &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;docker compose up -d --build&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* The wizard asks for the same values as the Linux script (C3 IP, port, optional user/password, dashboard port, public URL) and writes &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; with UTF-8 (password prompts use &amp;#039;&amp;#039;&amp;#039;masked&amp;#039;&amp;#039;&amp;#039; input).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;&amp;#039; is still &amp;#039;&amp;#039;&amp;#039;Uvicorn + FastAPI&amp;#039;&amp;#039;&amp;#039; inside the container (&amp;lt;code&amp;gt;Dockerfile&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;app\main.py&amp;lt;/code&amp;gt;); &amp;#039;&amp;#039;&amp;#039;Docker Desktop&amp;#039;&amp;#039;&amp;#039; publishes &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt; → 8000&amp;#039;&amp;#039;&amp;#039; (see &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wizard if needed, then compose up.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat /q&amp;lt;/code&amp;gt;&lt;br /&gt;
| No prompts; use existing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; (or copy &amp;lt;code&amp;gt;.env.example&amp;lt;/code&amp;gt; once if missing).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat /r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pass &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; to compose (can combine: &amp;lt;code&amp;gt;/q /r&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setup-windows.bat /h&amp;lt;/code&amp;gt;&lt;br /&gt;
| Help.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If other PCs cannot reach the dashboard, allow the port in &amp;#039;&amp;#039;&amp;#039;Windows Defender Firewall&amp;#039;&amp;#039;&amp;#039; (Docker Desktop often prompts the first time).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;4-first-time-install-manual-step-by-step&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 4. First-time install (manual, step by step) ==&lt;br /&gt;
&lt;br /&gt;
Use this if you prefer not to use the script. Run everything &amp;#039;&amp;#039;&amp;#039;from the project directory&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;41-create-your-env-from-the-template&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.1 Create your &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; from the template ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cd /path/to/del-hy-prnhs&lt;br /&gt;
cp .env.example .env&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;42-edit-env-and-replace-every-value&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.2 Edit &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; and replace every value ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;nano .env&lt;br /&gt;
# or: vim .env   or open .env in your desktop editor&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Variable&lt;br /&gt;
! Set it to…&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_HOST&amp;lt;/code&amp;gt;&lt;br /&gt;
| The &amp;#039;&amp;#039;&amp;#039;IPv4 address&amp;#039;&amp;#039;&amp;#039; (or DNS name) of your &amp;#039;&amp;#039;&amp;#039;C3-100&amp;#039;&amp;#039;&amp;#039; on the LAN.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| Usually &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;4370&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. Change only if the device uses another TCP port.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_USERNAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Optional.&amp;#039;&amp;#039;&amp;#039; Leave empty if the panel only uses a password / comm key.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PASSWORD&amp;lt;/code&amp;gt;&lt;br /&gt;
| The panel &amp;#039;&amp;#039;&amp;#039;password or comm key&amp;#039;&amp;#039;&amp;#039; if required; leave empty if not used.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any &amp;#039;&amp;#039;&amp;#039;free TCP port on the Linux host&amp;#039;&amp;#039;&amp;#039; (e.g. &amp;lt;code&amp;gt;8080&amp;lt;/code&amp;gt;). Browser: &amp;lt;code&amp;gt;http://&amp;amp;lt;server-ip&amp;amp;gt;:&amp;amp;lt;port&amp;amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same service as a full URL, e.g. &amp;lt;code&amp;gt;http://192.168.1.50:8080&amp;lt;/code&amp;gt; — &amp;#039;&amp;#039;&amp;#039;host and port&amp;#039;&amp;#039;&amp;#039; must match &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Optional second port:&amp;#039;&amp;#039;&amp;#039; set &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT_ALT&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;, then in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;uncomment&amp;#039;&amp;#039;&amp;#039; the second &amp;lt;code&amp;gt;ports:&amp;lt;/code&amp;gt; line. Use two different port numbers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;43-open-the-firewall-if-ufw-is-enabled&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.3 Open the firewall (if UFW is enabled) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;sudo ufw allow &amp;lt;DASHBOARD_HOST_PORT&amp;gt;/tcp comment &amp;#039;ZKAccess dashboard&amp;#039;&lt;br /&gt;
sudo ufw reload&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;44-build-and-start-the-stack&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.4 Build and start the stack ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose up -d --build&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;45-verify&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 4.5 Verify ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose ps&lt;br /&gt;
docker compose logs --tail=50 dashboard&lt;br /&gt;
curl -sS &amp;quot;http://127.0.0.1:&amp;lt;DASHBOARD_HOST_PORT&amp;gt;/health&amp;quot;&lt;br /&gt;
curl -sS &amp;quot;http://127.0.0.1:&amp;lt;DASHBOARD_HOST_PORT&amp;gt;/api/status&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On another PC: &amp;lt;code&amp;gt;http://&amp;amp;lt;linux-server-ip&amp;amp;gt;:&amp;amp;lt;DASHBOARD_HOST_PORT&amp;amp;gt;/&amp;lt;/code&amp;gt; — &amp;lt;code&amp;gt;/api/status&amp;lt;/code&amp;gt; never returns &amp;lt;code&amp;gt;C3_PASSWORD&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;5-how-to-change-settings-later-replace--update&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 5. How to change settings later (replace / update) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&amp;#039;&amp;#039;&amp;#039;Edit&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Apply changes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose up -d --force-recreate&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If &amp;#039;&amp;#039;&amp;#039;code&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;requirements.txt&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; / &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;Dockerfile&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; changed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;docker compose up -d --build --force-recreate&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Or use: &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;If &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; changed, update &amp;#039;&amp;#039;&amp;#039;UFW&amp;#039;&amp;#039;&amp;#039; (or run &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --ufw --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; after editing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;).&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;6-day-to-day-commands-project-directory&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 6. Day-to-day commands (project directory) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Goal&lt;br /&gt;
! Command&lt;br /&gt;
|-&lt;br /&gt;
| Start&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Rebuild&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d --build&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Apply &amp;#039;&amp;#039;&amp;#039;only&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; changes&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d --force-recreate&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Logs&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose logs -f dashboard&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Stop&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose down&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;7-full-list-of-environment-variables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 7. Full list of environment variables ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Variable&lt;br /&gt;
! Required&lt;br /&gt;
! Default (if unset)&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_HOST&amp;lt;/code&amp;gt;&lt;br /&gt;
| Strongly recommended&lt;br /&gt;
| empty&lt;br /&gt;
| ZKAccess panel IP or hostname.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| &amp;lt;code&amp;gt;4370&amp;lt;/code&amp;gt;&lt;br /&gt;
| Panel TCP port.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_USERNAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| empty&lt;br /&gt;
| Optional; reserved for setups that need a user name.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;C3_PASSWORD&amp;lt;/code&amp;gt;&lt;br /&gt;
| Depends on panel&lt;br /&gt;
| empty&lt;br /&gt;
| Panel password / comm key; never returned by &amp;lt;code&amp;gt;/api/status&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt;&lt;br /&gt;
| No (Compose default)&lt;br /&gt;
| &amp;lt;code&amp;gt;8080&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
| Host port for the web UI.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT_ALT&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| only if line uncommented in compose&lt;br /&gt;
| Second host port to the same app.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DASHBOARD_PUBLIC_BASE_URL&amp;lt;/code&amp;gt;&lt;br /&gt;
| No&lt;br /&gt;
| empty&lt;br /&gt;
| Bookmark URL on the HTML dashboard.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Compose reads &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;${...}&amp;lt;/code&amp;gt; interpolation in &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Library note:&amp;#039;&amp;#039;&amp;#039; [https://github.com/vwout/zkaccess-c3-py zkaccess-c3-py] often uses &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;connect(password=...)&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; only; &amp;lt;code&amp;gt;C3_USERNAME&amp;lt;/code&amp;gt; is still available for your firmware or future code paths.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;8-router-port-forwarding-optional&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 8. Router port forwarding (optional) ==&lt;br /&gt;
&lt;br /&gt;
Forward &amp;#039;&amp;#039;&amp;#039;WAN TCP&amp;#039;&amp;#039;&amp;#039; to &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;&amp;amp;lt;LAN-ip-of-linux-PC&amp;amp;gt;:&amp;amp;lt;DASHBOARD_HOST_PORT&amp;amp;gt;&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. The app does not need the WAN port in &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;. For internet exposure, prefer &amp;#039;&amp;#039;&amp;#039;VPN&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;HTTPS + authentication&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;9-running-without-docker-developers-only&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 9. Running without Docker (developers only) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cd /path/to/del-hy-prnhs&lt;br /&gt;
python3 -m venv .venv&lt;br /&gt;
source .venv/bin/activate&lt;br /&gt;
pip install -r requirements.txt&lt;br /&gt;
uvicorn app.main:app --host 0.0.0.0 --port 8000&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Open &amp;lt;code&amp;gt;http://&amp;amp;lt;this-pc-ip&amp;amp;gt;:8000/&amp;lt;/code&amp;gt;. Without Docker, &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt; is ignored; you pick the port on the &amp;lt;code&amp;gt;uvicorn&amp;lt;/code&amp;gt; line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;10-troubleshooting&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 10. Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Symptom&lt;br /&gt;
! Things to check&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;127.0.0.1:PORT&amp;lt;/code&amp;gt; fails&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose ps&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;docker compose logs dashboard&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;PORT&amp;lt;/code&amp;gt; vs &amp;lt;code&amp;gt;DASHBOARD_HOST_PORT&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Other PCs cannot connect&lt;br /&gt;
| Subnet, AP isolation, &amp;#039;&amp;#039;&amp;#039;UFW&amp;#039;&amp;#039;&amp;#039;, correct server IP.&lt;br /&gt;
|-&lt;br /&gt;
| Old values after editing &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;docker compose up -d --force-recreate&amp;lt;/code&amp;gt; or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| Docker permission denied&lt;br /&gt;
| User in &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; group, re-login, or &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; (not ideal long-term).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;11-project-background&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 11. Project background ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[plan.md]]&amp;#039;&amp;#039;&amp;#039; — architecture, C3 data model, phases.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[https://github.com/vwout/zkaccess-c3-py zkaccess-c3-py]&amp;#039;&amp;#039;&amp;#039; — Python library for the panel protocol (integration planned in later phases).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;12-template-file-reference&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== 12. Template file reference ==&lt;br /&gt;
&lt;br /&gt;
The checked-in &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env.example&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; lists all keys. When in doubt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;cp .env.example .env&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Then edit &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; only. After changes: &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;docker compose up -d --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (or &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;bash setup-ubuntu-server.sh --force-recreate&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;) and add &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--build&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; when code or dependencies change.&lt;/div&gt;</description>
			<pubDate>Sat, 22 Aug 2026 23:35:08 GMT</pubDate>
			<dc:creator>Samikciku</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Test2</comments>
		</item>
		<item>
			<title>Project/README</title>
			<link>https://wiki.flossk.org/index.php?title=Project/README&amp;diff=5&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.flossk.org/index.php?title=Project/README&amp;diff=5&amp;oldid=0</guid>
			<description>&lt;p&gt;Imported from Markdown&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;span id=&amp;quot;mediawiki&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
= MediaWiki =&lt;br /&gt;
&lt;br /&gt;
MediaWiki is a free and open-source wiki software package written in PHP. It serves as the platform for Wikipedia and the other Wikimedia projects, used by hundreds of millions of people each month. MediaWiki is localised in over 350 languages and its reliability and robust feature set have earned it a large and vibrant community of third-party users and developers.&lt;br /&gt;
&lt;br /&gt;
MediaWiki is:&lt;br /&gt;
&lt;br /&gt;
* feature-rich and extensible, both on-wiki and with hundreds of extensions;&lt;br /&gt;
* scalable and suitable for both small and large sites;&lt;br /&gt;
* simple to install, working on most hardware/software combinations; and&lt;br /&gt;
* available in your language.&lt;br /&gt;
&lt;br /&gt;
For system requirements, installation, and upgrade details, see the files RELEASE-NOTES, INSTALL, and UPGRADE.&lt;br /&gt;
&lt;br /&gt;
* Ready to get started?&lt;br /&gt;
** https://www.mediawiki.org/wiki/Special:MyLanguage/Download&lt;br /&gt;
* Setting up your local development environment?&lt;br /&gt;
** https://www.mediawiki.org/wiki/Special:MyLanguage/Local_development_quickstart&lt;br /&gt;
* Looking for the technical manual?&lt;br /&gt;
** https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents&lt;br /&gt;
* Seeking help from a person?&lt;br /&gt;
** https://www.mediawiki.org/wiki/Special:MyLanguage/Communication&lt;br /&gt;
* Looking to file a bug report or a feature request?&lt;br /&gt;
** https://bugs.mediawiki.org/&lt;br /&gt;
* Interested in helping out?&lt;br /&gt;
** https://www.mediawiki.org/wiki/Special:MyLanguage/How_to_contribute&lt;br /&gt;
&lt;br /&gt;
MediaWiki is the result of global collaboration and cooperation. The CREDITS file lists technical contributors to the project. The COPYING file explains MediaWiki&amp;#039;s copyright and license (GNU General Public License, version 2 or later). Many thanks to the Wikimedia community for testing and suggestions.&lt;/div&gt;</description>
			<pubDate>Sat, 22 Aug 2026 23:01:48 GMT</pubDate>
			<dc:creator>Samikciku</dc:creator>
			<comments>https://wiki.flossk.org/wiki/Talk:Project/README</comments>
		</item>
</channel></rss>