Criando sistema de média em uma instancia no Oracle Cloud – (Instalando Jellyfin)

Primeiramente nós iremos explicar o que seria esta instancia no nosso Oracle Cloud. Uma instancia e apenas o nome dado pelo Oracle para uma máquina virtual. Do mesmo jeito que você potencialmente poderia utilizar o VitualBox para criar uma máquina virtual no seu computador para poder rodar diferentes aplicativos, o Oracle faz este mesmo processo.

Utilizando a versão “Always free” você pode criar uma máquina virtual que possibilita utilizar 4 Vcores e 24 GB de ram. Com esta máquina virtual, você poderia rodar vários aplicativos.

No nosso caso iremos rodar a maioria dos nossos aplicativos utilizando o Docker. Isso se dá pela flexibilidade das instalações. Você pode testar, modificar, desinstalar e tudo irá funcionar de modo eficiente.

Um dos limitantes do nosso Oracle cloud e a quantidade de armamento que nós temos. Nós podemos utilizar até 200 GB de nossa capacidade na qual poderá ser divindade em todas as máquinas virtual que você quiser criar. Porem isso significa que se nos criara apenas uma máquina virtual, nós poderemos utilizar no máximo 200 GB o que não é suficiente para criar uma vasta biblioteca.

Se nos considerar a média de um filme 1080p, você vai encontrar filmes de 3 GB. Porem se você quiser uma qualidade melhor, tal como um filme em 4K daí você vai acabar utilizando por volta de 33 GB. O tamanho de um filme irá depender da duração deste filme, e do “Bitrate” do filme.

Isso significa que você vai poder ter uma média de 60 filmes em 1080p e no máximo 6 filmes em 4K. Porem acredito que ninguém quer manter uma biblioteca tão limitado.

Então vem a necessidade de encontrar outros métodos para entender nossa capacidade. Uma dessas opção seriam utilizar o sistema de cloud. Ainda vem a necessidade de utilizar o Rclone para fazer uma conexão entre nosso cloud.

Tendo isso em mente, para fazer a instalação do Jellyfin antes será necessário ter o Rclone instalando e funcionando em seu servidor de arquivos.

Se você não tem o Rclone instalado, então de uma olhada no link abaixo onde eu mostrei como fazer a configuração do Rclone.

Agora sim podemos passar para a próxima etapa. Primeiramente nós devemos ter o Docker Instalado.

Para isso você deve conectar no seu servidor através do SSH. No meu caso, eu gosto de usar o PuTTY, Porem você pode usar qualquer programa que mais te agrada. No caso do PuTTy, você dever configurar de acordo com a foto abaixo. Além do mais não se esqueça de adicionar sua chave privada.

Mas o que seria esse programa Docker. O Docker e um conjunto de plataformas e serviços que usam a ideia de virtualização para gerenciar diferentes pacotes. Esses pacotes são conhecidos como contêineres.

Cada container é isolado um dos outros e tem todos os componentes necessários tais como softwares, bibliotecas e arquivos de configuração. Dependendo de sua configuração os contêineres podem se comunicar entre eles assim realizados atividades especificas para o funcionamento de cada programa.

Tendo isso em mente, agora devemos começar a nossa instalação. Para fazer a instalação, primeiro devemos fazer o download dos de nosso pacote de informações, para isso, será necessário utilizar o comando:

curl -fsSL https://get.docker.com -o get-docker.sh

Agora sim vem a hora de instalar nosso Docker. Para isso iremos utilizar o seguinte comando:

sudo sh get-docker.sh

Se sua instalação foi feita do modo correto, agora você deveria ter a seguinte página:

Deste jeito você saberá que versão de Docker está rodando no seu sistema.

Agora vem o momento de configurar seu primeiro container. No nosso caso queremos gerenciar os todos os aplicativos que iremos instalar no nosso Docker. O modo mais fácil de fazer isso e utilizar o Portainer.

Para fazer a instalação do nosso Portainer, primeiramente devemos criar nosso Volume para que nosso programa possa ser instalado, para criar nosso volume, nos devemos utilizar o comando:

sudo docker volume create portainer

Tendo criado nosso volume, agora sim nos podemos fazer a nossa instalação, nos podemos criar nosso container, para isso, iremos utilizar o comando:

sudo docker run -d -p 9000:9000 –name portainer –restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer:/data portainer/portainer-ce:latest -H unix:///var/run/docker.sock

Uma vez que o nosso Portainer foi instaldo, vem a hora de liberar algumas portas no nosso Firewall.

Então iremos voltar na página do Oracle cloud, e vamos entrar novamente na nossa instancia. E vamos na parte de “Vitual Cloud Network”

Após isso nos iremos selecionar nossa sub-net.

Por fim vamos entrar na nossa lista de segurança onde nos iremos permitir o tráfico das portas necessárias.

Agora sim vamos adicionar nossas permissões de portas. Segue lista abaixo com as portas a serem liberadas:

 

Porta 80 –Protocolo HTTP

Porta 81 – NGINX Proxy manager

Porta 443 – Protocolo HTTPS

Porta 8096 – Jellyfin

Porta 9000 – Portainer

 

As configurações de portas vão ser parecidas com a foto abaixo.

Agora estamos oficialmente com acesso a nossa aplicativos. Agora podemos começar a instalar os outros aplicativos.

Para começar a instalar nossos outros aplicativos, nos iremos ter que entrar no nosso Portainer utilizando a porta 9000. Vai ser necessário utilizar o IP de nossa máquina virtual seguido por :9000.

Primeira vez que você acessar esse site, irá aparecer a página para criar seu usuário. Então basta você definir seu usuário mais a sua senha.

Após ter definido seu usuário, vai ser necessário entrar a área de stocks para que seja possível criar nosso primeiro stock.

O segundo Container a ser criado será o NGINX Proxy Manager, onde e possível obter mais informações no site: https://nginxproxymanager.com/

Porem como o site mudou, então não temos mais acesso a nosso Docker composse complete com o banco de dados, porem nem tudo está perdido, pois você pode utilizar o Docker composse abaixo:

version: ‘3’

services:

  app:

    image: ‘jc21/nginx-proxy-manager:latest’

    restart: unless-stopped

    ports:

      – ’80:80′

      – ’81:81′

      – ‘443:443’

    environment:

      DB_MYSQL_HOST: “db”

      DB_MYSQL_PORT: 3306

      DB_MYSQL_USER: “sauberlab”

      DB_MYSQL_PASSWORD: “test123”

      DB_MYSQL_NAME: “nginx”

    volumes:

      – /mnt/nginx/data:/data

      – /mnt/nginx/letsencrypt:/etc/letsencrypt

  db:

    image: ‘jc21/mariadb-aria:latest’

    restart: unless-stopped

    environment:

      MYSQL_ROOT_PASSWORD: ‘test123’

      MYSQL_DATABASE: ‘nginx’

      MYSQL_USER: ‘sauberlab’

      MYSQL_PASSWORD: ‘test123’

    volumes:

 

      – /mnt/nginx/data/mysql:/var/lib/mysql

Se sua instalação foi feita com sucesso, você vai ter 2 novos container, o NGINX app e o NGINX Database:

Se nos abrirmos o nosso log do NGINX app – na parte de logo, você tem que esperar para aparecer as informações parecidas as da imagem abaixo:

Por fim iremos instalar nosso último container, desta vez vem a vez do nosso Jelyfin. Para mais informações sobre a imagem utilizado do Jellyfin, você pode acessar o site: https://hub.docker.com/r/linuxserver/jellyfin

O Docker container utilizado nesse stock pode ser visto na caixa abaixo:

version: “2.1”

services:

  jellyfin:

    image: lscr.io/linuxserver/jellyfin

    container_name: jellyfin

    environment:

      – PUID=1000

      – PGID=1000

      – TZ=Europe/London

      – JELLYFIN_PublishedServerUrl=192.168.0.5 #optional

    volumes:

      – /path/to/library:/config

      – /path/to/tvseries:/data/tvshows

      – /path/to/movies:/data/movies

      – /opt/vc/lib:/opt/vc/lib #optional

    ports:

      – 8096:8096

      – 8920:8920 #optional

      – 7359:7359/udp #optional

      – 1900:1900/udp #optional

    devices:

      – /dev/dri:/dev/dri #optional

      – /dev/vcsm:/dev/vcsm #optional

      – /dev/vchiq:/dev/vchiq #optional

      – /dev/video10:/dev/video10 #optional

      – /dev/video11:/dev/video11 #optional

      – /dev/video12:/dev/video12 #optional

    restart: unless-stopped

 

 

Após ter rodado este stock, nós iremos verificar se a instalação foi feita com sucesso, para isso, no nosso container, iremos na parte de log. Se aparecer a informacoes que nosso aplicativo aparecer como “done”, isso significa que agora podemos partir para a próxima etapa. Esta próxima etapa será a configuração dos nossos aplicativos.

Agora vamos começar a fazer nossa configuração. O primeiro aplicativo que iremos configurar e o NGINX Proxy manager. Para fazer isso, e simples, primeiro iremos abrir a porta 81.

O usuário e senha inicial deste aplicativo pode ser encontrado na caixa abaixo.

Email:    [email protected]

Password: changeme

Após ter criado seu primeiro usuário, você pode ir na parte de Dashboard e começar a adicionar seus domínios.

O tipo de aplicativos que iremos trabalhar vai se Poxy Hosts. Para adicionar um novo proxy host, será necessário adicionar o site complete do seu domínio, o IP da máquina quer você deseja fazer o direcionamento de portas e a porta. No nosso caso iremos utilizar a porta 8096 pois queremos configurar o Jellyfin.

Para gerar nosso certificado, será necessário ir na aba de SSL e mudar a opção para “request a new SSL Certificate”.

Uma vez seu site criado e o certificado gerado, será necessário acessar este site para poder começar a configurar o sistema.

Primeira vez que o Jellyfin, você vai ser deparar com esta página, onde será necessário adicionar a língua que você deseja que seu aplicativo funcione:

Após isso, será necessário criar o usuário e senha do administrador. Esse usuário terá a permiano de gerenciar seu aplicativo.

Tendo criado seu usuário, você via ter que adicionar sua biblioteca. Esta etapa vai ser bem simples, apenas definir o tipo de média e com seu respectivo destino no seu Rclone.

Agora você pode desfrutar do seu Jellyfin funcionando no Oracle Cloud.

Leave a Comment

Your email address will not be published.