Nextcloud num VPS: o seu próprio armazenamento de arquivos, com Docker Compose

Node.js, Python e Docker·· 291 visualizações· 3 min de leitura

A resposta curta: o Nextcloud é um programa de código aberto que lhe dá o seu próprio «Drive»: arquivos, calendário e contatos, num servidor seu. Instala-se num VPS com Docker Compose em dois contêineres (o Nextcloud e um banco de dados), atrás de um proxy com https. Precisa de acesso root e não serve para hospedagem compartilhada.

É um programa de terceiros: o cliente instala, atualiza e guarda as cópias. O nosso suporte não o instala nem o repara (veja Até onde vai o nosso suporte). Antes, tenha o Docker montado: Instalar o Docker e o Docker Compose.

O arquivo compose

Numa pasta própria, por exemplo ~/nextcloud, crie o arquivo compose.yaml. Troque as duas senhas por senhas longas e diferentes, geradas ao acaso:
services:
db:
image: mariadb:10.11
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: (uma senha longa)
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: (outra senha longa)
app:
image: nextcloud:apache
restart: unless-stopped
depends_on:
- db
ports:
- "127.0.0.1:8080:80"
volumes:
- nextcloud:/var/www/html
environment:
MYSQL_HOST: db
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: (a segunda senha)
NEXTCLOUD_TRUSTED_DOMAINS: nuvem.o-seu-dominio
OVERWRITEPROTOCOL: https
volumes:
db:
nextcloud:

1 Inicie: docker compose up -d dentro da pasta. A primeira vez baixa as imagens e demora.
2 O endereço fica só local (a porta 127.0.0.1:8080): de propósito, para só se chegar de fora pelo proxy com https. Monte-o como em Nginx como proxy à frente de um contêiner e HTTPS para um contêiner.
3 Abra o endereço do seu domínio no navegador e crie o administrador. Escolha uma senha forte: este usuário pode tudo.

O que não pode esquecer

Tema O que fazer
Cópias Os arquivos e o banco de dados vivem em dois «volumes». Copie os dois, e teste o restauro. Veja Docker: volumes e cópias.
Atualizar Troque a imagem e volte a subir, mas uma versão principal de cada vez: o Nextcloud não suporta saltar versões. Veja Atualizar uma aplicação Docker sem perder dados.
Espaço Os arquivos dos usuários ocupam o disco do VPS. O Nextcloud não avisa antes de o disco encher.
Segurança Só o https à vista; atualizações em dia; senhas fortes; e o resto em Docker num VPS com segurança.
Isto guarda arquivos de pessoas. Um Nextcloud sem cópias, sem atualizações ou sem https é um risco para quem lá pôs o que é seu. Se não quer manter um servidor, um serviço feito para isso pode ser melhor ideia.
Se só precisa de um site onde pôr arquivos para compartilhar, veja primeiro se o que já tem não chega. O Nextcloud compensa quando precisa de controlar onde os dados ficam.

Os contêineres arrancam mas o endereço não abre? Abra um pedido com o resultado de docker compose ps (sem as senhas).

Abrir pedido de suporte

VEJA TAMBÉM

Instalar o Docker e o Docker Compose num VPS

Docker Compose: uma aplicação com o seu banco de dados

Nginx como proxy à frente de um contêiner

Atualizar uma aplicação Docker sem perder dados

PRODUTO RECOMENDADO

Servidor VPS com acesso root

Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde $8.40/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.