<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Containers on Jose Castrillo</title>
    <link>https://jose.castrillo.eu/tags/containers/</link>
    <description>Recent content in Containers 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/tags/containers/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>👨‍💻 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>Faster and simple maintenance page</title>
      <link>https://jose.castrillo.eu/post/maintenance-page/</link>
      <pubDate>Sun, 04 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/maintenance-page/</guid>
      <description>&lt;p&gt;Working on different platform either to update, patch, etc need to be notificate for those people that consume that services, it shouldn&amp;rsquo;t change if that service it&amp;rsquo;s internal, you must notificate your teams about it.&lt;/p&gt;
&lt;p&gt;When you&amp;rsquo;re into your maintenance window you can use a faster way to broadcast everyone you&amp;rsquo;re working on it; I use this simple solution when I was working into a Jenkins migration, hence I stop the jenkins service and instead of 500 html error I developed a simple html text exposing it by a nginx container by the root path.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Upgrading major version Nextcloud</title>
      <link>https://jose.castrillo.eu/post/nextcloud-upgrade/</link>
      <pubDate>Sat, 20 May 2023 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/nextcloud-upgrade/</guid>
      <description>&lt;p&gt;For those who have been facing the &amp;ldquo;Maintenance mode active&amp;rdquo; after applied a nextcloud upgrade by switching container image version, due a &lt;em&gt;major versioning issue&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Even when you issue the occ upgrade into continer you gets hit by something like below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;www-data@87401bdd2fa8:~/html$ php /var/www/html/occ upgrade
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Nextcloud or one of the apps require upgrade - only a limited number of commands are available
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;You may use your browser or the occ upgrade &lt;span class=&#34;nb&#34;&gt;command&lt;/span&gt; to &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; the upgrade
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Setting log level to debug
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Exception: Updates between multiple major versions and downgrades are unsupported.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Update failed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Maintenance mode is kept active
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Resetting log level
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Keep a eye on this part: &lt;em&gt;Updates between multiple major versions and downgrades are unsupported.&lt;/em&gt; as I was running 25 version I can no jump for above 27, if that&amp;rsquo;s our case, we can edit the file &lt;strong&gt;app/config/config.php&lt;/strong&gt; edit the version of your nextcloud like below:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python &amp; Virtual Environments</title>
      <link>https://jose.castrillo.eu/post/python3-environment/</link>
      <pubDate>Wed, 15 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/python3-environment/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/python-env.jpg&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;When starting a Python 3 project in Linux, it&amp;rsquo;s essential to follow best practices to ensure a clean and isolated development environment. One of the recommended approaches is to utilize virtual environments. Virtual environments allow you to create an isolated environment for each project, preventing conflicts between different packages and dependencies. In this guide, we&amp;rsquo;ll walk you through the steps to set up and activate a virtual environment for your Python 3 project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>csi interface for eks by terraform</title>
      <link>https://jose.castrillo.eu/post/efs-csi-eks-tf/</link>
      <pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/efs-csi-eks-tf/</guid>
      <description>&lt;p&gt;It has been a while since my last post, I was busy these last couples of weeks; meanwhile I&amp;rsquo;ve learned how to implement a csi interface on eks (aws k8s) and it&amp;rsquo;s pretty interesting on AWS by EKS service, thus I though it can be useful this content into a post.&lt;/p&gt;
&lt;p&gt;Requirements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You will need your eks already running.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;rsquo;ll point each tools, techs, etc I used on this procedure:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How setup a Gitlab Runner (CI)</title>
      <link>https://jose.castrillo.eu/post/gitlab-runner1/</link>
      <pubDate>Wed, 08 Dec 2021 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/gitlab-runner1/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/runner_logo.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;h2 id=&#34;part-i--&#34;&gt;Part I -&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m learning Gitlab Runner and how them works on CI implementation.&lt;/p&gt;
&lt;p&gt;GitLab Runner is an application that works with GitLab CI to run jobs in a pipeline, they are written in &lt;a href=&#34;https://golang.org/&#34;&gt;GO&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Summary the task I will do:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install Gitlab-runner as container(podman).&lt;/li&gt;
&lt;li&gt;Runner registration.
&lt;ul&gt;
&lt;li&gt;Enter the GitLab instance URL&lt;/li&gt;
&lt;li&gt;registration token.&lt;/li&gt;
&lt;li&gt;runner description.&lt;/li&gt;
&lt;li&gt;tags.&lt;/li&gt;
&lt;li&gt;Select an &lt;a href=&#34;https://docs.gitlab.com/runner/executors/&#34;&gt;executor&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Create a gitlab-ci.yml&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Install runner:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create the Volume:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;podman volume create gitlab-runner-config
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Pull and start the container by &lt;strong&gt;register&lt;/strong&gt; command, then we will prompt the data need for register the runner into the project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Install Hetzner-CLi on Fedora by Toolbox</title>
      <link>https://jose.castrillo.eu/post/hetzner-cli-toolbox/</link>
      <pubDate>Sun, 04 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/hetzner-cli-toolbox/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://castrillo.gitlab.io/figaro/hetzner-blog.png&#34; alt=&#34;&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;On this new entry I will share a briefly installation step by step by using Toolbox at Fedora 34 to use the hcloud-cli. Due we do not have an official package on fedora &lt;a href=&#34;https://github.com/hetznercloud/cli&#34;&gt;git-repo&lt;/a&gt; yet, hence we can create this container.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pre-requirement:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Visit Hetzner Cloud Console at &lt;a href=&#34;https://console.hetzner.cloud&#34;&gt;https://console.hetzner.cloud&lt;/a&gt;, select your project, and create a new API Token.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s start:&lt;/p&gt;
&lt;p&gt;1- Create a file named &lt;em&gt;Dockerfile.debian&lt;/em&gt; with the following contents(the following image is made to use a script to named and set a token_key):&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>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>How to deploy Wordpress &#43; Mariadb using Docker</title>
      <link>https://jose.castrillo.eu/post/wordpress-mariadb-docker/</link>
      <pubDate>Sat, 08 Aug 2020 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/wordpress-mariadb-docker/</guid>
      <description>&lt;p&gt;Below you will see the statement I used to deploy a &lt;a href=&#34;https://hub.docker.com/_/wordpress&#34;&gt;Wordpress&lt;/a&gt; as db &lt;a href=&#34;https://hub.docker.com/_/mariadb&#34;&gt;mariadb&lt;/a&gt; (mysql); I shared it to you, cos I&amp;rsquo;ve been looking out for a good .yml statement piece, but some of them are older or put other set frontend as nginx, etc. I did a simple and easier deployment statement, so here we have:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&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;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;s1&#34;&gt;&amp;#39;3.3&amp;#39;&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;services&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;wordpress&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;depends_on&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;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;nt&#34;&gt;image&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;wordpress:latest&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;volumes&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;./html:/var/www/html&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;ports&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;s2&#34;&gt;&amp;#34;8080:80&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;restart&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;always&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;environment&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;WORDPRESS_DB_HOST&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;db:3306&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;WORDPRESS_DB_USER&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;wordpress&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;WORDPRESS_DB_PASSWORD&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;password&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;links&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;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;nt&#34;&gt;depends_on&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;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&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;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;image&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;mariadb:10.5.4-focal&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;volumes&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;./db_data:/var/lib/mysql&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;restart&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;always&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;environment&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;MYSQL_ROOT_PASSWORD&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;SECRET&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;MYSQL_DATABASE&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;wordpress&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;MYSQL_USER&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;wordpress&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;MYSQL_PASSWORD&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;password&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;ports&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;s2&#34;&gt;&amp;#34;3306:3306&amp;#34;&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;You can switch the local mount to volume mount it will depend of you design.&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>Docker Container &#34;before start&#34;</title>
      <link>https://jose.castrillo.eu/post/docker-containers/</link>
      <pubDate>Sun, 26 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/docker-containers/</guid>
      <description>&lt;h2 id=&#34;part-i&#34;&gt;Part I&lt;/h2&gt;
&lt;p&gt;Containers are environments that host individual applications using a framework like &lt;strong&gt;Docker&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Docker Editions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Docker CE ( community edition ) free version&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Docker EE ( enterprise edition) Paid&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Versions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Stable, released every 4 months.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Edge (beta) released every month. For testing&lt;/li&gt;
&lt;li&gt;EE, support for one year.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example how to create a container:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$docker container run --publish 80:80 --detach --name webhost nginx
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;detach: subcommand is to let run the container and keep use the command prompt
name: create a container’s name.&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>Backup your Wikijs DB</title>
      <link>https://jose.castrillo.eu/post/postgres-wikijs-backup/</link>
      <pubDate>Mon, 15 Jul 2019 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/postgres-wikijs-backup/</guid>
      <description>&lt;p&gt;This is a little resume of how I&amp;rsquo;m doing a backup procedure of my wikijs database based in Docker-compose.&lt;/p&gt;
&lt;p&gt;Below are the systems used in my enviroment:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Project: &lt;a href=&#34;https://docs.requarks.io/&#34;&gt;Wikijs&lt;/a&gt; 2.0 Beta&lt;/li&gt;
&lt;li&gt;Platform: Docker-Compose&lt;/li&gt;
&lt;li&gt;DB: Postgres (9.6.14)&lt;/li&gt;
&lt;li&gt;Server: Fedora Server 30.x86_64&lt;/li&gt;
&lt;li&gt;Workstation: Windows 10 (provided by work) &amp;#x1f62c;&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id=&#34;psql-basic-commands&#34;&gt;PSQL basic commands:&lt;/h5&gt;
&lt;p&gt;Here are 4 basic commands I use to connect into my Postgre DB and check out DB list and quite.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;$psql -h localhost -p 5416 -U &amp;lt;my-user&amp;gt; -d &amp;lt;my-database&amp;gt;&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Disable live-restore to run Docker Swarm</title>
      <link>https://jose.castrillo.eu/post/docker-local-post/</link>
      <pubDate>Thu, 28 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/docker-local-post/</guid>
      <description>&lt;p&gt;The following instruction is a solution when you got an error response with &lt;a href=&#34;https://docs.docker.com/v17.09/engine/admin/live-restore/&#34;&gt;live-restore&lt;/a&gt; using Docker Swarm in Fedora 28 or highter&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ docker swarm init
Error response from daemon: --live-restore daemon configuration is incompatible with swarm mode
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;That&amp;rsquo;s not possible to enable Live-restore and Swarm-mode together.&lt;/p&gt;
&lt;p&gt;First make sure that the &lt;strong&gt;SElinux&lt;/strong&gt; is Permissive or Disabled.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ sestatus

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      31
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then remove the &amp;ndash;live-restore line from the &lt;strong&gt;/etc/sysconfig/docker&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pulling Mysql using Docker Hub into Linux workstation</title>
      <link>https://jose.castrillo.eu/post/docker-mysql-local/</link>
      <pubDate>Thu, 28 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/docker-mysql-local/</guid>
      <description>&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ systemctl start docker
$ systemctl status docker
$ docker pull mysql
$ docker image ls
$ docker run --name db -e MYSQL_ROOT_PASSWORD=mysql123 -d mysql
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Use the docker exec -it command to start a mysql client inside the Docker container you have started, like the following:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ docker exec -it db mysql -uroot -p
&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Enable &#34;Kubectl&#34; auto-completion in the Shell (Linux)</title>
      <link>https://jose.castrillo.eu/post/k8s-gcp-post/</link>
      <pubDate>Sun, 25 Nov 2018 00:00:00 +0000</pubDate>
      <guid>https://jose.castrillo.eu/post/k8s-gcp-post/</guid>
      <description>&lt;p&gt;When you&amp;rsquo;ve done the &lt;a href=&#34;https://cloud.google.com/sdk/docs/&#34;&gt;SDK&lt;/a&gt; installation in your Linux workstation. list the components you have installed, then you will see the full list additional components from gcp SDK:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;gcloud components list
gcloud components install &amp;lt;COMPONENT_ID&amp;gt;
gcloud components install kubectl
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then follow the instruction from the kubernetes official &lt;a href=&#34;https://kubernetes.io/docs/tasks/tools/install-kubectl/&#34;&gt;documentation&lt;/a&gt;, check the &amp;ldquo;bash-completion&amp;rdquo; and finally issue the command below:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;echo &amp;#34;source &amp;lt;(kubectl completion bash)&amp;#34; &amp;gt;&amp;gt; ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Even you can go directly through your .bashrc (sudo) to add manually, it should look like:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
