Passar para o conteúdo principal
x
docker-nextcloud.jpg

Desta vez vamos fazer a instalação do Nextcloud, pelo Docker num Debian 9. O Docker não é um sistema de virtualização tradicional. Enquanto que num ambiente de virtualização tradicional nós temos um S.O. completo e isolado, dentro do Docker nós temos recursos, que partilham bibliotecas comuns entre o "servidor" (host) e a "aplicação" (container). Para quem não conhece o Nextcloud, e de forma muito simples, é uma plataforma para armazenamento na nuvem (privada), que é gerida por si! Aqui não há problemas sobre a confiabilidade do sistema!!!

Depois de instalarmos o Debian, podem ver um pequeno tutorial de instalação neste link, e de termos aplicado as primeiras actualizações vamos instalar o Docker propriamente dito!

apt install apt-transport-https dirmngr net-tools ufw

echo 'deb https://apt.dockerproject.org/repo debian-stretch main' >> /etc/apt/sources.list

apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

apt update 

apt install docker-engine

Agora instalamos o container para o PostgreSQL:

docker run -p 5432:5432 -v /var/run/postgresql:/var/run/postgresql -d --name postgres postgres

Se pretendermos definir uma password imediatamente para o nosso user postgres utilizamos a seguinte linha de comando:

docker run -p 5432:5432 -v /var/run/postgresql:/var/run/postgresql -d --name postgres postgres -e POSTGRES_PASSWORD=mysecretpassword

Para instalar o Nextcloud desde o Docker basta executar este comando

docker run -d --name nextcloud -p 80:80 -p 443:443 -v $HOME/nextcloud:/var/www/html nextcloud:13

nextcloud_config_download.png

Estamos prontos agora para aceder à interface gráfica do NextCloud para finalizarmos a configuração. Para isso aceda, num navegador à sua escolha, ao endereço do seu servidor.

Expanda o "Armazenamento e Base de Dados" e posteriormente escolha "PostgreSQL" e preencha os dados conforme definido anteriormente.

nextcloud_config.png

Deve ter em atenção ao utilizador e password que introduz deve corresponder ao identificado anteriormente!

 

O endereço do servidor deverá ser o endereço do container do postgresql.

ip a

No resultado deverá aparecer um item com o dados similares aos seguintes:

docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:7b:69:ae:0e brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:7bff:fe69:ae0e/64 scope link
       valid_lft forever preferred_lft forever

 

Para terminar, precisamos que estes "containers" arranquem automáticamente:

 docker update --restart=always postgres

 docker update --restart=always nextcloud

 

 

Outras Notas úteis:

Para se fazer "reset" à configuração, pode ser feita de uma forma muito simples a eliminação do arquivo "config.php" que se encontra em "/root/nextcloud/config"

Para se aceder ao psql (terminal de comandos do postgresql)

docker run -it --rm --link postgres:postgres postgres psql -h postgres -U postgres

psql (10.3 (Debian 10.3-1.pgdg90+1))
Type "help" for help.

postgres=#

ALTER USER user_name WITH PASSWORD 'new_password';

Outros comandos interessantes do docker:

  • docker ps
  • docker start  <container>
  • docker stop<container>
  • docker rm <docker-id>
  • docker rm $(docker ps -a -g) #remove todos os containers
  • docker rmi $(docker images -q) #remove todas as imagens
  • docker system prune

Por exemplo, para remover o nextcloud (container e imagem)

docker stop nextcloud

docker rmi $(docker images -q)

 

Espero que este tutorial lhe tenha sido útil!

Até à próxima!

 

Deixem ficar os vossos comentários e sugestões!


Detectou algum erro ou gostaria de adicionar alguma sugestão a esse artigo? Colabore, clique aqui e ajude a melhorar o conteúdo.