Yazan Daradkeh

Senior Digital Project/Product Manager

Ditching Big Tech: Deploying a High-Performance Nextcloud Stack via Docker

Ditching Big Tech: Deploying a High-Performance Nextcloud Stack via Docker


Welcome back to the lab! Over the past few months, we've put in the hard yakka to reclaim our IoT gear from cloud servers. But what about our personal files, photos, and calendars? If you're tired of paying monthly subscriptions just to store your own data, it's time to host your own cloud.

Today, we are deploying Nextcloud. But we aren't just doing a basic install; we are building an enterprise-grade stack using Docker.

  • We'll pair the nextcloud_app container with a dedicated nextcloud_db (PostgreSQL) for rock-solid data management.

  • We will also throw in nextcloud_redis for memory caching, ensuring your file syncing is blisteringly fast.

The Docker Compose Stack Create a new directory for your Nextcloud data and drop this docker-compose.yml file in there to orchestrate the whole setup:

YAML

version: '3'

services:

  nextcloud_db:

    image: postgres:15

    restart: unless-stopped

    environment:

      - POSTGRES_PASSWORD=your_secure_password

      - POSTGRES_DB=nextcloud

      - POSTGRES_USER=nextcloud

  nextcloud_redis:

    image: redis:alpine

    restart: unless-stopped

  nextcloud_app:

    image: nextcloud

    restart: unless-stopped

    ports:

      - 8080:80

    environment:

      - POSTGRES_HOST=nextcloud_db

      - POSTGRES_DB=nextcloud

      - POSTGRES_USER=nextcloud

      - POSTGRES_PASSWORD=your_secure_password

      - REDIS_HOST=nextcloud_redis

    depends_on:

      - nextcloud_db

      - nextcloud_redis

Fire it up with a quick command:

Bash

docker-compose up -d

Give it a minute to initialize, point your browser to your server's IP on port 8080, and you've got yourself a private, blazing-fast cloud!

"If you've got any questions or need a hand wrangling your own setup, don't hesitate to reach out at [email protected] or connect with me via www.yazan.me. I'm always keen to help out!"