Header Ads

Como auto-hospedar uma nuvem colaborativa com Nextcloud e Docker

monticello / Shutterstock. com

Nextcloud é uma plataforma de colaboração e compartilhamento de arquivos de código aberto que rivaliza com serviços como Google Workplace e Microsoft 365. Nextcloud permite que você hospede sua própria nuvem colaborativa, para que você não precise se prender a um público provedor.

Uma instalação regular do Nextcloud pode ser demorada para configurar. Nextcloud é construído na pilha LAMP clássica, então você precisará do Apache, PHP e MySQL, cada um com seus próprios pré-requisitos. Isso pode dificultar a manutenção da instalação ou usá-la junto com outras cargas de trabalho em seu servidor.

Executar Nextcloud como um contêiner Docker simplifica o procedimento de configuração e permite isolar a instalação de seus outros aplicativos. Nextcloud tem uma imagem oficial do Docker, na qual nos concentraremos neste artigo. O projeto linuxserver da comunidade também fornece sua própria imagem com alguns padrões pré-configurados.

Planejando a configuração

A imagem do Nextcloud Docker vem com uma configuração de servidor da web em funcionamento. Você obterá Apache, PHP e uma instalação Nextcloud pré-configurada. Um banco de dados SQLite é usado por padrão.

Embora um docker run -d -p 80:80 nextcloud básico traga um servidor pronto para rodar, isso não inclui provisão para armazenamento persistente. O aspecto mais crítico da implantação Dockerized Nextcloud é a configuração correta do volume para que você não perca seus dados.

Publicidade

Além disso, o banco de dados SQLite padrão é adequado apenas para uso em pequena escala. Se você vai ter mais do que um punhado de usuários, provisionar um banco de dados MySQL ou PostgreSQL melhorará o desempenho.

Vamos agora construir uma instalação Dockerized Nextcloud que roda em MySQL e usa volumes Docker para manter seus dados com segurança. Se você preferir usar PostgreSQL, substitua as referências ao MySQL abaixo por suas contrapartes do PostgreSQL.

Preparação

Você pode implantar o Nextcloud usando comandos básicos da CLI do Docker. Isso rapidamente se torna tedioso, para não mencionar difícil de lembrar no futuro. Em vez disso, usar o Docker Compose permite definir sua configuração como código.

Certifique-se de ter o Docker e o Docker Compose instalados em seu sistema. Crie um novo diretório para armazenar seus arquivos de configuração do Nextcloud. Adicione um arquivo docker-compose. yml e cole o seguinte conteúdo:

versão: " 3 " serviços: nextcloud: imagem: nextcloud: última reinicialização: portas a menos que interrompidas: - 80:80 ambiente: - MYSQL_HOST = mysql - MYSQL_DATABASE = nextcloud - MYSQL_USER = nextcloud - MYSQL_PASSWORD = volumes nextcloud: - nextcloud: / var / www / html mysql : image: mysql: 8.0 restart: ambiente a menos que interrompido: - MYSQL_DATABASE = nextcloud - MYSQL_USER = nextcloud - MYSQL_PASSWORD = nextcloud - MYSQL_ROOT_PASSWORD = volumes nextcloud: - volumes mysql: / var / lib / mysql volumes: mysql: nextcloud:

Este arquivo Compose encapsula toda a configuração para uma instalação segura do Nextcloud. Ele provisiona um banco de dados MySQL e configura o Nextcloud para se conectar a ele. Você deve definir MYSQL_PASSWORD e MYSQL_ROOT_PASSWORD para proteger os valores personalizados.

Todo o diretório / var / www / html é montado como um volume Docker. Nextcloud armazena sua fonte, configurações e dados do usuário aqui. Ao transformar todo o diretório em um volume, o autoatualizador do Nextcloud &’ funcionará corretamente. Caso contrário, você teria que obter uma nova imagem de contêiner para atualizar, pois o autoatualizador não seria capaz de substituir persistentemente os arquivos do Nextcloud.

Publicidade

O servidor Nextcloud será vinculado à porta 80 em sua máquina por padrão. Você pode usar uma porta diferente, como 8080, atualizando a configuração das portas:

- 8080: 80

Agora, você está pronto para implantar Nextcloud com Docker Compose:

 docker-compose up -d 

Aguarde enquanto o Compose puxa as imagens e inicia seus contêineres. Você poderá então acessar Nextcloud visitando localhost em seu navegador.

Primeira execução

A primeira vez que você visitar o Nextcloud, será mostrado o assistente de configuração padrão. Digite um nome de usuário e senha para sua primeira conta de usuário. Se você deseja instalar alguns aplicativos principais, incluindo calendário, contatos e chamadas do Nextcloud Talk, deixe a janela “ Instalar aplicativos recomendados ” caixa de seleção marcada.

Clique em “ Concluir configuração ” para completar o processo de instalação. Pode demorar alguns minutos enquanto os aplicativos são instalados. Não feche a guia do navegador até que a configuração seja concluída. Assim que o Nextcloud estiver pronto, você verá um conjunto rápido de slides de introdução. Você será direcionado para o painel do Nextcloud.

O painel oferece uma visão centralizada de seus ativos de nuvem. Aplicativos individuais podem exibir conteúdo no painel. Você pode acessar todos os seus aplicativos usando os ícones no canto superior esquerdo.

Para instalar aplicativos extras, clique no ícone do seu perfil de usuário no canto superior direito. Escolha “ Aplicativos ” no menu. Clique em uma das categorias na barra lateral esquerda para ver todos os aplicativos disponíveis. Pressione “ Baixar e habilitar ” abaixo do cartão de qualquer aplicativo para adicioná-lo à sua instância Nextcloud.

Publicidade

As configurações de administrador do Nextcloud são encontradas clicando no ícone do seu perfil de usuário e escolhendo “ Configurações ” no menu. Clique nos links em “ Administrador ” na barra lateral esquerda para encontrar recursos de gerenciamento. A versão do Nextcloud e as atualizações disponíveis são exibidas na página “ Visão geral ” página.

Algumas tarefas de administração do Nextcloud são chamadas por meio do binário de linha de comando occ. Este é um script PHP dentro da fonte Nextcloud. Você pode interagir com o OCC usando docker-compose exec sem anexar totalmente ao contêiner:

 docker-compose exec - usuário www-data php occ occ-command-here 

É importante incluir o sinalizador --user para que occ seja executado como o mesmo usuário que a interface da web do Nextcloud. Caso contrário, você pode encontrar erros de propriedade e permissão do sistema de arquivos.

Automatizando a configuração

Muitas das configurações de administrador do Nextcloud podem ser predefinidas quando você inicia o contêiner. Além da configuração do banco de dados, a imagem oferece suporte a variáveis ​​de ambiente para configurar um sistema de correio, conectar-se ao armazenamento de objeto remoto e criar automaticamente um usuário administrador inicial. Ao fornecer esses valores, você não precisará fornecê-los ao assistente de configuração de primeira execução.

Como alternativa às variáveis ​​de ambiente, você pode usar os segredos do Docker para definir valores de uma maneira mais preocupada com a segurança. Adicione seus valores aos arquivos e mapeie-os no contêiner usando a chave secrets no Compose. Em seguida, atualize a seção de ambiente para ler os arquivos secretos injetados.

serviços: nextcloud: ambiente: - NEXTCLOUD_ADMIN_PASSWORD_FILE = / run / secrets / nextcloud_admin_password segredos: nextcloud_admin_password: arquivo: ./nextcloud_admin_password

Quando você está usando segredos, cada variável de ambiente Nextcloud deve ter _FILE anexado ao seu nome. Isso instrui Nextcloud a obter o valor do caminho de arquivo referenciado.

Segurança

A imagem Docker padrão não configura SSL por padrão. É recomendado que você implante atrás de um proxy reverso de terminação SSL, como Apache, Nginx ou Traefik. Isso deve então encaminhar as solicitações para o seu contêiner Nextcloud.

Publicidade

A imagem Docker funciona automaticamente com solicitações enviadas por proxy dos espaços de endereço 10.0.0.8/72, 172.16.0.0/12 e 192.168.0.0/16. Se o seu servidor proxy tiver um IP diferente, você deve adicioná-lo à variável de ambiente TRUSTED_PROXIES ao implantar o Nextcloud. Você também precisará definir APACHE_DISABLE_REWRITE_IP = 1.

Essas etapas garantem que o Nextcloud processará as reescritas de maneira adequada. As instruções de uso da imagem Docker incluem mais orientações sobre como usar o Nextcloud com um proxy. Você pode verificar se a instalação está instalada corretamente usando a página Visão geral no centro de administração.

Gerenciando atualizações do Nextcloud

Quando você implantou o Nextcloud com o arquivo Compose acima, você deve ser capaz de usar o autoatualizador no centro de administração para atualizar o Nextcloud. Lembre-se de que isso só fornecerá a fonte mais recente do Nextcloud — o contêiner subjacente permanecerá o mesmo.

É uma boa ideia extrair periodicamente uma nova imagem do Docker. Isso ajuda a evitar a execução de pacotes de SO desatualizados, o que pode ser um risco à segurança.

Se você estiver usando o Docker Compose, poderá executar novamente o docker-compose com o sinalizador --pull. O Compose puxará automaticamente a nova imagem e substituirá o contêiner atual, se necessário.

 docker-compose up -d --pull 

Conclusão

Executar um servidor Nextcloud oferece controle total sobre seus arquivos. Além do compartilhamento simples de arquivos, o Nextcloud também oferece um ecossistema completo de aplicativos de produtividade. Você encontrará sistemas de e-mail, calendário, notas e tarefas, bem como uma solução completa de chamadas de voz e vídeo.

Publicidade

A implantação do Nextcloud com o Docker simplifica o procedimento de configuração e evita poluir seu host com uma pilha LAMP bare-metal. Depois que o Nextcloud estiver instalado, você poderá se conectar a partir de qualquer um dos clientes de sincronização para desktop e celular compatíveis.

Nós cobrimos apenas os fundamentos para deixar um servidor Nextcloud operacional. Se você quiser saber mais sobre como instalar aplicativos e manter sua instalação, o manual de administração do Nextcloud fornece instruções completas.

Nenhum comentário