Skip to content

Comments

Setting up ezshare with Docker Compose#129

Open
dayal18 wants to merge 6 commits intomifi:masterfrom
dayal18:feature/docker-compose
Open

Setting up ezshare with Docker Compose#129
dayal18 wants to merge 6 commits intomifi:masterfrom
dayal18:feature/docker-compose

Conversation

@dayal18
Copy link

@dayal18 dayal18 commented Feb 13, 2026

🐳 Docker Deployment

You can run ezshare easily using Docker. This ensures all dependencies like ffmpeg and xvfb are pre-installed and configured correctly.

Prerequisites

Option 1: Using Docker Compose (Recommended)

The easiest way to run the application is with Docker Compose. This handles the build, port mapping, and volume creation automatically.

  1. Start the application:

    docker compose up --build
  2. Access the app:
    Open your browser to http://localhost:3003.

  3. Shared Files:
    Place files in the ./my-shared-data folder (created automatically in your project root). These will appear in the application under /shared.

Option 2: Manual Docker CLI

If you prefer to run the Dockerfile manually without Compose:

  1. Build the image:

    docker build -t ezshare .
  2. Run the container:
    You must map port 3003 and mount a volume to /shared for the application to function properly.

    docker run -p 3003:3003 -v $(pwd)/my-shared-data:/shared ezshare

Configuration Details

  • Port: The application listens on port 3003 by default.
  • Data Volume: The application expects a volume mounted at /shared to store and retrieve files.
  • Environment: The container uses node:20-slim and includes necessary runtime tools like ffmpeg for media processing.

Volume Permissions (Important)

Since the container now runs as UID 1000 (node), the host directory mounted to /shared (defined in docker-compose.yml as ./my-shared-data) must be writable by UID 1000.

If you encounter Permission Denied errors on Linux/Mac, run the following on the host machine to fix local folder permissions:

mkdir -p ./my-shared-data
chown -R 1000:1000 ./my-shared-data

@dayal18
Copy link
Author

dayal18 commented Feb 13, 2026

Issue #128

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a multi-stage Docker build for running ezshare in a Node-based container.

Changes:

  • Introduces a two-stage Dockerfile (builder + slim runner) targeting Node 20.
  • Installs runtime dependencies (xvfb/ffmpeg/xsel) and adds an entrypoint to start Xvfb.
  • Runs the CLI from packages/cli/dist/index.js and exposes port 3003.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants