Como instalar nextcloudpi+elasticsearch + ssl em docker no ubuntu

nextcloud docker
nextcloud docker

Nós da TecMestre preparamos um tutorial de como instalar o Nextcloudpi+elasticsearch usando o Docker e o Docker Compose.

Passo 1 – Instalando docker

Docker é uma tecnologia de código aberto que é usada para implementar aplicativos através de containers. É uma plataforma relativamente nova, mas que é constantemente atualizada e inclui uma ampla comunidade de usuários.

Se preferir pode seguir o tutorial de instalação oficial da pagina do docker aqui.

1.1 Primeiro, atualize sua lista existente de pacotes:

sudo apt-get update
sudo apt-get upgrade

Marque todas as opções e dê enter!

1.2 Atualize o APT índice de pacotes e instalar pacotes para permitir usar um repositório sobre HTTPS:

sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

1.3 Adicione a chave GPG oficial do Docker:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

1.4 Use o seguinte comando para configurar o repositório:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

1.5 Permissâo para leitura dos pacotes

sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo apt-get update

1.6 Instalando o docker e docker compose e seus componentes:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose

1.7 Verifique se a instalação do Docker Engine foi bem-sucedida executando o hello-world imagem:

sudo docker run hello-world

Resultado será esse como na imagem!

docker run hello-world

2 – Instalando nextcloudpi

O Nextcloud é uma aplicação OpenSource (Código Aberto) para armazenamento de arquivos/pastas entre grupos e usuários em nuvem, sendo acessível tanto por um navegador ou client desktop em seu gerenciador de arquivos, sendo seu Client suportado por Sistemas Linux, Android, MacOS e Windows.

Utilizaremos uma versão nextcloud que ja vem com vários plugins e com ssl ativado pronto para usar! Nextcloupi Ele apresenta o mais recente Nextcloud, além de extras de gerenciamento de rede e sistema.

2.1 Execute-o com

docker run -d -p 4443:4443 -p 443:443 -p 80:80 -v ncdata:/data --name nextcloudpi ownyourbits/nextcloudpi $DOMAIN

$DOMAIN deve ser seu domínio confiável : o URL ou IP do seu servidor ubuntu que será usado para acessar.

Qualquer pasta pode ser usada em vez do volume ncdatapara manter os dados do Nextcloud. Mais detalhes em https://nextcloudpi.com/

2.2 Acesse o site myip para descobrir seu ip publico para adicionar aos arquivos ncp-activation.conf e ncp.conf, acessando o caminho padrão da instalaçao. Caso não encontre o caminho do arquivo use o comando find / -name ‘ncp-activation.conf’ no terminal e veja o local do arquivo. Para evitar o erro 403 Forbidden

sudo nano /var/lib/docker/volumes/ncdata/_data/etc/apache2/sites-available/ncp-activation.conf

<RequireAny>
Require host localhost
Require local
Require ip 192.168
Require ip 172
Require ip MEU IP PUBLICO
Require ip fe80::/10
Require ip fd00::/8
</RequireAny>

Salve e saia do editor.

2.3 Execute o comando abaixo para reiniciar o container:

docker update --restart unless-stopped nextcloudpi
docker restart nextcloudpi

2.4 Acesse em seu navegador http://seudominioip:80 e sera redirecionado para a pagina de configuração de senhas copie e salve-as, você ira precisar, desça e clique em activate

NCP NEXTCLOUD

Você será redirecionado para a pagina de login, entre com o o usuário NPC e a senha salva no passo anterior.

2.5 Agora vá na opção nc-trusted-domains e adicione seu ip ou domínio para acesso ao nextcloud.

Agora acesse seu NCP https://SEUDOMINIO:80 E ENTRE com usuario NCP e senha salva.

2.6 Instale 3 plugins para o elasticsearch funcionar, primeiramente va em aplicativos e depois pesquisar:

Instale FullTextSearch, FullTextSearch files, FullTextSearch – elasticsearch

Nextcloudpi + elasticsearch

3 – Instalando elasticsearch

3.1 Execute o comando em seu terminal

sudo docker run -d --name elasticsearch -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" --network=bridge dsteinkopf/elasticsearch-ingest-attachment

3.2 Primeiramente temos que pegar o ip do container elasticsearch executando o comando

docker inspect elasticsearch

Copie o ip no campo IPAddress no meu caso foi 172.17.0.3

3.2 Volte para o painel NCP vá em configurações e procure por pesquisa de texto completo

elasticsearch

Configure qualquer usuario e senha e cole o ip anterior, exemplo http://usuario:[email protected]:9200

3.3 Iremos agora testar se esta tudo funcionando.

sudo docker exec -u www-data nextcloudpi php /data/nextcloud/occ fulltextsearch:test

Se apresentar algum erro como:

In StaticNoPingConnectionPool.php line 64:

No alive nodes found in your cluster

Seu ip localhost nas configurações do elasticsearch está errado.

3.4 Por fim indexaremos os arquivos com o comando:

sudo docker exec -u www-data nextcloudpi php /data/nextcloud/occ fulltextsearch:index
elasticsearch

O resultado será este.

Por fim podem ver que está funcionando!

Qualquer dúvida ou erro deixe nos comentários responderei todos!!!