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!
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 ncdata
para 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
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
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
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
O resultado será este.
Por fim podem ver que está funcionando!
Qualquer dúvida ou erro deixe nos comentários responderei todos!!!
Deixe uma resposta
Ver comentários