Subindo um NextCloud via Docker

By Danilo Takagi | VTuberBR 🍃⚡🎧 (@danilotakagi.bsky.social)
Published:

Eu anoto muitas coisas num servidor privado do Discord. Mas às vezes prefiro anotar coisas importantes na forma de blog, até para que talvez possa ajudar outros no futuro. Esta anotação é para mostrar a forma mais fácil que encontrei de colocar um Nextcloud pra rodar num servidor VPS.

Primeiro, instale o Docker:

sudo apt update && sudo apt install docker.io -y
sudo apt install docker-compose -y

Crie um diretório:

mkdir -p ~/nextcloud && cd ~/nextcloud

Crie um arquivo docker-compose.yml:

nano docker-compose.yml

Adicione o seguinte texto para rodar Nextcloud com um banco de dados MariaDB (defina nele as senhas):

version: '3.8'
services:
  db:
    image: mariadb
    container_name: nextcloud_db
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud_user
      MYSQL_PASSWORD: nextcloud_password

  nextcloud:
    image: nextcloud
    container_name: nextcloud_app
    restart: always
    ports:
      - "8080:80"
    volumes:
      - nextcloud_data:/var/www/html
    depends_on:
      - db
    environment:
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud_user
      MYSQL_PASSWORD: nextcloud_password
      MYSQL_HOST: db

volumes:
  db_data:
  nextcloud_data:

Salve e use o comando para executá-lo:

docker-compose up -d

O Nextcloud vai abrir em http://SEUIP:8080 . O Nextcloud estará acessível na porta 8080 do seu VPS, enquanto internamente no contêiner ele usa a porta 80. É possível instalar outros apps com portas diferentes, como 9090:80. Por exemplo, pra rodar um Wordpress em http://SEUIP:9090, troque esta parte:

services:
  wordpress:
    image: wordpress
    container_name: wordpress_app
    restart: always
    ports:
      - "9090:80"