Logo
Instalar Nextcloud
O que é Nextcloud?

Nextcloud é uma plataforma de armazenamento de arquivos baseada em nuvem de código aberto que pode ser instalada num servidor. Permite que os utilizadores armazenem, compartilhem e sincronizem ficheiros/arquivos e dados em vários dispositivos e plataformas. Incluí também recursos de colaboração tais como, calendário e sincronização de contactos, edição de documentos online e um chat em tempo real. Nextcloud é uma das melhores alternativas aos serviços Dropbox, Google Workspace ou mesmo Microsoft 365.

Porquê Nextcloud?

Existem uma série de motivos pelos quais devem optar por instalarem a vossa própria instância do Nextcloud.

  • Controlo sobre os dados: ao executar o seu próprio Nextcloud, têm controlo total sobre onde os seus dados são armazenados e quem tem acesso aos mesmos;
  • Privacidade: 100% garantido que todos os dados armazenados não são analisados ou usados para fins publicitários;
  • Personalização: existem diversas formas de personalizar a vossa instalação de forma atender as necessidades de cada um;
  • Custo: ora, como se trata de um software gratuito e de código aberto, não há custos associados;
  • Segurança: ao executar a própria instalação podem ser implementados as suas próprias medidas e  protocolos de segurança que podem ser ainda mais seguros que depender de um serviço de terceiros;
  • Expansível: o Nextcloud pode expandir desde um só utilizador até ser usado numa pequena/média empresa e grandes quantidades de dados;
  • Integrações: pode ser instalado só o serviço de arquivo como também serviços como calendário e contactos, chat, etc., através da loja de addons.
Posso usar um túnel com a Cloudflare?

Sim, é possível também ter esta instalação com Ubuntu, por exemplo, ou outra distro. No entanto se optarem por esta via a Cloudflare na sua versão gratuita vai limitar o tamanho de uploads o que pode condicionar grande parte dos seus utilizadores porque com a tecnologia tão avançada nos telemóveis, ao gravar um vídeo 4K durante uns 10m vai tornar o ficheiro tão grande que não vai ser possível enviar para o nosso servidor.

Requisitos

Recomendo no mínimo 2GB de memória RAM mas se tiverem disponíveis 4GB tornará melhor e mais rápida a experiência.
Ter previamente instalado o Docker e Portainer (opcional); NGINX Proxy Manager e ter conta no DuckDNS.

Portas na Firewall
  • Nextcloud Talk 3478/tcp and 3478/udp para qualquer IPv4
  • AIO Admin Page 8083/tcp para o IP da instalação ( na nossa instalação não foi necessária esta intervenção, mas fica aqui a dica caso não tenham acesso à página admin )
Criar domínio no DuckDNS
Vamos aceder ao site do DuckDNS e escolher uma das formas disponíveis para fazer login/criar conta. Posteriormente criamos um domínio que ainda não tenha sido escolhido e clicamos em “add domain”. Irá surgir uma imagem a verde caso seja adicionado com sucesso ou a vermelho caso já esteja a ser utilizado (não me perguntem porquê mas uma mensagem foi em espanhol e a outra em inglês) e podem verificar na lista abaixo o domínio adicionado com o vosso IP público.
Criado com sucesso
Criado sem sucesso
Configurar o domínio no NGINX Proxy Manager

De seguida vamos adicionar o domínio criado na nossa conta NGINX Proxy Manager de forma a gerar um certificado SSL.
Neste passo vamos definir também se usamos a porta por defeito ou se queremos usar uma diferente.

Nota: a porta aqui a ser definida é a porta do servidor do Apache que será a 11000 por defeito.

Instalar o Nextcloud
Neste momento temos tudo preparado para não existir qualquer incompatibilidade com a nossa instalação do Nextcloud. Abaixo temos o script que vamos utilizar para criar um stack. Podem consultar a página no GitHub para verem todas as opções disponíveis.
version: "3.8"

volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer # Não é permitido alterações
services:
  nextcloud:
    image: nextcloud/all-in-one:latest-arm64 # Caso não seja um CPU arm64 (no nosso caso estamos a usar um RPi) retirem o -arm64
    restart: unless-stopped
    container_name: nextcloud-aio-mastercontainer
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - 8083:8080 # Podemos alterar a porta do lado esquerdo caso já esteja a ser utilizada
    environment:
      - APACHE_PORT=11500 # Podemos alterar
      - SKIP_DOMAIN_VALIDATION=false
      - APACHE_DISABLE_REWRITE_IP=1
      - NEXTCLOUD_TRUSTED_DOMAINS=TEU-DOMINIO TEU-IP # O nome do teu domínio + proxy host IP
      - TRUSTED_PROXIES=TEU-IP # proxy host IP
Vamos aceder à nossa instalação do Portainer e no painel lateral escolhemos Stacks e + Add Stack:

Agora vamos dar um nome ao nosso stack e colar no editor de texto abaixo o nosso script.
Não se esqueçam de modificar os campos de acordo com a vossa necessidade.

Quando terminarem as alterações que achem necessárias para a vossa configuração podemos descer na página e carregar no botão “Deploy the stack”.
Pode levar alguns minutos dependendo da vossa igação uma vez que vai fazer download da imagem e iniciar o primeiro contentor.

Podemos agora aceder ao nosso IP:Porta (no nosso caso https://192.168.10.203:8083/) e aceitar o aviso de potencial risco.

Vamos ser presenteados com o ecrã que é possível ver abaixo.

Parabéns! Temos a nossa própria instalação a funcionar.
Agora é uma boa ideia e criar um novo utilizador, não esquecer de adicionar ao grupo de administração, fazer login com a nova conta e eliminar a conta admin.

Segurança e Avisos
  • “Your installation has no default phone region set. This is required to validate phone numbers in the profile settings without a country code. To allow numbers without a country code, please add “default_phone_region” with the respective ISO 3166-1 code ↗ of the region to your config file.”

 

Para resolvermos este aviso devemos ligar por SSH ao nosso RPi e seguir este comando: sudo nano /var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/config/config.php de modo adicionar a seguinte linha: 'default_phone_region' => 'PT', no fim do documento.

  • You have not set or verified your email server configuration, yet. Please head over to the Basic settings in order to set them. Afterwards, use the “Send email” button below the form to verify your settings.

 

Vamos clicar no link “Basic settings” para configurar o email; no eu caso vou usar as definições do meu email pessoal do meu alojamento.