OffshoreVps
Bài hướng dẫn10 thg 10 20269 phút đọcBởi đội ngũ OffshoreVps

Tự lưu trữ Nextcloud trên VPS với Docker Compose

Chạy đám mây riêng cho tệp, lịch và danh bạ: tệp Compose, reverse proxy HTTPS, tên miền tin cậy, tác vụ cron và bản sao lưu.

Nextcloud cung cấp đồng bộ tệp, lịch, danh bạ và chỉnh sửa tài liệu trên máy chủ do bạn kiểm soát, thay vì giao tệp của bạn cho một nhà cung cấp đám mây lớn. Sau đây là cách chạy nó trên VPS bằng Docker Compose.

Cửa sổ terminal trên VPS hiển thị các lệnh dùng để tự lưu trữ Nextcloud, bắt đầu bằng “mkdir -p ~/nextcloud && cd ~/nextcloud”
Loại lệnh bạn sẽ chạy trên máy chủ của mình trong hướng dẫn này.

Trước khi bắt đầu

  • VPS với 2 vCPU và 4 GB RAM là điểm khởi đầu thoải mái. Dung lượng lưu trữ là hạn chế chính, vì vậy hãy chọn kích thước ổ đĩa phù hợp với tệp của bạn.
  • Một tên miền trỏ tới máy chủ, được trình bày trong hướng dẫn DNS của chúng tôi.
  • Docker đã được cài đặt, xem cài đặt Docker trên Ubuntu.

1. Tệp Compose

mkdir -p ~/nextcloud && cd ~/nextcloud
cat > compose.yaml <<'EOF'
services:
  db:
    image: mariadb:11
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    environment:
      MYSQL_ROOT_PASSWORD: change-me-root
      MYSQL_PASSWORD: change-me-db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
    volumes:
      - db:/var/lib/mysql
  redis:
    image: redis:7-alpine
    restart: unless-stopped
  app:
    image: nextcloud:stable
    restart: unless-stopped
    depends_on: [db, redis]
    ports:
      - "127.0.0.1:8080:80"
    environment:
      MYSQL_HOST: db
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: change-me-db
      REDIS_HOST: redis
    volumes:
      - nc:/var/www/html
volumes:
  db:
  nc:
EOF
docker compose up -d

Hãy đổi cả ba mật khẩu trước khi chạy. Dùng chuỗi ngẫu nhiên dài.

Các bước của hướng dẫn này theo thứ tự: 1. Trước khi bắt đầu; 2. 1. Tệp Compose; 3. 2. Đặt HTTPS phía trước; 4. 3. Hoàn tất thiết lập; 5. 4. Giữ cho nó khỏe mạnh
Các bước trong hướng dẫn này, theo thứ tự.

2. Đặt HTTPS phía trước

Thêm một khối server Nginx làm proxy tới 127.0.0.1:8080, rồi chạy Certbot như trong hướng dẫn Nginx của chúng tôi. Khối proxy cần các dòng sau để Nextcloud nhận đúng giao thức và việc tải lên tệp lớn hoạt động:

client_max_body_size 2G;
location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
}

3. Hoàn tất thiết lập

Mở tên miền của bạn và tạo tài khoản quản trị. Sau đó thêm tên miền vào danh sách tin cậy và đặt thông tin proxy:

docker compose exec -u www-data app php occ config:system:set trusted_domains 1 --value=cloud.example.com
docker compose exec -u www-data app php occ config:system:set overwriteprotocol --value=https

4. Giữ cho nó khỏe mạnh

  • Cập nhật: docker compose pull && docker compose up -d, mỗi lần một phiên bản chính.
  • Tác vụ nền: chuyển sang Cron trong cài đặt quản trị và thêm một mục cron trên máy chủ chạy cron.php mỗi năm phút.
  • Sao lưu: lưu cả hai volume và một bản xuất cơ sở dữ liệu. Xem cách sao lưu VPS.
  • Đăng nhập hai yếu tố: bật ứng dụng TOTP cho mọi tài khoản.