<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on Jose Castrillo</title>
    <link>https://jose.castrillo.eu/categories/linux/</link>
    <description>Recent content in Linux on Jose Castrillo</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Fri, 07 Nov 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jose.castrillo.eu/categories/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Linux on Business</title>
      <link>https://jose.castrillo.eu/post/linux-better-solution/</link>
      <pubDate>Fri, 07 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/linux-better-solution/</guid>
      <description>&lt;p&gt;Why Linux 🐧? the question isn&amp;rsquo;t why Linux ? the real question is why not ? did you try it?&lt;/p&gt;
&lt;p&gt;Linux is widely regarded as the best option for development, DevOps, hybrid cloud solutions, and even as a desktop for home and office environments due to its open-source nature, robust ecosystem, scalability, security, and cost-effectiveness. Its flexibility allows seamless integration across diverse platforms, from small IoT devices to large-scale cloud infrastructures, making it the backbone of modern technology stacks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>🎨 Customize Your Terminal Shell with Oh My Bash</title>
      <link>https://jose.castrillo.eu/post/ohmybash-git/</link>
      <pubDate>Tue, 14 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/ohmybash-git/</guid>
      <description>Learn how to dynamically switch themes in Oh My Bash based on your environment and directory.</description>
    </item>
    <item>
      <title>👨‍💻 Tunning your Devbox shell</title>
      <link>https://jose.castrillo.eu/post/bash-terminal-devbox/</link>
      <pubDate>Fri, 26 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/bash-terminal-devbox/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/sw-sandbox.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;h1 id=&#34;using-oh-my-bash-with-jetify-devbox-a-step-by-step-guide&#34;&gt;Using Oh-My-Bash with Jetify Devbox: A Step-by-Step Guide&lt;/h1&gt;
&lt;p&gt;If you&amp;rsquo;re a developer working with Jetify Devbox, you might have noticed that its shell environment doesn&amp;rsquo;t always play nicely with Oh-My-Bash. By following these steps, you can customize and personalize your themes and PS1 prompt to create a more enjoyable and productive shell experience.&lt;/p&gt;
&lt;h2 id=&#34;step-1-install-oh-my-bash&#34;&gt;Step 1: Install Oh-My-Bash&lt;/h2&gt;
&lt;p&gt;First, you need to install Oh-My-Bash. You can do this by running the following command in your terminal:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automation a Nextcloud as a Podman Container</title>
      <link>https://jose.castrillo.eu/post/nextcloud-buildah/</link>
      <pubDate>Sun, 30 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/nextcloud-buildah/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/nextcloud-buildah.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been thinking to upgrade my Nextcloud service also switching to another alternative rather than docker, hence I used podman and buildah in my solution.&lt;/p&gt;
&lt;p&gt;From the rockylinux.org I found a nice &lt;a href=&#34;https://docs.rockylinux.org/guides/containers/podman-nextcloud/&#34;&gt;post&lt;/a&gt; where it describes how to build and provisioning by using buildah and podman, it works pretty good and I added a tool in order to run it faster, called &lt;a href=&#34;https://taskfile.dev/installation/&#34;&gt;taskfile&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Requirements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Podman&lt;/li&gt;
&lt;li&gt;Buildah&lt;/li&gt;
&lt;li&gt;Taskfile&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;Install &lt;a href=&#34;https://taskfile.dev/installation/&#34;&gt;taskfile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Clone my &lt;a href=&#34;https://gitlab.com/castrillo/jupiter&#34;&gt;project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;From the project you can see the task defined:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;3&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;tasks&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;up-db&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;dir&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;db/mariadb&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;preconditions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;test -f db-init.sh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;cmds&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;bash db-init.sh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;create-app&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;dir&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;app&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;preconditions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;test -f run.sh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;cmds&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;mkdir nc nc/nextcloud nc/apps nc/config nc/data&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;task&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;up-db&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;bash run.sh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;build_base&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;dir&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;db/base&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;preconditions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;test -f build.sh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;cmds&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;bash build.sh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;build_tools&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;dir&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;db/db-tools&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;preconditions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;test -f build.sh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;cmds&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;bash build.sh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;build_maria&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;dir&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;db/mariadb&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;preconditions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;test -f build.sh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;cmds&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;bash build.sh&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;build_db&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;cmds&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;task&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;build_base&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;task&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;build_tools&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;task&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;build_maria&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;up-app&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;cmds&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;- &lt;span class=&#34;l&#34;&gt;podman container start nextcloud&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Main task to build and run nextcloud:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Como configurar un router neutro</title>
      <link>https://jose.castrillo.eu/post/router-spain-vlan/</link>
      <pubDate>Sun, 19 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/router-spain-vlan/</guid>
      <description>&lt;h3 id=&#34;-actualizado-022024&#34;&gt;📣 Actualizado 02/2024&lt;/h3&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/router1.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;Continuando con mi post &lt;a href=&#34;https://www.linkedin.com/pulse/neutralidad-de-la-red-y-tu-derecho-usar-router-en-espa%2525C3%2525B1a-castrillo-q1yyf%3FtrackingId=MoVK%252FVSBS6i9hYlPBP0ptg%253D%253D/?trackingId=MoVK%2FVSBS6i9hYlPBP0ptg%3D%3D&#34;&gt;anterior&lt;/a&gt; explico como realizar una conexion directa con tu propio router, en mi caso tengo un router &lt;a href=&#34;https://www.gl-inet.com&#34;&gt;gl.inet&lt;/a&gt;; puedes usar otro router que disponga la configuración de VLAN.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Dependiendo de tu proveedor de servicio, necesitamos ir a la siguiente &lt;a href=&#34;https://wiki.bandaancha.st/Identificadores_VLAN_operadores_FTTH&#34;&gt;pagina&lt;/a&gt; y busca tu VLAN, &lt;em&gt;Leer con atencion las notas dejadas en la pagina&lt;/em&gt;!. En mi caso tengo Orange aunque a en mi zona llega por &lt;a href=&#34;https://wiki.bandaancha.st/Nuevo_servicio_Ethernet_de_Banda_Ancha&#34;&gt;NEBA&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to switch 3053 to 53 on Gl.inet</title>
      <link>https://jose.castrillo.eu/post/router-glinet-adguard/</link>
      <pubDate>Mon, 06 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/router-glinet-adguard/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/adguard.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;For those who has a Gl.inet router featured with Adguard on it, you should being facing a issue at Adguard when it activated at first time, from clients list the only client listed is &amp;ldquo;localhost&amp;rdquo;, the reason it&amp;rsquo;s due &lt;a href=&#34;https://linux.die.net/man/8/dnsmasq&#34;&gt;dnsmasq&lt;/a&gt; is runing on port 53 in the other hand adguard by default on port 3053, in order to solve it you have to switch them. This entry is a forward post by the workaround explained by &lt;strong&gt;chao-chao&lt;/strong&gt; from &lt;a href=&#34;https://forum.gl-inet.com/t/gl-mv1000-with-adguard-all-clients-show-as-localhost/13664/13&#34;&gt;gl-inet-forum&lt;/a&gt; I did it and it&amp;rsquo;s working from my side, below is a little summary of the steps I did:&lt;/p&gt;</description>
    </item>
    <item>
      <title>setup auto mount smb v1.0</title>
      <link>https://jose.castrillo.eu/post/smb-fedora-v1/</link>
      <pubDate>Fri, 27 May 2022 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/smb-fedora-v1/</guid>
      <description>&lt;p&gt;In any case you still having a device that works with smb v1.0 you can use the following way in order to mount it on your Fedora host:&lt;/p&gt;
&lt;p&gt;Path: /etc/NetworkManager/dispatcher.d/smb-setup.sh&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#!/bin/sh -e
# Script to dispatch NetworkManager events
# more over: https://stackoverflow.com/questions/16848021/linux-networkmanagers-etc-networkmanager-dispatcher-d-test-script-does-not
# Runs ifupdown scripts when NetworkManager fiddles with interfaces.
# See NetworkManager(8) for further documentation of the dispatcher events.

INF=&amp;#34;$1&amp;#34; # your current interface name such as eth0, wlp4s0 and so on
STA=&amp;#34;$2&amp;#34; # status such as UP or DOWN

# Send message to /var/log/messages
logger -s &amp;#34;$0 called for interface named $INF with $STA ...&amp;#34;

if [ &amp;#34;$INF&amp;#34; == &amp;#34;eno1&amp;#34; ]
then
mount -t cifs -o vers=1.0,username=admin,password=Tr3x_1986,uid=1000,gid=1000,forceuid,forcegid //10.34.1.1/1fea-6abb /home/jose/homedisk
fi
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;more info:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Redundant Array of Inexpensive Disks</title>
      <link>https://jose.castrillo.eu/post/raid-disk/</link>
      <pubDate>Sun, 06 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/raid-disk/</guid>
      <description>&lt;h1 id=&#34;raid&#34;&gt;RAID&lt;/h1&gt;
&lt;p&gt;RAID is a technology that is used to increase the performance and/or reliability of data storage. The abbreviation stands for Redundant Array of Inexpensive Disks. A RAID system consists of two or more drives working in parallel. These disks can be hard discs, but there is a trend to also use the technology for SSD (solid state drives). There are different RAID levels, each optimized for a specific situation. These are not standardized by an industry group or standardization committee.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to install /e/OS in Gigaset GS290 from GNU/Linux</title>
      <link>https://jose.castrillo.eu/post/gigaset-e-fastboot/</link>
      <pubDate>Sun, 21 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/gigaset-e-fastboot/</guid>
      <description>&lt;p&gt;I created this post as aim to collaborate with the project and help those how are bought a &lt;a href=&#34;https://doc.e.foundation/devices/GS290/&#34;&gt;Gigaset GS290&lt;/a&gt; to test this great /e/ OS degoogle fork, and have been failed by using &lt;a href=&#34;https://doc.e.foundation/easy-installer&#34;&gt;easy installer&lt;/a&gt;, but first I will let clearly that these steps are the steps I followed in order to set up the /e/ OS in my Gigaset.&lt;/p&gt;
&lt;p&gt;Requirement-system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GNU/Linux OS (in my case Fedora).**&lt;/li&gt;
&lt;li&gt;ADB &amp;amp; Fastboot library &lt;strong&gt;latest&lt;/strong&gt;.**&lt;/li&gt;
&lt;li&gt;/e/OS build**&lt;/li&gt;
&lt;li&gt;boot.img**&lt;/li&gt;
&lt;li&gt;recovery.img**&lt;/li&gt;
&lt;li&gt;Basic knowledge in terminal &amp;amp; command line.&lt;/li&gt;
&lt;li&gt;Sudo&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Requirement-smartphone:&lt;/p&gt;</description>
    </item>
    <item>
      <title>/prometheus/data/chunks_head/ troubleshoot</title>
      <link>https://jose.castrillo.eu/post/prometheus-troubleshooting/</link>
      <pubDate>Mon, 22 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/prometheus-troubleshooting/</guid>
      <description>&lt;p&gt;I will share a little workaround in order to re-establish Prometheus service back in the game.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Origin of issue:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;ve had an issue with my local network at home by the ISP provider, I had have shut down my RaspberryPi and other devices.&lt;/p&gt;
&lt;p&gt;Then when I could solved the issue and all my devices were up and running I checked up my services and I found that Prometheus got stuck by a &lt;em&gt;&amp;ldquo;mmap: invalid argument&amp;rdquo;&lt;/em&gt; message.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setup monitoring system [Grafana&#43;Prometheus] in RaspberryPi (Part1)</title>
      <link>https://jose.castrillo.eu/post/raspberrypi-monitoring-system/</link>
      <pubDate>Wed, 03 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/raspberrypi-monitoring-system/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/grafa_prome_rasp.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;On this post I will explain how I set up a Grafana + Prometheus into a RaspberryPi with &lt;a href=&#34;https://www.raspberrypi.org/downloads/raspbian/&#34;&gt;Raspbian&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here it&amp;rsquo;s a little design where explains how it is the implementation I did:&lt;/p&gt;
&lt;h2&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/design_monitoring.png&#34; alt=&#34;&#34;  /&gt;
&lt;/h2&gt;
&lt;p&gt;🔵 Server:
RaspberryPi 3B+&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Services to install(server side):
&lt;ol&gt;
&lt;li&gt;Grafana&lt;/li&gt;
&lt;li&gt;Prometheus (Metric collector and database)&lt;/li&gt;
&lt;li&gt;Node Exporter (collector worker)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🟢 Clients:
Raspberrypi Zero
Fedora Workstation
Debian VPS&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Services to install(client side):
&lt;ol&gt;
&lt;li&gt;Node Exporter (collector worker).&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;🔵 Lets start from the &lt;strong&gt;server&lt;/strong&gt; side.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Format &amp; Mount an usb drive in GNU/Linux [terminal]</title>
      <link>https://jose.castrillo.eu/post/mount-usb-gnulinux/</link>
      <pubDate>Fri, 22 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/mount-usb-gnulinux/</guid>
      <description>&lt;p&gt;Format and Mount usb drive in GNU/Linux&lt;/p&gt;
&lt;p&gt;Tools/commands:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;lsblk&lt;/li&gt;
&lt;li&gt;parted&lt;/li&gt;
&lt;li&gt;df&lt;/li&gt;
&lt;li&gt;fdisk&lt;/li&gt;
&lt;li&gt;mkfs&lt;/li&gt;
&lt;li&gt;wipefs&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;check if which blcok devices used by usb (sd) [df -h, lsblk] eg:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;a)&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ sudo fdisk -l
Disk /dev/sda: 7.2 GiB, 7736072192 bytes, 15109516 sectors
Disk model: DataTraveler 3.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;b)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Monitoring with Cockpit</title>
      <link>https://jose.castrillo.eu/post/cockpit-monitoring/</link>
      <pubDate>Mon, 11 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/cockpit-monitoring/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/cockpit.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;On this post we are going to talk about &lt;strong&gt;cockpit&lt;/strong&gt; how to monitoring and manage your GNU/Linux infrastructure. Based on the official description, &lt;a href=&#34;https://cockpit-project.org/&#34;&gt;Cockpit&lt;/a&gt; project is pretty easy to use, install and integrate, you can manage and add servers by ssh credentials to your dashboard, showing logs, monitoring containers(podman/docker), services running, disk usage, etc.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve using it around 1 year, the only thing I cannot see it&amp;rsquo;s an alert tool or event trigger, maybe for the next release; is developed by RH team and &lt;a href=&#34;https://github.com/cockpit-project/cockpit/blob/master/COPYING&#34;&gt;open source&lt;/a&gt;, it&amp;rsquo;s already integrated in some of the GNU/Linux distribution ( RH, debian, ubuntu, fedora, etc).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Open a Nextcloud&#39;s DB through a ssh connection</title>
      <link>https://jose.castrillo.eu/post/dbeaver-nextcloud-mariadb/</link>
      <pubDate>Mon, 23 Nov 2020 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/dbeaver-nextcloud-mariadb/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/nextcloud-dbeaver.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;The following post explains how to open and connect your Nextcloud&amp;rsquo;s DB (MariaDB) by a ssh tunnel.&lt;/p&gt;
&lt;p&gt;Field description:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Server side(GNULinux):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nextcloud: running on Docker-compose engine.&lt;/li&gt;
&lt;li&gt;OS: Debian with Docker compose installed.&lt;/li&gt;
&lt;li&gt;Database: MariaDB.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Localhost side(GNULinux):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OS: Fedora.&lt;/li&gt;
&lt;li&gt;CLient: Dbeader 7.2.5&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Further information you can go to my docker compose Statement &lt;a href=&#34;https://help.nextcloud.com/t/nexcloud-deployment-by-docker-compose/90660&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Edit your docker-compose.yml and add the &amp;ldquo;ports&amp;rdquo; key into the statement.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ nano docker-compose.yml
  ports:
    - 5555:3306
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;port: 5555 &amp;ndash;&amp;gt; Host.&lt;/li&gt;
&lt;li&gt;port: 3306 &amp;ndash;&amp;gt; Container.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;From the above the port &amp;ldquo;5555&amp;rdquo; it was used as example.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nextcloud bot as Notification System</title>
      <link>https://jose.castrillo.eu/post/bot-nextcloud-api/</link>
      <pubDate>Fri, 09 Oct 2020 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/bot-nextcloud-api/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/donatello.png#center&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;Following the last post, where I shared how to use Telegram&amp;rsquo;s bot; on this post I&amp;rsquo;m going to explain how implement it by Chat &lt;em&gt;Nextcloud API&lt;/em&gt;. This post is useful for those have a &lt;em&gt;Nexctcloud&lt;/em&gt; deployment running at home/cloud.&lt;/p&gt;
&lt;p&gt;Assuming you have already Nextcloud up and running, we can create the new user, that we are gonna use it as &amp;ldquo;BOT&amp;rdquo; we will need the chat room token and the &amp;ldquo;BOT&amp;rdquo; credentials.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Telegram Bot as Notification System</title>
      <link>https://jose.castrillo.eu/post/bot-telegram-linux/</link>
      <pubDate>Thu, 24 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/bot-telegram-linux/</guid>
      <description>&lt;p&gt;From one older post &amp;ldquo;Create a job using crontab&amp;rdquo; I used into my script the service exim4/ssmtp as mail server using gmail, but as we&amp;rsquo;re trying to walk away of Google&amp;rsquo;s jaw, I switched my notification engine to Telegram by an API service(bot)&amp;hellip; almost it&amp;rsquo;s a step forward ! :)&lt;/p&gt;
&lt;p&gt;Requirement:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Bot (Telegram)&lt;/li&gt;
&lt;li&gt;Web Browser&lt;/li&gt;
&lt;li&gt;Terminal(script)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I will assume you have already set up your Bot on Telegram with &lt;a href=&#34;https://core.telegram.org/bots&#34;&gt;BotFather&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When you have already created your Bot you can check by the API through a web browser&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenVPN usando Raspberry Pi3 &#43; Noip</title>
      <link>https://jose.castrillo.eu/post/openvpn-raspberrypi/</link>
      <pubDate>Wed, 15 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/openvpn-raspberrypi/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/openvpn-raspberry.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;Requisitos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RaspberryPi &amp;ndash;&amp;gt; &lt;a href=&#34;https://www.raspberrypi.org/downloads/raspberry-pi-os/&#34;&gt;https://www.raspberrypi.org/downloads/raspberry-pi-os/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenVPN &amp;ndash;&amp;gt; &lt;a href=&#34;https://pivpn.io/&#34;&gt;https://pivpn.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cuenta abierta &amp;ndash;&amp;gt; &lt;a href=&#34;https://www.noip.com/&#34;&gt;https://www.noip.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Una IP Estatica en tu Raspberry &amp;ndash;&amp;gt; Router manual&lt;/li&gt;
&lt;li&gt;Router con capacidad de tunel VPN &amp;mdash;&amp;gt; IPsec, PPTP, L2TP.&lt;/li&gt;
&lt;li&gt;Public IP &amp;mdash;&amp;gt; &lt;a href=&#34;https://www.whatismyip.net/&#34;&gt;https://www.whatismyip.net/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pasos:&lt;/p&gt;
&lt;h3 id=&#34;1-crear-dns-record-a-en-noip&#34;&gt;1. Crear DNS Record A en Noip&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Apunta tu &lt;a href=&#34;https://www.whatismyip.net/&#34;&gt;IP publica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Abre tu sesion con tus credenciales en &lt;a href=&#34;https://www.noip.com/&#34;&gt;Noip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dentro del Dashboard ve al apartado &lt;strong&gt;&amp;ldquo;Dynamic DNS &amp;gt; Create Hostname&amp;rdquo;&lt;/strong&gt; rellena:
&lt;ul&gt;
&lt;li&gt;hostname, ejemplo: &lt;em&gt;test&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Domain, ejemplo: &lt;em&gt;ddns.net&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;IPv4 address: &lt;strong&gt;Tu IP publica&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Click en &lt;strong&gt;Crear&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/openvpn-noip.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setup Podman service in Silverblue by Systemd</title>
      <link>https://jose.castrillo.eu/post/podman-monitoring-systemd/</link>
      <pubDate>Tue, 07 Jul 2020 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/podman-monitoring-systemd/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/cockpit-fedora.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;Into my Devops learning path 👨‍💻 I decided to deploy a monitoring centre into my workstation where I could be able to watch my containers, resources, logs, etc and continue improving my knowledge, in my case I&amp;rsquo;m using &lt;a href=&#34;https://silverblue.fedoraproject.org/&#34;&gt;Silverblue&lt;/a&gt; developed by Fedora so in here it&amp;rsquo;s a little bit different the setup; as monitoring tool I choose &lt;a href=&#34;https://cockpit-project.org&#34;&gt;Cockpit&lt;/a&gt; for its great integration and support.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Workstation: Silverblue 🖥️&lt;/li&gt;
&lt;li&gt;Container engine: Podman ⚙️&lt;/li&gt;
&lt;li&gt;Monitoring tool(app/service):Cockpit 📦&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I splinted out the instructions in 4 simple parts:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to set your Domain name in Linux</title>
      <link>https://jose.castrillo.eu/post/domain-name-linux/</link>
      <pubDate>Sun, 31 May 2020 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/domain-name-linux/</guid>
      <description>&lt;p&gt;Resume to set a domain name in Linux&lt;/p&gt;
&lt;p&gt;concepts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;FQDN&lt;/strong&gt; (Fully Qualified Domain Name)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;eg:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;hostname&lt;/strong&gt; = server1 //
&lt;strong&gt;FQDN&lt;/strong&gt; = server1.example.com&lt;/p&gt;
&lt;h3 id=&#34;1-first-add-fqdn-to-your-hostname-in-etchosts-file&#34;&gt;1. First add FQDN to your hostname in /etc/hosts file.&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# cat /etc/hosts
10.120.68.23 server1.example.com server1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;confirm the FQDN issue the following command:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# hostname -f
server1.example.com
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;21-configure-domain-name-red-hat-rhel-fedora-and-centos&#34;&gt;2.1. Configure domain name (Red Hat RHEL, Fedora and CentOS)&lt;/h3&gt;
&lt;p&gt;From these path add the parameters needs&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;vi /etc/sysconfig/network
DOMAINNAME=&amp;lt;domainname&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;vi /etc/sysctl.conf
kernel.domainname = &amp;lt;domainname&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;22-figure-domain-name--ubuntu-debian&#34;&gt;2.2. figure domain name ( Ubuntu, Debian)&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#vi /etc/hostname
server1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then restart the service:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add your app into the Gnome Desktop Menu</title>
      <link>https://jose.castrillo.eu/post/desktop-gnome-app/</link>
      <pubDate>Mon, 30 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/desktop-gnome-app/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/cryptomator.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been looking for a encryptation app open source, to encrypt my files into Cloud with a touch of off-online control, and I found this nice app called &lt;a href=&#34;https://cryptomator.org/&#34;&gt;Cryptomator&lt;/a&gt;. I downloaded the extension &lt;a href=&#34;https://appimage.org/&#34;&gt;.Appimage&lt;/a&gt;, so the following instruction I will explain is how to set the .appimage into the app menu in Gnome.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download the Cryptomator by the link above.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set the permission below:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#chmod a+x cryptomator-1.4.15-x86_64.AppImage
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The try to execute the file by a shell terminal or just double click on it ( to confirm it was downloaded fined)&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to create a docker-compose.service</title>
      <link>https://jose.castrillo.eu/post/service-systemd-docker/</link>
      <pubDate>Sun, 08 Sep 2019 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/service-systemd-docker/</guid>
      <description>&lt;p&gt;Here are the steps I made to set a service into my Fedora server to start/stop my Docker-compose (Wikijs)&lt;/p&gt;
&lt;p&gt;Why I decided to use a docker-compose into a Linux VM machine? &amp;mdash;&amp;gt; for make it more stable, faster,portable, isolated, etc.&lt;/p&gt;
&lt;p&gt;First I stared using Docker for Windows and it was a little bit unstable and not quite easy to handled, so when I switched to Docker compose into a Fedora VM and in that point it was a huge different(I do not recommend to use Docker in Windows); I use a Vmware hypervisor ( in the office we use it ).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create a .zip using 7z by cmd in Windows</title>
      <link>https://jose.castrillo.eu/post/zip-cmd-windows/</link>
      <pubDate>Tue, 11 Jun 2019 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/zip-cmd-windows/</guid>
      <description>&lt;p&gt;After to install the 7z in our windows workstation/server then we need to create our &lt;strong&gt;evironment variables&lt;/strong&gt; to call the function from the cmd [1].&lt;/p&gt;
&lt;p&gt;Then the command below will guide you to zip a simple file:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;7z a -r [myzip] [example.txt]
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;[myzip] - the zip name file&lt;/li&gt;
&lt;li&gt;[example.txt] file used for the example&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To zip a folder&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;7z a [myzip] [folder]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Docu based thx to the information seen from: [1] &lt;a href=&#34;https://help.goodsync.com/hc/en-us/articles/360007773451-Automated-Backup-with-Compression-and-Encryption&#34;&gt;GlobalEnviroment&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Closing opened ports on Linux (Fedora 29)</title>
      <link>https://jose.castrillo.eu/post/ports-networking-linux/</link>
      <pubDate>Sun, 05 May 2019 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/ports-networking-linux/</guid>
      <description>&lt;p&gt;Using the &lt;strong&gt;Nmap&lt;/strong&gt; to list our opened port in our machine, how described the &lt;a href=&#34;https://nmap.org/&#34;&gt;official website&lt;/a&gt;: Nmap &amp;ldquo;..is an utility for network discovery and security auditing..&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Regarding &lt;strong&gt;CUPS&lt;/strong&gt; from the &lt;a href=&#34;https://www.cups.org/&#34;&gt;official website&lt;/a&gt;: &amp;ldquo;is an open source printing system developed by Apple Inc. for macOSÂ® and other UNIXÂ®-like operating systems. CUPS uses the Internet Printing Protocol (IPP) to support printing to local and network printers.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;By default we have the cups service running in the system&amp;rsquo;s startup we could check out issue the following commands:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Output IPCONFIG report to HTML by PowerShell</title>
      <link>https://jose.castrillo.eu/post/report_script_powershell/</link>
      <pubDate>Thu, 25 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/report_script_powershell/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$file = &amp;#34;C:\Users\jcr\a.html&amp;#34;
$ipconfig=ipconfig /all |%{&amp;#34;$_&amp;lt;br/&amp;gt;&amp;#34;}

$body=@&amp;#34;
&amp;lt;html&amp;gt;
    &amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Network Report&amp;lt;/title&amp;gt;
    &amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;IPConfig /All&amp;lt;/h1&amp;gt;
    &amp;lt;pre&amp;gt;$ipconfig&amp;lt;/pre&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&amp;#34;@
$body | Out-File $file
. $file
&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Setup Grafana in Raspbian (Raspberrypi)</title>
      <link>https://jose.castrillo.eu/post/raspberrypi-grafana-post/</link>
      <pubDate>Tue, 09 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/raspberrypi-grafana-post/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/grafana.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;The below post is a simple explanation I did time ago, if you want further info and better explanation about how to setup a monitoring system into your Raspberripy please go to here.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.raspberrypi.org/downloads/raspbian/&#34;&gt;Raspbian&lt;/a&gt; version:9.8&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ uname -r
4.14.98-v7+
$ uname -m
armv7l
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Version installed on my RasPi: &lt;strong&gt;Grafana v6.0.2 (3f4c2e7)&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download &lt;a href=&#34;https://grafana.com/grafana/download?platform=arm&#34;&gt;Grafana&lt;/a&gt; package for your correct Raspi ARM&lt;/li&gt;
&lt;li&gt;$sudo dpkg -i grafana_6.1.3_armhf.deb&lt;/li&gt;
&lt;li&gt;$systemctl start grafana-server&lt;/li&gt;
&lt;li&gt;$systemctl status grafana-server&lt;/li&gt;
&lt;li&gt;then you will see from the status propmt the address=0.0.0.0:3000&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;msg=&amp;#34;HTTP Server Listen&amp;#34; logger=http.server address=0.0.0.0:3000
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To check the site is working go through localhost:3000&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create a job using crontab</title>
      <link>https://jose.castrillo.eu/post/cron-script-linux/</link>
      <pubDate>Wed, 03 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/cron-script-linux/</guid>
      <description>&lt;p&gt;To automate tasks or create some monitoring job we can use the older and efficient tool the &amp;ldquo;CronJob&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;For our example, I&amp;rsquo;ve created a simple script to detect the cache memory and clean it if raise to a condition then send a notification by mail.&lt;/p&gt;
&lt;p&gt;Library used:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;exim4 (mail server) or ssmtp (mail server). Both uses the same &amp;ldquo;mail&amp;rdquo; command.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Script:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# grab the buff/cache memory
mem=&amp;#34;$(free -m | grep &amp;#39;Mem:&amp;#39; | awk &amp;#39;{print $6}&amp;#39;)&amp;#34;

if  (( $mem &amp;gt; 350 ))
then
echo &amp;#39;wooo is more than 250M&amp;#39;
echo 3 | sudo tee /proc/sys/vm/drop_caches
echo &amp;#39;cache dropped&amp;#39;
echo &amp;#34;Memory buff/cache cleaned last value:&amp;#34; $mem | mail -s &amp;#34;cache_memory&amp;#34; target_mail@local.com
else
echo &amp;#39;be cool man, memory lower&amp;#39;
fi
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;script path: /user/Documents/script/memory&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
