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

<channel>
	<title>Media &#8211; Gentong Post</title>
	<atom:link href="https://gentongpost.com/tag/media/feed/" rel="self" type="application/rss+xml" />
	<link>https://gentongpost.com</link>
	<description>Gentong Post</description>
	<lastBuildDate>Sun, 21 Dec 2025 10:44:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Instale Jellyfin Media Server en un VPS NAT</title>
		<link>https://gentongpost.com/instale-jellyfin-media-server-en-un-vps-nat/</link>
					<comments>https://gentongpost.com/instale-jellyfin-media-server-en-un-vps-nat/#respond</comments>
		
		<dc:creator><![CDATA[Gentong Post]]></dc:creator>
		<pubDate>Sun, 21 Dec 2025 10:44:00 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Instale]]></category>
		<category><![CDATA[Jellyfin]]></category>
		<category><![CDATA[Media]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[VPS]]></category>
		<guid isPermaLink="false">https://gentongpost.com/instale-jellyfin-media-server-en-un-vps-nat/</guid>

					<description><![CDATA[NATVPS.id – Jellyfin es un servidor de medios. fuente abierta que le permite organizar, realizar transmisióny administre su colección de medios personales en todos los dispositivos mientras mantiene el control total de sus datos. No como plataformas nube transmisiónJellyfin no tiene niveles premium, ni seguimiento (telemetría) ni límites. Este artículo describe los pasos para instalar [&#8230;]]]></description>
										<content:encoded><![CDATA[<p></p>
<div>
			</p>
<p><strong>NATVPS.id</strong> – Jellyfin es un servidor de medios. <em>fuente abierta</em> que le permite organizar, realizar <em>transmisión</em>y administre su colección de medios personales en todos los dispositivos mientras mantiene el control total de sus datos. No como plataformas <em>nube</em><em>    transmisión</em>Jellyfin no tiene niveles premium, ni seguimiento (telemetría) ni límites.</p>
<p>Este artículo describe los pasos para instalar Jellyfin en un VPS NAT usando Docker Compose, así como la configuración de NGINX para <em>proxy inverso</em>. Este artículo utiliza Ubuntu 22.04 como referencia, pero puedes utilizar otras distribuciones como Debian y CentOS.</p>
<h2><span class="ez-toc-section" id="Konfigurasi_Port_Forwarding"/>Configurar el reenvío de puertos<span class="ez-toc-section-end"/></h2>
<p>Como estamos usando NAT, necesitamos agregar<strong> Configuraciones de reenvío de 2 puertos</strong> en el panel Virtualizor (u otro panel VPS según el proveedor), es decir <strong>Reenvío de puertos HTTP y HTTPS</strong> para el dominio Jellyfin<em>.</em></p>
<p>Por ejemplo, este artículo utilizará el dominio <strong>jellyfin.tutorial.mdinata.my.id</strong> para acceder a Jellyfin. Eres libre de cambiar de dominio según tu elección. Tome nota de este dominio, ya que lo usaremos nuevamente en el proceso de instalación.</p>
<p><img loading="lazy" data-recalc-dims="1" decoding="async" class="wp-image-2929 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-13.png?resize=760%2C135&amp;ssl=1" alt="" width="760" height="135" srcset="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-13.png?w=1275&amp;ssl=1 1275w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-13.png?resize=768%2C136&amp;ssl=1 768w" sizes="auto, (max-width: 760px) 100vw, 760px"/></p>
<p>No olvide agregar un registro DNS que vaya a la dirección IP pública NAT de su VPS, como este:</p>
<p><img loading="lazy" data-recalc-dims="1" decoding="async" class="wp-image-2928 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-12.png?resize=760%2C143&amp;ssl=1" alt="" width="760" height="143" srcset="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-12.png?w=1422&amp;ssl=1 1422w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-12.png?resize=768%2C144&amp;ssl=1 768w" sizes="auto, (max-width: 760px) 100vw, 760px"/></p>
<p>Si está confundido, lea nuestro artículo sobre <em>redirección de dominio</em> aquí: Explicación de la transferencia de dominio en NAT VPS.</p>
<h2><span class="ez-toc-section" id="Install_Docker"/>Instalar ventana acoplable<span class="ez-toc-section-end"/></h2>
<p>Usaremos Docker y Docker Compose para <em>desplegar</em> Guardián de la caja fuerte.</p>
<p>Primero, instale <em>bucle</em> usando el comando:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">apt update &amp;&amp; apt install curl -y</pre>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-1798 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-13.png?resize=760%2C382&amp;ssl=1" alt="" width="760" height="382" srcset="https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-13.png?w=1920&amp;ssl=1 1920w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-13.png?resize=768%2C386&amp;ssl=1 768w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-13.png?resize=1536%2C771&amp;ssl=1 1536w" sizes="auto, (max-width: 760px) 100vw, 760px"/></p>
<p>Entonces ejecútalo <em>guión</em> instalación automática de Docker ingresando:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">curl -fsSL get.docker.com | sh</pre>
<p>Espere a que se complete el proceso de instalación.</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-1800 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-15.png?resize=760%2C382&amp;ssl=1" alt="" width="760" height="382" srcset="https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-15.png?w=1920&amp;ssl=1 1920w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-15.png?resize=768%2C386&amp;ssl=1 768w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-15.png?resize=1536%2C771&amp;ssl=1 1536w" sizes="auto, (max-width: 760px) 100vw, 760px"/></p>
<h2><span class="ez-toc-section" id="Install_Jellyfin"/>Instalar Jellyfin<span class="ez-toc-section-end"/></h2>
<p>Primero, cree un nuevo directorio para Jellyfin:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">mkdir /opt/jellyfin&#13;
cd /opt/jellyfin</pre>
</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-2925 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/Screenshot-from-2025-12-14-22-13-10.png?resize=364%2C86&amp;ssl=1" alt="" width="364" height="86"/></p>
<p>A continuación, cree un archivo Docker Compose:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">apt install nano -y # Jika belum&#13;
nano docker-compose.yml</pre>
<p>Complete la siguiente configuración:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic"># 
# Reference: 
&#13;
services:&#13;
  jellyfin:&#13;
    image: lscr.io/linuxserver/jellyfin:latest&#13;
    container_name: jellyfin&#13;
    environment:&#13;
      - PUID=0 # root&#13;
      - PGID=0 # root&#13;
      - TZ=Asia/Jakarta&#13;
    volumes:&#13;
      - ./config:/config&#13;
      - ./media:/data&#13;
    ports:&#13;
      - 8096:8096&#13;
    restart: unless-stopped&#13;
</pre>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-2924 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-9.png?resize=590%2C428&amp;ssl=1" alt="" width="590" height="428"/></p>
<p>Guarde el archivo con <code>Ctrl-X</code>, <code>y</code>ENTONCES <code>Enter</code>.</p>
<p>Finalmente, lanza Jellyfin</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">docker compose up -d</pre>
<p>Espera el proceso <em>desplegar</em> finalizado. La primera implementación puede tardar unos minutos debido a la descarga. <em>imagen</em> Jellyfin, así como su configuración<i> </i>desde el principio.</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-2926 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-10.png?resize=590%2C428&amp;ssl=1" alt="" width="590" height="428"/></p>
<h2><span class="ez-toc-section" id="Konfigurasi_NGINX_Reverse_Proxy"/>Configuración de NGINX (proxy inverso)<span class="ez-toc-section-end"/></h2>
<p>Jellyfin requiere una conexión cifrada usando HTTPS por seguridad <em>contraseña</em> que se salva. Para que podamos acceder a URL con HTTPS a través de dominios como <strong>https://jellyfin.tutorial.mdinata.my.id</strong>podemos usar <em>proxy inverso</em> como NGINX.</p>
<p>En primer lugar, <em>instalar</em> NGINX mediante el comando:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash"># Hapus Apache2 dan pendukungnya (biasanya terpasang secara bawaan di VPS OpenVZ)&#13;
apt purge apache2* -y&#13;
&#13;
# Install NGINX&#13;
apt install nginx -y</pre>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-1807 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-22.png?resize=760%2C382&amp;ssl=1" alt="" width="760" height="382" srcset="https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-22.png?w=1920&amp;ssl=1 1920w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-22.png?resize=768%2C386&amp;ssl=1 768w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-22.png?resize=1536%2C771&amp;ssl=1 1536w" sizes="auto, (max-width: 760px) 100vw, 760px"/></p>
<p>Cree una nueva configuración de host específicamente para Jellyfin:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">nano /etc/nginx/sites-available/jellyfin</pre>
<p>Luego pegue la siguiente configuración:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic"># 
# Reference: 
&#13;
server {&#13;
      listen 80;&#13;
      server_name jellyfin.tutorial.mdinata.my.id;&#13;
&#13;
      access_log /var/log/nginx/jellyfin.access;&#13;
      error_log /var/log/nginx/jellyfin.error;&#13;
&#13;
      location / {&#13;
          proxy_pass 
          proxy_set_header Host $host;&#13;
          proxy_set_header X-Real-IP $remote_addr;&#13;
&#13;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&#13;
          proxy_set_header X-Forwarded-Proto $scheme;&#13;
          proxy_set_header X-Forwarded-Protocol $scheme;&#13;
          proxy_set_header X-Forwarded-Host $http_host;&#13;
&#13;
          # Disable buffering when the nginx proxy gets very resource heavy upon streaming&#13;
          proxy_buffering off;&#13;
      }&#13;
&#13;
      location /socket {&#13;
          # Proxy Jellyfin Websockets traffic&#13;
          proxy_pass 
          proxy_http_version 1.1;&#13;
          proxy_set_header Upgrade $http_upgrade;&#13;
          proxy_set_header Connection "upgrade";&#13;
          proxy_set_header Host $host;&#13;
          proxy_set_header X-Real-IP $remote_addr;&#13;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&#13;
          proxy_set_header X-Forwarded-Proto $scheme;&#13;
          proxy_set_header X-Forwarded-Protocol $scheme;&#13;
          proxy_set_header X-Forwarded-Host $http_host;&#13;
      }&#13;
&#13;
        # Security / XSS Mitigation Headers&#13;
        add_header X-Frame-Options "SAMEORIGIN";&#13;
        add_header X-XSS-Protection "1; mode=block";&#13;
        add_header X-Content-Type-Options "nosniff";&#13;
&#13;
}</pre>
<p>Cambiar <code>jellyfin.tutorial.mdinata.my.id</code> con tu dominio.</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-2927 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-11.png?resize=760%2C591&amp;ssl=1" alt="" width="760" height="591" srcset="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-11.png?w=1191&amp;ssl=1 1191w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-11.png?resize=768%2C597&amp;ssl=1 768w" sizes="auto, (max-width: 760px) 100vw, 760px"/></p>
<p>Active la configuración mediante:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ln -sf /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/&#13;
&#13;
# Restart NGINX&#13;
systemctl restart nginx</pre>
<h3><span class="ez-toc-section" id="Generate_Sertifikat_SSL_Lets_Encrypt"/>Generar SSL Sertifikat (Let&#8217;s Encrypt)<span class="ez-toc-section-end"/></h3>
<p>Para que nuestro dominio sea accesible a través de HTTPS, necesitamos crear un certificado SSL. Podemos utilizar un certificado SSL gratuito de Let&#8217;s Encrypt a través de Certbot.</p>
<p><em>Instalar</em> Certbot y su complemento NGINX usan el comando:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">apt install python3-certbot python3-certbot-nginx</pre>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-1811 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-25.png?resize=760%2C382&amp;ssl=1" alt="" width="760" height="382" srcset="https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-25.png?w=1920&amp;ssl=1 1920w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-25.png?resize=768%2C386&amp;ssl=1 768w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/01/image-25.png?resize=1536%2C771&amp;ssl=1 1536w" sizes="auto, (max-width: 760px) 100vw, 760px"/></p>
<p>ENTONCES, <em>generar</em> certificado a través de Certbot con comando</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">certbot --nginx -d jellyfin.tutorial.mdinata.my.id</pre>
<p>Cambiar <code>jellyfin.tutorial.mdinata.my.id</code> con tu dominio.</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-2930 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-14.png?resize=760%2C356&amp;ssl=1" alt="" width="760" height="356" srcset="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-14.png?w=1028&amp;ssl=1 1028w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-14.png?resize=768%2C360&amp;ssl=1 768w" sizes="auto, (max-width: 760px) 100vw, 760px"/></p>
<p>¡Feliz! Actualmente se puede acceder a Vaultwarden a través de una conexión HTTPS segura.</p>
<h2><span class="ez-toc-section" id="Mengakses_Jellyfin"/>Acceder a Jellyfin<span class="ez-toc-section-end"/></h2>
<p>Se puede acceder a Jellyfin a través de su dominio anterior. Ejemplo: <strong>https://jellyfin.tutorial.mdinata.my.id</strong>.</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-2931 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-15.png?resize=760%2C415&amp;ssl=1" alt="" width="760" height="415" srcset="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-15.png?w=1920&amp;ssl=1 1920w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-15.png?resize=768%2C420&amp;ssl=1 768w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-15.png?resize=1536%2C839&amp;ssl=1 1536w" sizes="auto, (max-width: 760px) 100vw, 760px"/></p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="wp-image-2932 alignnone size-full" src="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-16.png?resize=760%2C415&amp;ssl=1" alt="" width="760" height="415" srcset="https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-16.png?w=1920&amp;ssl=1 1920w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-16.png?resize=768%2C420&amp;ssl=1 768w, https://i0.wp.com/natvps.id/wp-content/uploads/2025/12/image-16.png?resize=1536%2C839&amp;ssl=1 1536w" sizes="auto, (max-width: 760px) 100vw, 760px"/></p>
<h2><span class="ez-toc-section" id="Penutup"/>Frazada<span class="ez-toc-section-end"/></h2>
<p>Por lo tanto, este artículo trata sobre los pasos a seguir para instalar Jellyfin en un VPS NAT.</p>
<p>Si está confundido o tiene dudas, no dude en preguntar al grupo de Telegram @IPv6Indonesia. ¡GRACIAS!</p>
</p></div>
<p><a href="https://customsairproducts.com">News</a><br />
<a href="https://techwalet.com">Berita Teknologi</a><br />
<a href="https://ellisdirectory.com">Berita Olahraga</a><br />
<a href="https://italytinyhomes.com">Sports news</a><br />
<a href="https://writingwinds.com">sports</a><br />
<a href="https://esmeraldaromero.com">Motivation</a><br />
<a href="https://thecastingout.com">football prediction</a><br />
<a href="https://justotal.com">technology</a><br />
<a href="https://blongbus.com">Berita Technologi</a><br />
<a href="https://aplgostore.com">Berita Terkini</a><br />
<a href="https://1travelstore.com">Tempat Wisata</a><br />
<a href="https://v6g2.com">News Flash</a><br />
<a href="https://kesfo.com">Football</a><br />
<a href="https://almaqbel.com">Gaming</a><br />
<a href="https://prepperpepper.com">Game News</a><br />
<a href="https://cannakitstore.com">Gamers</a><br />
<a href="https://jmhcorporation.com">Jasa Artikel</a><br />
<a href="https://pakarpbn.com">Jasa Backlink</a><br />
<a href="https://nikmatabadi.com">Agen234</a><br />
<a href="https://nikmatharta.com">Agen234</a><br />
<a href="https://sedapcatering.com">Agen234</a><br />
<a href="https://warungku.id">Resep</a><br />
<a href="https://bjalogistic.id">Cek Ongkir Cargo</a><br />
<a href="https://eliterotikmarket.com/">Download Film</a><br />
</p>
<p>Situs berita olahraga khusus sepak bola adalah platform digital yang fokus menyajikan informasi, berita, dan analisis terkait dunia sepak bola. Sering menyajikan liputan mendalam tentang liga-liga utama dunia seperti Liga Inggris, La Liga, Serie A, Bundesliga, dan kompetisi internasional seperti Liga Champions serta Piala Dunia. Anda juga bisa menemukan opini ahli, highlight video, hingga berita terkini mengenai perkembangan dalam sepak bola.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gentongpost.com/instale-jellyfin-media-server-en-un-vps-nat/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
