<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Operating System &#8211; Choose a job you love</title>
	<atom:link href="https://cajyl.com/en/category/operating-system/feed/" rel="self" type="application/rss+xml" />
	<link>https://cajyl.com</link>
	<description>and you will never work a day</description>
	<lastBuildDate>Thu, 15 Aug 2024 04:26:53 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>

<image>
	<url>https://cajyl.com/wp-content/uploads/2024/07/73130396cee06279d984fbd48e98a35d-80x80.webp</url>
	<title>Operating System &#8211; Choose a job you love</title>
	<link>https://cajyl.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Guide &#8211; Obsidian with free, self-hosted, instant sync</title>
		<link>https://cajyl.com/en/guide-obsidian-with-free-self-hosted-instant-sync/</link>
					<comments>https://cajyl.com/en/guide-obsidian-with-free-self-hosted-instant-sync/#respond</comments>
		
		<dc:creator><![CDATA[Augustin]]></dc:creator>
		<pubDate>Thu, 15 Aug 2024 04:26:53 +0000</pubDate>
				<category><![CDATA[Docker Compose]]></category>
		<guid isPermaLink="false">https://cajyl.com/?p=3565</guid>

					<description><![CDATA[Docker Compose Below is the docker compose file just to get CouchDB up and running: version: &#34;3.8&#34; services: couchdb-obsidian-livesync: container_name: obsidian-livesync #shortened name image: couchdb:3.3.3 environment: - PUID=99 - PGID=100&#8230;]]></description>
										<content:encoded><![CDATA[<h2 id="docker-compose">Docker Compose</h2>
<p>Below is the docker compose file just to get CouchDB up and running:</p>
<pre><code class="language-docker-compose">version: &quot;3.8&quot;

services:
  couchdb-obsidian-livesync:
    container_name: obsidian-livesync #shortened name
    image: couchdb:3.3.3
    environment:
      - PUID=99
      - PGID=100
      - UMASK=0022
      - TZ=Asia/Ho_Chi_Minh
      - COUCHDB_USER=obsidian_user # optionally change me
      - COUCHDB_PASSWORD=obsidian_password # definitely change me
    volumes:
      - ./data:/opt/couchdb/data
      - ./etc/local.d:/opt/couchdb/etc/local.d
      - ./log:/opt/couchdb/var/log/couchdb # Added log volume
    ports:
      - &quot;5984:5984&quot;
    restart: unless-stopped
    labels:
      - net.unraid.docker.webui=http://[IP]:[PORT:5984]/_utils # This might need to be manually adjusted for the web UI
      - net.unraid.docker.icon=https://couchdb.apache.org/image/couch@2x.png
      - net.unraid.docker.shell=bash
    healthcheck:
      test: [&quot;CMD&quot;, &quot;curl&quot;, &quot;-f&quot;, &quot;http://localhost:5984/_up&quot;] # Healthcheck for CouchDB
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 5s
</code></pre>
<h2 id="couchdb-initial-configuration">CouchDB &#8211; Initial Configuration</h2>
<ol>
<li>
<p>Go to the CouchDB admin page by going here: <a href="http://10.10.10.13:5984/_utils">http://10.10.10.13:5984/_utils</a> make sure to use your server&#8217;s IP address.</p>
</li>
<li>
<p>Login using the credentials you set in the Docker compose file.</p>
</li>
<li>
<p>Click on the <code>&lt;-&gt;</code> icon on the top left, it will expand the menu from simple icons to icons with text which will make following this guide easier.</p>
</li>
<li>
<p>Click on <code>Setup</code> on the left menu.</p>
</li>
<li>
<p>Click on <code>Configure as Single Node</code> and enter the same credentials from the Docker compose file into the <code>Specify your Admin credentials</code> fields.</p>
</li>
<li>
<p>Leave everything else the same and click <code>Configure Node</code>.</p>
</li>
</ol>
<h2 id="couchdb-verify-installation">CouchDB &#8211; Verify Installation</h2>
<ol>
<li>
<p>Let&#8217;s verify the CouchDB installation by clicking <code>Verify</code> on the left menu.</p>
</li>
<li>
<p>Click <code>Verify Installation</code> and if everything is good, a popup banner should popup saying <code>Success! Your CouchDB installation is working. Time to Relax.</code> along with 6 check marks next to each item in the table.</p>
</li>
</ol>
<h2 id="couchdb-create-database">CouchDB &#8211; Create Database</h2>
<ol>
<li>
<p>Click on the <code>Databases</code> on the left menu.</p>
</li>
<li>
<p>Click on <code>Create Database</code> on the top right.</p>
</li>
<li>
<p>Under <code>Database Name</code> enter <code>obsidiandb</code>, or whatever you like. Advice: if you intend to use this setup for multiple users, each user will need their own database, so I recommend naming the database to include the user&#8217;s first name like: <code>obsidiandb_john</code> or <code>obsidiandb_jane</code> just to make it easier in the future.</p>
</li>
<li>
<p>Under <code>Partitioning</code> select <code>Non-partitioned - recommended for most workloads</code>. Once the database is created, you should be redirected to the new database&#8217;s config page. You don&#8217;t have to do anything here.</p>
</li>
</ol>
<h2 id="couchdb-configuration">CouchDB &#8211; Configuration</h2>
<ol>
<li>
<p>Click on <code>Configuration</code> on the left main menu. The following 9 config entries are what the script was intended to do automatically but I wanted to do it manually. Click on <code>+ Add Option</code> on the top right for each entry:</p>
</li>
<li>
<p>Section: <code>chttpd</code> Name: <code>require_valid_user</code> Value: <code>true</code></p>
</li>
<li>
<p>Section: <code>chttpd_auth</code> Name: <code>require_valid_user</code> Value: <code>true</code></p>
</li>
<li>
<p>Section: <code>httpd</code> Name: <code>WWW-Authenticate</code> Value: <code>Basic realm=&quot;couchdb&quot;</code></p>
</li>
<li>
<p>Section: <code>httpd</code> Name: <code>enable_cors</code> Value: <code>true</code></p>
</li>
<li>
<p>Section: <code>chttpd</code> Name: <code>enable_cors</code> Value: <code>true</code></p>
</li>
<li>
<p>Section: <code>chttpd</code> Name: <code>max_http_request_size</code> Value: <code>4294967296</code></p>
</li>
<li>
<p>Section: <code>couchdb</code> Name: <code>max_document_size</code> Value: <code>50000000</code></p>
</li>
<li>
<p>Section: <code>cors</code> Name: <code>credentials</code> Value: <code>true</code></p>
</li>
<li>
<p>Section: <code>cors</code> Name: <code>origins</code> Value: `app://obsidian.md,capacitor://localhost,http://localhost</p>
</li>
</ol>
<h2 id="obsidian-windows-11-client">Obsidian &#8211; Windows 11 Client</h2>
<ol>
<li>
<p>Download and install the Windows 11 Obsidian client from <a href="https://obsidian.md/download">here.</a></p>
</li>
<li>
<p>Once installed, open Obsidian.</p>
</li>
<li>
<p>Next to <code>Create new vault</code> click the <code>Create</code> button next.</p>
</li>
<li>
<p>In the <code>Vault name</code> field, name your Vault whatever you like, I simply named mine <code>Vault</code>. You can think of a vault as a &quot;master folder&quot; that contains all your folders and notes. Some users have different vaults for different aspects of their lives, such as <code>Work</code> or <code>Personal</code> but I keep everything under one vault for ease of use.</p>
</li>
<li>
<p>Next setting is <code>Location</code>, click <code>Browse</code>. This is where your vault will be locally saved. I created an <code>Obsidian</code> folder in the <code>Documents</code> folder but you can put it anywhere you like.</p>
</li>
<li>
<p>Click <code>Create</code> and Obsidian should open up to your newly created vault with 3 window panes. Next step is to setup the LiveSync plugin.</p>
</li>
</ol>
<h2 id="obsidian-livesync-plugin">Obsidian &#8211; LiveSync Plugin</h2>
<ol>
<li>
<p>Click on <code>options</code> button (sprocket icon) on the bottom left area.</p>
</li>
<li>
<p>Click <code>Community plugins</code> and click on the <code>Turn on community plugins</code> button after reading the risk disclosure.</p>
</li>
<li>
<p>Next to <code>Community plugins</code> click on the <code>Browse</code> button.</p>
</li>
<li>
<p>Search for <code>Self-hosted LiveSync</code>.</p>
</li>
<li>
<p>Only 1 plugin should show up and that&#8217;s the one by <code>voratamoroz</code>, click on it.</p>
</li>
<li>
<p>Click the <code>Install</code> button and let it install.</p>
</li>
<li>
<p>Click the <code>Enable</code> button.</p>
</li>
<li>
<p>Click <code>Open setting dialog</code> button.</p>
</li>
<li>
<p>Click <code>Options</code> button.</p>
</li>
<li>
<p>Under <code>Settings for Self-hosted LiveSync.</code> you should see a row of 8 buttons, click on the 4th button with the <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f6f0.png" alt="🛰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> satellite icon.</p>
</li>
<li>
<p>This is where we will enter the self-hosted CouchDB details. Next to <code>Remote Type</code> make sure <code>CouchDB</code> is selected from the drop down menu.</p>
</li>
<li>
<p>In the <code>URI</code> field type <a href="http://10.10.10.13:5984">http://10.10.10.13:5984</a> make sure to change to your server IP and port. (Open the container online with HAProxy)</p>
</li>
<li>
<p>In the <code>Username</code> field type <code>osidian_user</code> or whatever you used in the docker compose.</p>
</li>
<li>
<p>Same for <code>Password</code> field.</p>
</li>
<li>
<p>In the <code>Database name</code> field type <code>obsidiandb</code> or whatever you named your database earlier in CouchDB.</p>
</li>
<li>
<p>Click the <code>Test</code> button to test the connection to the CouchDB database. Assuming everything is working properly a text popup should say <code>Connected to obsidiandb successfully</code>.</p>
</li>
<li>
<p>Click the <code>Check</code> button to confirm the database was configured properly, there should be a purple checkmark next to each line item. If not, there should be a <code>Fix</code> button next to the item that you can click for it to either create or correct for you, but I prefer to manually do it myself.</p>
</li>
<li>
<p>Assuming everything is good up to this point, click the <code>Apply</code> button next to <code>Apply Settings</code>.</p>
</li>
<li>
<p><strong>Optional but recommended:</strong> scroll down to the <code>End-to-end encryption</code> and toggle it on and set a passphrase. Please remember this passphrase as all your other devices must have matching passphrases for it to be able to decrypt your notes. Click the red button <code>Just apply</code>.</p>
</li>
<li>
<p>On the top menu, under <code>Settings for Self-hosted LiveSync.</code> you should see a row of 8 buttons, click on the 5th button with the <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> refresh icon.</p>
</li>
<li>
<p>Next to <code>Sync mode</code> select <code>LiveSync</code> from the drop down menu.</p>
</li>
<li>
<p>You can close the <code>settings</code> windows out, on the top right of the notes you should see <code>Sync: zZz</code> which means everything is working properly and the sync is in standby mode until you start typing something.</p>
</li>
<li>
<p>Repeat the above instructions for all other devices.</p>
</li>
</ol>
<h2 id="reverse-proxy">Reverse Proxy</h2>
<p>I highly recommend putting this behind at least a reverse proxy, I use Nginx Proxy Manager in conjunction with Cloudflare Tunnels. You will definitely need to if you plan on using mobile devices as they require HTTPS.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cajyl.com/en/guide-obsidian-with-free-self-hosted-instant-sync/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3565</post-id>	</item>
		<item>
		<title>Complete Guide to Vim Commands</title>
		<link>https://cajyl.com/en/complete-guide-to-vim-commands/</link>
					<comments>https://cajyl.com/en/complete-guide-to-vim-commands/#respond</comments>
		
		<dc:creator><![CDATA[Augustin]]></dc:creator>
		<pubDate>Thu, 25 Jul 2024 22:31:08 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Ordering]]></category>
		<guid isPermaLink="false">https://cajyl.com/?p=3549</guid>

					<description><![CDATA[Vim is a powerful and flexible text editor, widely used by developers for its speed and efficiency. Although its command-line interface can be intimidating for beginners, mastering its commands can&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Vim is a powerful and flexible text editor, widely used by developers for its speed and efficiency. Although its command-line interface can be intimidating for beginners, mastering its commands can greatly improve your productivity. Here&#8217;s a complete rundown of Vim&#8217;s essential commands.</p>



<h2 id="vim-modes" class="wp-block-heading">Vim modes</h2>



<p>Vim has several operating modes. The main ones are :</p>



<ul class="wp-block-list">
<li><strong>Normal mode</strong>: The default mode for navigating and executing commands.</li>



<li><strong>Insert mode</strong>: To insert text.</li>



<li><strong>Visual mode</strong>: To select text.</li>



<li><strong>Command mode</strong>: To execute specific commands.<br></li>
</ul>



<h3 id="switching-between-modes" class="wp-block-heading">Switching between modes</h3>



<ul class="wp-block-list">
<li><strong>Esc</strong>: Return to Normal mode.</li>



<li><strong>i</strong>: Switch to Insert mode to the left of the cursor.</li>



<li><strong>a</strong>: Switch to Insert mode to the right of the cursor.</li>



<li><strong>v</strong>: Switch to Visual mode.</li>



<li><strong>(colon)</strong>: Switch to Command mode from Normal mode.<br></li>
</ul>



<h2 id="navigation" class="wp-block-heading">Navigation</h2>



<p>Navigating efficiently is crucial in Vim. Here are some basic commands:</p>



<ul class="wp-block-list">
<li><strong>h</strong>: Move the cursor to the left.</li>



<li><strong>j</strong>: Move the cursor down.</li>



<li><strong>k</strong>: Move the cursor upwards.</li>



<li><strong>l</strong>: Move the cursor to the right.</li>



<li><strong>w</strong>: Go to the beginning of the next word.</li>



<li><strong>b</strong>: Go to the beginning of the previous word.</li>



<li><strong>0</strong>: Go to the beginning of the line.</li>



<li>$ <strong>:</strong> Go to the end of the line.</li>



<li><strong>gg</strong>: Go to the beginning of the file.</li>



<li><strong>G</strong>: Go to the end of the file.<br></li>
</ul>



<h2 id="text-editing" class="wp-block-heading">Text Editing</h2>



<p>Vim offers a host of commands for editing text efficiently.</p>



<h3 id="insert-text" class="wp-block-heading">Insert text</h3>



<ul class="wp-block-list">
<li><strong>i</strong>: Insert before the cursor.</li>



<li><strong>I</strong>: Insert at the beginning of the line.</li>



<li><strong>a</strong>: Insert after the cursor.</li>



<li><strong>A</strong>: Insert at the end of the line.</li>



<li><strong>o</strong>: Insert a new line underneath.</li>



<li><strong>O</strong>: Insert a new line above.<br></li>
</ul>



<h3 id="delete-from-text" class="wp-block-heading">Delete from text</h3>



<ul class="wp-block-list">
<li><strong>x</strong>: Delete the character below the cursor.</li>



<li><strong>dd</strong>: Delete the entire line.</li>



<li><strong>dw</strong>: Delete to the beginning of the next word.</li>



<li><strong>D</strong>: Delete to the end of the line.<br></li>
</ul>



<h3 id="copy-and-paste" class="wp-block-heading">Copy and Paste</h3>



<ul class="wp-block-list">
<li><strong>yy</strong>: Copy (yank) the entire line.</li>



<li><strong>yw</strong>: Copy the next word.</li>



<li><strong>p</strong>: Paste after the cursor.</li>



<li><strong>P</strong>: Paste before the cursor.<br></li>
</ul>



<h3 id="undo-and-redo" class="wp-block-heading">Undo and Redo</h3>



<ul class="wp-block-list">
<li><strong>u</strong>: Cancel the last order.</li>



<li><strong>Ctrl + r</strong>: Restore a cancelled command.<br></li>
</ul>



<h2 id="search-and-replacement" class="wp-block-heading">Search and replacement</h2>



<p>Searching for and replacing text are common operations in file editing.</p>



<h3 id="search" class="wp-block-heading">Search</h3>



<ul class="wp-block-list">
<li><strong>/</strong>: Search forwards in the file.</li>



<li><strong>?</strong>: Search backwards in the file.</li>



<li><strong>n</strong>: Go to the next occurrence.</li>



<li><strong>N</strong>: Go to the previous occurrence.<br></li>
</ul>



<h3 id="replacement" class="wp-block-heading">Replacement</h3>



<ul class="wp-block-list">
<li><strong>:s/old/new</strong>: Replace the first occurrence on the current line.</li>



<li><strong>:s/old/new/g</strong>: Replace all occurrences on the current line.</li>



<li><strong>:%s/old/new/g</strong>: Replace all occurrences in the entire file.<br></li>
</ul>



<h2 id="file-management" class="wp-block-heading">File Management</h2>



<p>File management commands are essential for opening, saving and closing files.</p>



<ul class="wp-block-list">
<li><strong>:e file_name</strong>: Open a file.</li>



<li><strong>:w</strong>: Save the current file.</li>



<li><strong>:w filename</strong>: Save under another name.</li>



<li><strong>:q</strong>: Exit Vim.</li>



<li><strong>:q!</strong> Quit without saving.</li>



<li><strong>:wq</strong>: Save and exit.<br></li>
</ul>



<h2 id="conclusion" class="wp-block-heading">Conclusion</h2>



<p>Vim is a powerful tool that can dramatically improve your workflow. Start with these basic commands and explore the many advanced features Vim has to offer. With practice, you&#8217;ll find that Vim becomes an indispensable tool in your development arsenal.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cajyl.com/en/complete-guide-to-vim-commands/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3549</post-id>	</item>
		<item>
		<title>Bitwarden: The Ultimate Password Management Solution</title>
		<link>https://cajyl.com/en/bitwarden-the-ultimate-password-management-solution/</link>
					<comments>https://cajyl.com/en/bitwarden-the-ultimate-password-management-solution/#respond</comments>
		
		<dc:creator><![CDATA[Augustin]]></dc:creator>
		<pubDate>Fri, 19 Jul 2024 03:47:29 +0000</pubDate>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">https://cajyl.com/?p=3490</guid>

					<description><![CDATA[Bitwarden is an open-source password manager that has gained popularity thanks to its robust security, flexibility and wide range of features. In this article, we&#8217;ll explore in detail why Bitwarden&#8230;]]></description>
										<content:encoded><![CDATA[
<p><a href="https://bitwarden.com"><strong>Bitwarden</strong></a> is an open-source password manager that has gained popularity thanks to its robust security, flexibility and wide range of features. In this article, we&#8217;ll explore in detail why Bitwarden is an essential solution for managing your passwords, whether for personal or business use.</p>



<h2 id="why-choose-bitwarden" class="wp-block-heading">Why choose Bitwarden?</h2>



<h3 id="1-high-level-safety" class="wp-block-heading">1. <strong>High-level safety</strong></h3>



<p>Security is Bitwarden&#8217;s top priority. Here are some of the security features that make Bitwarden a first choice option:</p>



<ul class="wp-block-list">
<li>End-to-end<strong>encryption</strong>: All passwords and sensitive data are encrypted locally on your device before being sent to Bitwarden&#8217;s servers. This means that only you can decrypt your data.</li>



<li><strong>Open Source</strong>: Bitwarden&#8217;s source code is open and available for public review on <a href="https://github.com/bitwarden">GitHub</a>. This allows the community to check the integrity of the code and contribute to its improvement.</li>



<li><strong>Two-factor authentication (2FA)</strong>: Bitwarden supports a variety of two-factor authentication methods to add an extra layer of security to your account.<br></li>
</ul>



<h3 id="2-ease-of-use" class="wp-block-heading">2. <strong>Ease of use</strong></h3>



<p>Bitwarden is designed to be intuitive and easy to use. Whether you are a beginner or an experienced user, you will find Bitwarden&#8217;s interface simple and user-friendly.</p>



<ul class="wp-block-list">
<li><strong>Browser extensions</strong>: Bitwarden offers extensions for all popular browsers, allowing you to automatically fill in your passwords and save them directly from your browser.</li>



<li><strong>Mobile applications</strong>: Bitwarden applications for iOS and Android allow you to manage your passwords on the move.</li>



<li><strong>Desktop Application and Web Interface</strong>: You can access your passwords from any device thanks to Bitwarden&#8217;s desktop applications and web interface.<br></li>
</ul>



<h3 id="3-multi-device-synchronisation" class="wp-block-heading">3. <strong>Multi-device synchronisation</strong></h3>



<p>Bitwarden synchronises your passwords and other sensitive data on all your devices in real time. Whether you add a new password on your phone or computer, it will be immediately available on all your other devices.</p>



<h3 id="4-advanced-features" class="wp-block-heading">4. <strong>Advanced features</strong></h3>



<p>Bitwarden offers a range of advanced features that make it more than just a password manager:</p>



<ul class="wp-block-list">
<li><strong>Password Generator</strong>: Bitwarden can generate strong, unique passwords for each account, minimising security risks.</li>



<li><strong>Secure Sharing</strong>: You can share passwords and other sensitive information securely with other Bitwarden users.</li>



<li><strong>Secure Note Storage</strong>: In addition to passwords, Bitwarden allows you to store secure notes, credit card information and other sensitive data.<br></li>
</ul>



<h3 id="5-affordable-and-flexible-plans" class="wp-block-heading">5. <strong>Affordable and flexible plans</strong></h3>



<p>Bitwarden offers a feature-rich free version, as well as affordable premium plans that add extra functionality:</p>



<ul class="wp-block-list">
<li><strong>Free Plan</strong>: Includes most of the basic functions, sufficient for personal use.</li>



<li><strong>Premium Plan</strong>: For a small fee, you get advanced features such as two-factor authentication with U2F keys, 1GB of encrypted file storage, and password health reports.</li>



<li><strong>Family and business plans</strong>: Bitwarden also offers plans for families and businesses, facilitating the shared management of passwords and sensitive information.<br></li>
</ul>



<h2 id="conclusion" class="wp-block-heading">Conclusion</h2>



<p>Bitwarden stands out as one of the best password management solutions thanks to its robust security, ease of use and flexibility. Whether you are looking to secure your personal accounts or manage your corporate passwords, Bitwarden offers a complete and reliable solution.</p>



<h3 id="useful-links" class="wp-block-heading">Useful links</h3>



<ul class="wp-block-list">
<li><a href="https://bitwarden.com">Official website of Bitwarden</a></li>



<li><a href="https://bitwarden.com/help/">Bitwarden documentation</a></li>



<li><a href="https://github.com/bitwarden">Bitwarden GitHub repository</a><br></li>
</ul>



<p>Share your experiences with Bitwarden and ask your questions in the comments section!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cajyl.com/en/bitwarden-the-ultimate-password-management-solution/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3490</post-id>	</item>
		<item>
		<title>PeerTube: Decentralised Video Sharing Platform</title>
		<link>https://cajyl.com/en/peertube-decentralised-video-sharing-platform/</link>
					<comments>https://cajyl.com/en/peertube-decentralised-video-sharing-platform/#respond</comments>
		
		<dc:creator><![CDATA[Augustin]]></dc:creator>
		<pubDate>Fri, 19 Jul 2024 02:55:39 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Docker Compose]]></category>
		<category><![CDATA[Docker Container]]></category>
		<guid isPermaLink="false">https://cajyl.com/?p=3425</guid>

					<description><![CDATA[PeerTube is an open source platform for creating a decentralised video-sharing network, offering an alternative to centralised platforms such as YouTube. Thanks to its decentralised structure, PeerTube allows anyone to&#8230;]]></description>
										<content:encoded><![CDATA[
<p><a href="https://joinpeertube.org">PeerTube</a> is an open source platform for creating a decentralised video-sharing network, offering an alternative to centralised platforms such as YouTube. Thanks to its decentralised structure, PeerTube allows anyone to create their own video-sharing server, while interconnecting the various servers to form a global network. This article explores the main advantages of PeerTube and provides a detailed guide to installing it using Docker Compose.</p>



<h2 id="why-choose-peertube" class="wp-block-heading">Why choose PeerTube?</h2>



<h3 id="1-decentralisation" class="wp-block-heading">1. <strong>Decentralisation</strong></h3>



<p>PeerTube is based on a decentralised architecture, which means that videos are hosted on several independent servers instead of a single centralised platform. This reduces dependency on a single entity and improves resilience and confidentiality.</p>



<h3 id="2-open-source-and-free" class="wp-block-heading">2. <strong>Open Source and Free</strong></h3>



<p>PeerTube is entirely open source, allowing users to modify and customise the software to suit their needs. You can visit the <a href="https://github.com/Chocobozzz/PeerTube">PeerTube GitHub repository</a> to access the source code, suggest improvements or report problems.</p>



<h3 id="3-total-control" class="wp-block-heading">3. <strong>Total control</strong></h3>



<p>By hosting your own instance of PeerTube, you have complete control over content, privacy settings and moderation policies. This allows you to create a video sharing environment that perfectly matches your needs and values.</p>



<h3 id="4-interoperability" class="wp-block-heading">4. <strong>Interoperability</strong></h3>



<p>PeerTube allows different PeerTube servers to be interconnected via the ActivityPub protocol, enabling users to share and discover videos between different servers. This encourages a global community while allowing local autonomy.</p>



<h3 id="5-easy-to-install" class="wp-block-heading">5. <strong>Easy to install</strong></h3>



<p>Installing PeerTube via Docker Compose is quick and easy, allowing you to deploy a video sharing server in just a few minutes.</p>



<h2 id="installing-peertube-with-docker-compose" class="wp-block-heading">Installing PeerTube with Docker Compose</h2>



<p>Installing PeerTube via Docker Compose is straightforward. Here is a step-by-step guide to setting up PeerTube on your server.</p>



<h3 id="prerequisites" class="wp-block-heading">Prerequisites</h3>



<p>Before you start, make sure that Docker and Docker Compose are installed on your server. You can install them using the following commands:</p>



<pre class="wp-block-code"><code>sudo apt update
sudo apt install docker.io docker-compose -y
</code></pre>



<h3 id="creating-the-docker-compose-file" class="wp-block-heading">Creating the Docker Compose file</h3>



<p>Create a <code>docker-compose.yml</code> file in a directory of your choice. This file will contain the configuration needed to deploy PeerTube. Use the following code to configure PeerTube:</p>



<pre class="wp-block-code"><code>version: '3'

services:
  peertube:
    image: chocobozzz/peertube:latest
    container_name: peertube
    ports:
      - "9000:9000"
    volumes:
      - ./peertube_data:/var/www/peertube
    environment:
      - NODE_ENV=production
      - DATABASE_URL=postgres://peertube:peertube@db:5432/peertube
      - REDIS_URL=redis://redis:6379
    depends_on:
      - db
      - redis
    restart: always

  db:
    image: postgres:latest
    container_name: peertube-db
    volumes:
      - ./db_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=peertube
      - POSTGRES_PASSWORD=peertube
      - POSTGRES_DB=peertube

  redis:
    image: redis:latest
    container_name: peertube-redis
    volumes:
      - ./redis_data:/data
</code></pre>



<h4 id="explanations" class="wp-block-heading">Explanations</h4>



<ul class="wp-block-list">
<li><strong>peertube</strong>:</li>



<li><strong>image</strong>: Indicates the official PeerTube Docker image.</li>



<li><strong>container_name</strong>: Name of the container for easy identification.</li>



<li><strong>ports</strong>: Map port 9000 on the container to port 9000 on the host to access the PeerTube web interface.</li>



<li><strong>volumes</strong>: Create a local directory to store persistent PeerTube data. Create the <code>peertube_data</code> directory in the same directory as your <code>docker-compose.yml</code> file.</li>



<li><strong>environment</strong>: Defines the environment variables needed to configure PeerTube.<br></li>



<li><strong>db</strong>:</li>



<li><strong>image</strong>: Indicates the official Docker image of PostgreSQL, the database used by PeerTube.</li>



<li><strong>container_name</strong>: Name of the container for easy identification.</li>



<li><strong>volumes</strong>: Create a local directory to store the database data. Create the <code>db_data</code> directory in the same directory as your <code>docker-compose.yml</code> file.</li>



<li><strong>environment</strong>: Defines the environment variables for configuring PostgreSQL.<br></li>



<li><strong>again</strong>:</li>



<li><strong>image</strong>: Indicates the official Redis Docker image, used for caching and sessions.</li>



<li><strong>container_name</strong>: Name of the container for easy identification.</li>



<li><strong>volumes</strong>: Create a local directory to store Redis data. Create the <code>redis_data</code> directory in the same directory as your <code>docker-compose.yml</code> file.<br></li>
</ul>



<h3 id="launch-peertube" class="wp-block-heading">Launch PeerTube</h3>



<p>Once you have created the <code>docker-compose.yml</code> file, launch PeerTube with the following command:</p>



<pre class="wp-block-code"><code>sudo docker-compose up -d
</code></pre>



<p>This command downloads the Docker images, creates the containers, and starts PeerTube, PostgreSQL, and Redis in the background. You can access the PeerTube web interface by opening a browser and navigating to <code>http://:9000</code>.</p>



<h3 id="initial-configuration" class="wp-block-heading">Initial configuration</h3>



<p>When you first connect to the PeerTube interface, follow the on-screen instructions to complete the initial configuration. You will then be able to create users, customise settings and start sharing videos.</p>



<h2 id="conclusion" class="wp-block-heading">Conclusion</h2>



<p>PeerTube is a powerful and flexible platform for creating and managing a decentralised video-sharing network. With its easy installation via Docker Compose and extensive customisation capabilities, PeerTube is an excellent choice for those looking to manage their own video-sharing platform while respecting decentralisation and privacy.</p>



<h3 id="useful-links" class="wp-block-heading">Useful links</h3>



<ul class="wp-block-list">
<li><a href="https://joinpeertube.org">PeerTube official website</a></li>



<li><a href="https://github.com/Chocobozzz/PeerTube">PeerTube GitHub repository</a></li>



<li><a href="https://docs.joinpeertube.org">Official PeerTube documentation</a><br></li>
</ul>



<p>Share your experiences with PeerTube and ask your questions in the comments section!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cajyl.com/en/peertube-decentralised-video-sharing-platform/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3425</post-id>	</item>
		<item>
		<title>Plex : The Complete Solution for Your Personal Multimedia Centre</title>
		<link>https://cajyl.com/en/plex-the-complete-solution-for-your-personal-multimedia-centre/</link>
					<comments>https://cajyl.com/en/plex-the-complete-solution-for-your-personal-multimedia-centre/#respond</comments>
		
		<dc:creator><![CDATA[Augustin]]></dc:creator>
		<pubDate>Fri, 19 Jul 2024 02:55:29 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Docker Compose]]></category>
		<category><![CDATA[Docker Container]]></category>
		<guid isPermaLink="false">https://cajyl.com/?p=3410</guid>

					<description><![CDATA[Plex is a powerful solution for creating a personal multimedia centre at home. With Plex, you can organise and distribute your films, TV series, music and photos across all your&#8230;]]></description>
										<content:encoded><![CDATA[
<p><a href="https://www.plex.tv">Plex</a> is a powerful solution for creating a personal multimedia centre at home. With Plex, you can organise and distribute your films, TV series, music and photos across all your devices. With its elegant interface and advanced features, Plex makes managing your media content a simple and enjoyable experience. This article explores the benefits of Plex and provides a detailed guide to installing it using Docker Compose.</p>



<h2 id="why-choose-plex" class="wp-block-heading">Why choose Plex?</h2>



<h3 id="1-centralised-organisation" class="wp-block-heading">1. <strong>Centralised organisation</strong></h3>



<p>Plex lets you centralise all your media &#8211; whether films, TV series, music or photos &#8211; in a single library that can be accessed from any device. You can easily organise and categorise your content for quick and intuitive access.</p>



<h3 id="2-streaming-on-all-devices" class="wp-block-heading">2. <strong>Streaming on All Devices</strong></h3>



<p>Plex supports the streaming of your media to a variety of devices, including smartphones, tablets, computers, and smart TVs. Whether you&#8217;re at home or on the move, you can access your media wherever you are.</p>



<h3 id="3-elegant-and-intuitive-interface" class="wp-block-heading">3. <strong>Elegant and intuitive interface</strong></h3>



<p>The Plex interface is modern and easy to navigate. It offers detailed information about your media, such as film posters, series summaries and information about music artists, enhancing your viewing experience.</p>



<h3 id="4-advanced-features" class="wp-block-heading">4. <strong>Advanced features</strong></h3>



<p>Plex offers advanced features such as offline synchronisation, metadata management and the ability to share your library with other users. The Plex Pass version offers even more features, such as live streaming and TV recording.</p>



<h3 id="5-ease-of-installation" class="wp-block-heading">5. <strong>Ease of installation</strong></h3>



<p>Installing Plex via Docker Compose is quick and easy, allowing you to quickly configure your personal media server.</p>



<h2 id="installing-plex-with-docker-compose" class="wp-block-heading">Installing Plex with Docker Compose</h2>



<p>Installing Plex via Docker Compose is a straightforward process. Here&#8217;s a step-by-step guide to configuring Plex on your server.</p>



<h3 id="prerequisites" class="wp-block-heading">Prerequisites</h3>



<p>Before you start, make sure that Docker and Docker Compose are installed on your server. You can install them using the following commands:</p>



<pre class="wp-block-code"><code>sudo apt update
sudo apt install docker.io docker-compose -y
</code></pre>



<h3 id="creating-the-docker-compose-file" class="wp-block-heading">Creating the Docker Compose file</h3>



<p>Create a <code>docker-compose.yml</code> file in a directory of your choice. This file will contain the configuration needed to deploy Plex. Use the following code to configure Plex:</p>



<pre class="wp-block-code"><code>version: '3'

services:
  plex:
    image: plexinc/pms-docker:latest
    container_name: plex
    ports:
      - "32400:32400"
    volumes:
      - ./config:/config
      - ./data:/data
    restart: always
    environment:
      - PLEX_CLAIM=your_plex_claim_token
      - ADVERTISE_IP=http://&lt;your-server-ip&gt;:32400/
      - PLEX_UID=1000
      - PLEX_GID=1000
</code></pre>



<h4 id="explanations" class="wp-block-heading">Explanations</h4>



<ul class="wp-block-list">
<li><strong>image</strong>: Indicates the official Plex Docker image.</li>



<li><strong>container_name</strong>: Name of the container for easy identification.</li>



<li><strong>ports</strong>: Maps port 32400 on the container to port 32400 on the host to access the Plex web interface.</li>



<li><strong>volumes</strong>: Set up local directories to store Plex configurations and data. Create the <code>config</code> and <code>data</code> directories in the same directory as your <code>docker-compose.yml</code> file.</li>



<li><strong>environment</strong>: Sets the environment variables required for Plex. Replace <code>your_plex_claim_token</code> with your Plex claim token. You can obtain a token from <a href="https://www.plex.tv/claim/">Plex Claim</a>.<br></li>
</ul>



<h3 id="launch-plex" class="wp-block-heading">Launch Plex</h3>



<p>Once you have created the <code>docker-compose.yml</code> file, run Plex with the following command:</p>



<pre class="wp-block-code"><code>sudo docker-compose up -d
</code></pre>



<p>This command downloads the Docker image, creates the container and starts Plex in the background. You can access the Plex web interface by opening a browser and navigating to <code>http://:32400/web</code>.</p>



<h3 id="initial-configuration" class="wp-block-heading">Initial configuration</h3>



<p>When you first connect to the Plex interface, you&#8217;ll need to follow the on-screen instructions to complete the initial configuration. You will be able to add your media libraries, configure your server settings, and invite users to share your content.</p>



<h2 id="conclusion" class="wp-block-heading">Conclusion</h2>



<p>Plex is a complete solution for managing and distributing your personal media. Easy to install via Docker Compose and packed with features, it transforms the way you access your media content. Using Plex, you can create a personal media centre that meets all your entertainment needs.</p>



<h3 id="useful-links" class="wp-block-heading">Useful links</h3>



<ul class="wp-block-list">
<li><a href="https://www.plex.tv">Official Plex website</a></li>



<li><a href="https://github.com/plexinc">Plex GitHub repository</a></li>



<li><a href="https://support.plex.tv/articles/200250850-plex-media-server/">Official Plex documentation</a><br></li>
</ul>



<p>Share your experiences with Plex and ask your questions in the comments section!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cajyl.com/en/plex-the-complete-solution-for-your-personal-multimedia-centre/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3410</post-id>	</item>
		<item>
		<title>Portainer: Simplified management of Docker containers</title>
		<link>https://cajyl.com/en/portainer-simplified-management-of-docker-containers/</link>
					<comments>https://cajyl.com/en/portainer-simplified-management-of-docker-containers/#respond</comments>
		
		<dc:creator><![CDATA[Augustin]]></dc:creator>
		<pubDate>Fri, 19 Jul 2024 02:54:47 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Docker Compose]]></category>
		<category><![CDATA[Docker Container]]></category>
		<category><![CDATA[Open Source]]></category>
		<guid isPermaLink="false">https://cajyl.com/?p=3406</guid>

					<description><![CDATA[Portainer is an open source tool that simplifies the management of Docker containers thanks to a user-friendly graphical user interface (GUI). Whether you&#8217;re an experienced system administrator or new to&#8230;]]></description>
										<content:encoded><![CDATA[
<p><a href="https://www.portainer.io">Portainer</a> is an open source tool that simplifies the management of Docker containers thanks to a user-friendly graphical user interface (GUI). Whether you&#8217;re an experienced system administrator or new to the world of Docker, Portainer makes it easy to manage and orchestrate your containers with an intuitive interface. This article explores the key benefits of Portainer and provides a step-by-step guide to installing it using Docker Compose.</p>



<h2 id="why-choose-portainer" class="wp-block-heading">Why choose Portainer?</h2>



<h3 id="1-user-friendly-graphical-interface" class="wp-block-heading">1. <strong>User-friendly graphical interface</strong></h3>



<p>Portainer offers an easy-to-use graphical interface for managing your Docker containers. You can view, deploy and manage your services, volumes and networks from a centralised dashboard.</p>



<h3 id="2-multi-host-management" class="wp-block-heading">2. <strong>Multi-host management</strong></h3>



<p>Portainer allows you to manage multiple Docker hosts from a single interface. This is particularly useful for production environments or clustered deployments, where you can monitor and control several Docker servers at the same time.</p>



<h3 id="3-image-and-container-management" class="wp-block-heading">3. <strong>Image and container management</strong></h3>



<p>With Portainer, you can easily pull, delete and manage Docker images. It also makes it easy to deploy new containers and manage those already running.</p>



<h3 id="4-ease-of-installation" class="wp-block-heading">4. <strong>Ease of installation</strong></h3>



<p>Installing Portainer is quick and easy, especially when using Docker Compose. You can configure and start up Portainer in just a few minutes.</p>



<h3 id="5-security-and-user-management" class="wp-block-heading">5. <strong>Security and User Management</strong></h3>



<p>Portainer allows you to manage users and permissions, giving you granular control over access and authorised operations in your Docker environment.</p>



<h2 id="installing-portainer-with-docker-compose" class="wp-block-heading">Installing Portainer with Docker Compose</h2>



<p>Installing Portainer via Docker Compose is a simple process. Here&#8217;s a step-by-step guide to help you set up Portainer on your server.</p>



<h3 id="prerequisites" class="wp-block-heading">Prerequisites</h3>



<p>Before you start, make sure that Docker and Docker Compose are installed on your server. You can install them using the following commands:</p>



<pre class="wp-block-code"><code>sudo apt update
sudo apt install docker.io docker-compose -y
</code></pre>



<h3 id="creating-the-docker-compose-file" class="wp-block-heading">Creating the Docker Compose file</h3>



<p>Create a <code>docker-compose.yml</code> file in a directory of your choice. This file will contain the configuration required to deploy Portainer. Use the following code to configure Portainer:</p>



<pre class="wp-block-code"><code>version: '3'

services:
  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    restart: always

volumes:
  portainer_data:
</code></pre>



<h4 id="explanations" class="wp-block-heading">Explanations</h4>



<ul class="wp-block-list">
<li><strong>image</strong>: Indicates the official Portainer Docker image.</li>



<li><strong>container_name</strong>: Name of the container for easy identification.</li>



<li><strong>ports</strong>: Maps port 9000 on the container to port 9000 on the host to access the web interface.</li>



<li><strong>volumes</strong>: Mounts the Docker socket and a volume for storing persistent Portainer data.</li>



<li><strong>restart</strong>: Configures the container to restart automatically in the event of a problem.<br></li>
</ul>



<h3 id="launch-portainer" class="wp-block-heading">Launch Portainer</h3>



<p>Once you have created the <code>docker-compose.yml</code> file, run Portainer with the following command:</p>



<pre class="wp-block-code"><code>sudo docker-compose up -d
</code></pre>



<p>This command downloads the Docker image, creates the container and starts Portainer in the background. You can access the Portainer web interface by opening a browser and navigating to <code>http://:9000</code>.</p>



<h3 id="initial-configuration" class="wp-block-heading">Initial configuration</h3>



<p>When you first connect to the Portainer interface, you will need to create an administrator user and configure access to your Docker hosts. Follow the on-screen instructions to complete the initial configuration.</p>



<h2 id="conclusion" class="wp-block-heading">Conclusion</h2>



<p>Portainer is an essential tool for anyone working with Docker. With its user-friendly graphical interface and powerful features, it makes it easy to manage Docker containers and hosts. Installation with Docker Compose is quick and easy, allowing you to deploy Portainer in no time.</p>



<h3 id="useful-links" class="wp-block-heading">Useful links</h3>



<ul class="wp-block-list">
<li><a href="https://www.portainer.io">Official Portainer website</a></li>



<li><a href="https://github.com/portainer/portainer">Portainer GitHub repository</a></li>



<li><a href="https://docs.portainer.io">Official Portainer documentation</a><br></li>
</ul>



<p>Share your experiences with Portainer and ask your questions in the comments section!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cajyl.com/en/portainer-simplified-management-of-docker-containers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3406</post-id>	</item>
		<item>
		<title>Uptime Kuma : Simple and Efficient Open Source Monitoring with Docker</title>
		<link>https://cajyl.com/en/uptime-kuma-simple-and-efficient-open-source-monitoring-with-docker/</link>
					<comments>https://cajyl.com/en/uptime-kuma-simple-and-efficient-open-source-monitoring-with-docker/#respond</comments>
		
		<dc:creator><![CDATA[Augustin]]></dc:creator>
		<pubDate>Fri, 19 Jul 2024 01:06:22 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Docker Compose]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[Open Source]]></category>
		<guid isPermaLink="false">https://cajyl.com/?p=3321</guid>

					<description><![CDATA[When it comes to monitoring online services, Uptime Kuma stands out as a powerful open source solution, offering a free alternative to paid monitoring services such as Uptime Robot and&#8230;]]></description>
										<content:encoded><![CDATA[
<p>When it comes to monitoring online services, <a href="https://uptime.kuma">Uptime Kuma</a> stands out as a powerful open source solution, offering a free alternative to paid monitoring services such as Uptime Robot and Pingdom. With its user-friendly interface and extensive functionality, Uptime Kuma is ideal for monitoring your websites and network services effectively. This article explores the benefits of Uptime Kuma and provides a detailed guide to installing it using Docker Compose.</p>



<h2 id="why-choose-uptime-kuma" class="wp-block-heading">Why choose Uptime Kuma?</h2>



<h3 id="1-open-source-and-free" class="wp-block-heading">1. <strong>Open Source and Free</strong></h3>



<p>Uptime Kuma is an open source tool, which means that you can access the source code free of charge, modify it and adapt it to your needs. This approach guarantees transparency and flexibility. You can consult the <a href="https://github.com/louislam/uptime-kuma">Uptime Kuma GitHub repository</a> to access the code, report bugs or contribute to development.</p>



<h3 id="2-ease-of-installation-and-use" class="wp-block-heading">2. <strong>Ease of installation and use</strong></h3>



<p>Uptime Kuma is designed to be easy to install and use. Its <a href="https://github.com/louislam/uptime-kuma">official documentation</a> guides users through the configuration steps. The user interface is intuitive, enabling rapid management of monitors and simplified configuration of alerts.</p>



<h3 id="3-multimodal-surveillance" class="wp-block-heading">3. <strong>Multimodal surveillance</strong></h3>



<p>Uptime Kuma offers comprehensive monitoring using multiple protocols such as HTTP(s), TCP, and ICMP. This makes it possible to monitor various types of services and quickly detect problems before they affect users.</p>



<h3 id="4-alerts-and-notifications" class="wp-block-heading">4. <strong>Alerts and Notifications</strong></h3>



<p>You can set up alerts to let you know if there are any problems with your services. Uptime Kuma supports a variety of notification channels, including email and Slack, ensuring that you stay informed of interruptions or failures in real time.</p>



<h3 id="5-alternative-to-paid-services" class="wp-block-heading">5. <strong>Alternative to Paid Services</strong></h3>



<p>Uptime Kuma is a free alternative to paid monitoring tools such as Uptime Robot and Pingdom. It offers similar functionality at no cost, making it an attractive option for users looking to monitor their services at no extra cost.</p>



<h2 id="installing-uptime-kuma-with-docker-compose" class="wp-block-heading">Installing Uptime Kuma with Docker Compose</h2>



<p>Installing Uptime Kuma via Docker Compose is quick and easy. Here&#8217;s a step-by-step guide to configuring this tool on your server.</p>



<h3 id="prerequisites" class="wp-block-heading">Prerequisites</h3>



<p>Before installing Uptime Kuma, make sure that Docker and Docker Compose are installed on your server. You can install them using the following commands:</p>



<pre class="wp-block-code"><code>sudo apt update
sudo apt install docker.io docker-compose -y
</code></pre>



<h3 id="creating-the-docker-compose-file" class="wp-block-heading">Creating the Docker Compose file</h3>



<p>Create a <code>docker-compose.yml</code> file in a directory of your choice. This file will contain the configuration needed to deploy Uptime Kuma. Use the following code to configure Uptime Kuma:</p>



<pre class="wp-block-code"><code>version: '3'

services:
  uptime-kuma:
    image: louislam/uptime-kuma:latest
    container_name: uptime-kuma
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./data:/app/data
    restart: always
</code></pre>



<h4 id="explanations" class="wp-block-heading">Explanations</h4>



<ul class="wp-block-list">
<li><strong>image</strong>: Indicates the official Uptime Kuma Docker image.</li>



<li><strong>container_name</strong>: Name of the container for easy identification.</li>



<li><strong>ports</strong>: Maps container ports to host ports. Ports 80 and 443 are exposed for HTTP and HTTPS.</li>



<li><strong>volumes</strong>: Create a local volume to store persistent data. Create the <code>data</code> directory in the same directory as your <code>docker-compose.yml</code> file.</li>



<li><strong>restart</strong>: Configures the container to restart automatically in the event of a problem.<br></li>
</ul>



<h3 id="lancer-uptime-kuma" class="wp-block-heading">Lancer Uptime Kuma</h3>



<p>Once you have created the <code>docker-compose.yml</code> file, run Uptime Kuma with the following command:</p>



<pre class="wp-block-code"><code>sudo docker-compose up -d
</code></pre>



<p>This command downloads the Docker image, creates the container and starts Uptime Kuma in the background. You can access the Uptime Kuma web interface by opening a browser and navigating to <code>http://</code>.</p>



<h3 id="initial-configuration" class="wp-block-heading">Initial configuration</h3>



<p>After accessing the Uptime Kuma interface, follow the on-screen instructions to complete the initial configuration. You&#8217;ll be able to add services to be monitored, set up alerts and customise settings to suit your needs.</p>



<h2 id="conclusion" class="wp-block-heading">Conclusion</h2>



<p>Uptime Kuma is an open source monitoring solution that offers a free and effective alternative to paid monitoring tools. With its extensive functionality and user-friendly interface, it&#8217;s ideal for monitoring your online services. Using Docker Compose for installation, you can easily deploy Uptime Kuma on your server.</p>



<h3 id="useful-links" class="wp-block-heading">Useful links</h3>



<ul class="wp-block-list">
<li><a href="https://uptime.kuma">Uptime Kuma official website</a></li>



<li><a href="https://github.com/louislam/uptime-kuma">Uptime Kuma GitHub repository</a></li>



<li><a href="https://github.com/louislam/uptime-kuma">Official Uptime Kuma documentation</a><br></li>
</ul>



<p>Share your impressions and ask your questions in the comments section!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://cajyl.com/en/uptime-kuma-simple-and-efficient-open-source-monitoring-with-docker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3321</post-id>	</item>
		<item>
		<title>Synology: The Ultimate NAS for Your Home and Office</title>
		<link>https://cajyl.com/en/synology-the-ultimate-nas-for-your-home-and-office/</link>
					<comments>https://cajyl.com/en/synology-the-ultimate-nas-for-your-home-and-office/#respond</comments>
		
		<dc:creator><![CDATA[Augustin]]></dc:creator>
		<pubDate>Thu, 18 Jul 2024 23:38:11 +0000</pubDate>
				<category><![CDATA[Homelab]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Synology]]></category>
		<guid isPermaLink="false">https://cajyl.com/?p=3310</guid>

					<description><![CDATA[In today&#8217;s digital world, managing and protecting your data is more crucial than ever. Synology, a leader in Network Attached Storage (NAS), offers robust and versatile solutions to meet these&#8230;]]></description>
										<content:encoded><![CDATA[
<p>In today&#8217;s digital world, managing and protecting your data is more crucial than ever. Synology, a leader in Network Attached Storage (NAS), offers robust and versatile solutions to meet these needs. In this article, we&#8217;ll explore what a Synology NAS is, why you need one, how to set it up, and the essential features to maximise its use.</p>



<h2 id="introduction-to-synology" class="wp-block-heading">Introduction to Synology</h2>



<h3 id="what-is-a-nas" class="wp-block-heading">What is a NAS?</h3>



<p>A NAS, or Network Attached Storage, is a storage device connected to your home or office network. Unlike a traditional external hard drive, a NAS allows multiple users and devices to access and share data centrally. Synology stands out for its performance, reliability and user-friendly interface.</p>



<h3 id="why-choose-synology" class="wp-block-heading">Why choose Synology?</h3>



<p>Here are a few reasons why Synology is an excellent choice for a NAS :</p>



<ol class="wp-block-list">
<li><strong>Easy to use</strong>: Synology&#8217;s DSM (DiskStation Manager) interface is intuitive and easy to use, even for beginners.</li>



<li><strong>Security</strong>: Synology offers robust backup and restore options, as well as data protection tools such as encryption and snapshots.</li>



<li><strong>Flexibility</strong>: With a wide range of models, Synology offers solutions adapted to all needs, from home storage to corporate infrastructures.</li>



<li><strong>Rich Ecosystem</strong>: Synology has a vast library of applications to extend the functionality of your NAS, such as media servers, backup solutions, and more.<br></li>
</ol>



<h2 id="installing-and-configuring-your-synology-nas" class="wp-block-heading">Installing and configuring your Synology NAS</h2>



<h3 id="preparation" class="wp-block-heading">Preparation</h3>



<p>Before you start, make sure you have the following items:</p>



<ul class="wp-block-list">
<li>Your Synology NAS</li>



<li>Compatible hard drives</li>



<li>Internet connection</li>



<li>A computer for initial configuration<br></li>
</ul>



<h3 id="physical-installation" class="wp-block-heading">Physical installation</h3>



<ol class="wp-block-list">
<li><strong>Insert the hard disks</strong>: Open the casing of your NAS and insert the hard disks into the available bays. Follow the instructions specific to your model.</li>



<li><strong>Connect the NAS</strong>: Plug your NAS into a power socket and connect it to your router via an Ethernet cable.<br></li>
</ol>



<h3 id="initial-configuration" class="wp-block-heading">Initial configuration</h3>



<ol class="wp-block-list">
<li><strong>Turn on the NAS</strong>: Press the power button to start the NAS.</li>



<li><strong>Access the DSM interface</strong>: Use a web browser to navigate to &#8220;find.synology.com&#8221; or the local IP of your NAS. Follow the on-screen instructions to install DSM.</li>



<li><strong>Create an admin account</strong>: Set up an administrator account to secure access to your NAS.</li>



<li><strong>Configure RAID</strong>: Synology offers a hybrid technology, Synology Hybrid RAID (SHR) and SHR-2, offering redundancy of 1 or 2 disks. Unlike traditional RAIDs, SHR allows greater flexibility, making it easier to add disks of different sizes while optimising the use of storage space. SHR-2 offers additional protection by tolerating the failure of two disks simultaneously, which is particularly useful for critical storage configurations.<br></li>
</ol>



<h2 id="synology-essential-features" class="wp-block-heading">Synology Essential Features</h2>



<h3 id="file-management" class="wp-block-heading">File Management</h3>



<p>Synology makes file management easy with File Station, a web application that makes browsing, transferring and organizing your files a breeze.</p>



<h3 id="backup-and-restore" class="wp-block-heading">Backup and Restore</h3>



<ol class="wp-block-list">
<li><strong>Hyper Backup</strong>: This application lets you schedule and run backups to different locations (external disks, other NAS, cloud services).</li>



<li><strong>Snapshot Replication</strong>: Capture the state of your files and folders at specific times to make it easier to restore them if necessary.<br></li>
</ol>



<h3 id="multimedia-server" class="wp-block-heading">Multimedia server</h3>



<p>Turn your NAS into a multimedia hub with applications like Video Station, Audio Station and Photo Station. Access your movies, music and photos from any connected device.</p>



<h3 id="remote-access" class="wp-block-heading">Remote Access</h3>



<p>With QuickConnect, access your NAS from anywhere without setting up complicated port forwarding rules. Synology also offers mobile applications to manage and access your data on the go.</p>



<h3 id="security" class="wp-block-heading">Security</h3>



<ol class="wp-block-list">
<li><strong>Data encryption</strong>: Protect your sensitive data with AES 256-bit encryption.</li>



<li><strong>Firewall and Protection</strong>: Configure firewall rules and enable features such as brute force attack protection to secure your NAS.<br></li>
</ol>



<h3 id="applications-and-extensions" class="wp-block-heading">Applications and Extensions</h3>



<p>Synology&#8217;s Package Center offers a multitude of applications to extend the capabilities of your NAS. Whether you need a mail server, a content management system or a monitoring solution, there is an application for it.</p>



<h2 id="synology-a-solid-base-for-your-homelab" class="wp-block-heading">Synology: A solid base for your Homelab</h2>



<p>One of the great things about a Synology NAS is that it&#8217;s a great base from which to start your own homelab. With the ability to install Docker directly on the NAS, you can experiment and deploy a multitude of containers for different services and applications. Whether you want to set up a development environment, test software, or manage services such as web servers and databases, Synology offers a flexible and powerful platform.</p>



<h3 id="why-docker-on-synology" class="wp-block-heading">Why Docker on Synology?</h3>



<p>Docker allows you to deploy applications in isolated containers, simplifying the management and isolation of services. By using Docker on your Synology NAS, you can :</p>



<ul class="wp-block-list">
<li><strong>Deploy applications quickly</strong>: With Docker, it&#8217;s easy to deploy applications in just a few minutes thanks to predefined images available on Docker Hub.</li>



<li><strong>Manage dependencies</strong>: each container includes all the dependencies needed to run the application, avoiding version conflicts and simplifying updates.</li>



<li><strong>Optimising resources</strong>: Docker is lightweight and uses resources efficiently, which is ideal for a homelab.</li>



<li><strong>Experiment without risk</strong>: test new applications and configurations without affecting your main environment.<br></li>
</ul>



<p>To install Docker on your Synology NAS, simply go to Package Center and search for Docker. Once installed, you can start deploying containers using Synology&#8217;s web interface or Docker commands via SSH.</p>



<h2 id="conclusion" class="wp-block-heading">Conclusion</h2>



<p>Synology offers a complete and flexible NAS solution to meet a variety of needs, whether for home or business use. With its advanced features and user-friendly interface, a Synology NAS can transform your data management. In addition to serving as centralized storage, it can also be the ideal starting point for creating your own homelab, allowing you to discover and exploit the full potential of Docker and other innovative technologies. Feel free to explore all the possibilities offered by Synology to maximise the efficiency and security of your information.</p>



<p>If you have any questions or comments, leave them below! Don&#8217;t forget to share this article if you found it useful.</p>



<p>&#8212;</p>



<p><em>Note: The instructions and features mentioned in this article are based on a typical configuration and may need to be adjusted to suit your specific environment.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://cajyl.com/en/synology-the-ultimate-nas-for-your-home-and-office/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3310</post-id>	</item>
		<item>
		<title>Docker: A Complete Guide to Maximising Your Deployments</title>
		<link>https://cajyl.com/en/docker-a-complete-guide-to-maximising-your-deployments/</link>
					<comments>https://cajyl.com/en/docker-a-complete-guide-to-maximising-your-deployments/#respond</comments>
		
		<dc:creator><![CDATA[Augustin]]></dc:creator>
		<pubDate>Thu, 18 Jul 2024 22:46:38 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Docker Compose]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://cajyl.com/?p=3303</guid>

					<description><![CDATA[Docker has become a must-have for developers and system administrators looking to simplify the deployment of their applications. By encapsulating applications in lightweight containers, Docker enables unprecedented portability, efficiency and&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Docker has become a must-have for developers and system administrators looking to simplify the deployment of their applications. By encapsulating applications in lightweight containers, Docker enables unprecedented portability, efficiency and scalability. In this article, we&#8217;ll explore in detail the benefits of Docker, how to install it quickly, and some useful commands for managing your containers.</p>



<h2 id="introduction-to-docker" class="wp-block-heading">Introduction to Docker</h2>



<h3 id="what-is-docker" class="wp-block-heading">What is Docker?</h3>



<p>Docker is an open source platform that automates the deployment of applications in software containers. These containers are lightweight, fast and portable, and contain everything an application needs to run: code, runtime, system libraries, etc.</p>



<h3 id="why-use-docker" class="wp-block-heading">Why use Docker?</h3>



<p>Here are some of the main advantages of Docker :</p>



<ol class="wp-block-list">
<li><strong>Portability</strong>: Docker containers can be run anywhere &#8211; on your local machine, in the cloud, or on on-premise servers &#8211; without having to worry about differences in system configuration.</li>



<li><strong>Isolation</strong>: Each container operates in isolation, which means that applications do not overlap or cause conflicts.</li>



<li><strong>Resource efficiency</strong>: Unlike virtual machines, containers share the same system kernel and don&#8217;t need a complete OS, which significantly reduces resource usage.</li>



<li><strong>Ease of management</strong>: Docker simplifies the process of updating and deploying applications, thanks to tools like Docker Compose.<br></li>
</ol>



<h2 id="quick-installation-of-docker" class="wp-block-heading">Quick installation of Docker</h2>



<h3 id="installing-docker" class="wp-block-heading">Installing Docker</h3>



<p>To install Docker on a Debian-based distribution such as Ubuntu, run the following command:</p>



<pre class="wp-block-code"><code>sudo apt update &amp;&amp; sudo apt install docker.io apparmor -y
</code></pre>



<h3 id="installing-docker-compose" class="wp-block-heading">Installing Docker Compose</h3>



<p>Docker Compose is a tool that lets you define and manage multi-container applications. To install it, use the following commands:</p>



<pre class="wp-block-code"><code>sudo curl -L "https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
</code></pre>



<h3 id="checking-the-installation" class="wp-block-heading">Checking the installation</h3>



<p>To check that Docker Compose has been correctly installed, run :</p>



<pre class="wp-block-code"><code>docker-compose --version
</code></pre>



<h2 id="useful-commands-for-docker" class="wp-block-heading">Useful commands for Docker</h2>



<h3 id="creating-and-launching-containers-with-docker-compose" class="wp-block-heading">Creating and launching containers with Docker Compose</h3>



<p>To create and launch containers defined in a <code>docker-compose.yml</code> file, use :</p>



<pre class="wp-block-code"><code>sudo docker-compose up --build --remove-orphans -d
</code></pre>



<h3 id="deleting-containers-with-docker-compose" class="wp-block-heading">Deleting containers with Docker Compose</h3>



<p>To stop and delete containers, networks and volumes defined in the <code>docker-compose.yml</code> file :</p>



<pre class="wp-block-code"><code>sudo docker-compose down
</code></pre>



<h3 id="updating-a-container" class="wp-block-heading">Updating a container</h3>



<p>To update a container, follow these steps:</p>



<ol class="wp-block-list">
<li>Stop containers :<br></li>



<li>List Docker images :<br></li>



<li>Delete the image of the container to be updated:<br></li>



<li>Recreate and relaunch containers :<br></li>
</ol>



<h3 id="accessing-a-container-via-ssh" class="wp-block-heading">Accessing a container via SSH</h3>



<p>To access a running container via SSH :</p>



<pre class="wp-block-code"><code>sudo docker exec -it container-name /bin/bash
</code></pre>



<p>Note: Use <code>/bin/sh</code> if <code>/bin/bash</code> is not available.</p>



<pre class="wp-block-code"><code>sudo docker exec -it container-name /bin/sh
</code></pre>



<h3 id="view-container-logs" class="wp-block-heading">View container logs</h3>



<p>To monitor a container&#8217;s logs in real time :</p>



<pre class="wp-block-code"><code>sudo docker logs -f container-name
</code></pre>



<h2 id="conclusion" class="wp-block-heading">Conclusion</h2>



<p>Docker offers a powerful and flexible solution for deploying and managing applications. Whether you&#8217;re a developer, system administrator or just curious, Docker can transform the way you work with software. Feel free to try out the commands above and explore further the possibilities offered by this revolutionary technology.</p>



<p>If you have any questions or comments, leave them below! Don&#8217;t forget to share this article if you found it useful.</p>



<p>&#8212;</p>



<p><em>Note: The controls and instructions mentioned in this article are based on a typical configuration and may need to be adjusted to suit your specific environment.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://cajyl.com/en/docker-a-complete-guide-to-maximising-your-deployments/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3303</post-id>	</item>
	</channel>
</rss>
