Mesmo com a crescente popularidade dos serviços em nuvem, a necessidade de executar aplicações nativas ainda existe.
Utilizando o noVNC e o TigerVNC, você pode executar aplicações nativas dentro de um contêiner Docker e acessá-las remotamente usando um navegador Web. Além disso, você pode executar sua aplicação em um servidor com mais recursos de sistema do que você pode ter disponível localmente, o que pode fornecer maior flexibilidade ao se executar grandes aplicações.
Neste tutorial, você irá conteinerizar o Mozilla Thunderbird, um cliente de e-mail usando o Docker. Depois, você irá protegê-lo e fornecer acesso remoto usando o servidor Web Caddy.
Quando você terminar, você será capaz de acessar o Thunderbird a partir de qualquer dispositivo usando apenas um navegador Web. Opcionalmente, você também poderá acessar localmente os arquivos dele usando o WebDAV. Você também terá uma imagem Docker totalmente independente que você pode executar em qualquer lugar.
Antes de iniciar este guia, você precisará do seguinte:
sudo
.supervisord
Agora que seu servidor está em execução e o Docker está instalado, você está pronto para começar a configuração do contêiner da sua aplicação. Como seu contêiner consiste em vários componentes, você precisa usar um gerenciador de processos para iniciá-los e monitorá-los. Aqui, você estará usando o [supervisord](http://supervisord.org/)
. O supervisord
é um gerenciador de processos escrito em Python que é frequentemente usado para orquestrar contêineres complexos.
Primeiro, crie e entre em um diretório chamado thunderbird
para seu contêiner:
mkdir ~/thunderbird
cd ~/thunderbird
Agora crie e abra um arquivo chamado supervisord.conf
usando o nano
ou o seu editor preferido:
nano ~/thunderbird/supervisord.conf
Agora adicione este primeiro bloco de código em supervisord.conf
, que definirá as opções globais para o supervisord:
~/thunderbird/supervisord.conf
[supervisord]
nodaemon=true
pidfile=/tmp/supervisord.pid
logfile=/dev/fd/1
logfile_maxbytes=0
#ubuntu 20.04 #docker #caddy #novnc #tigervnc #dockerfile