logoNodeDrop
Configuration

Docker Configuration

Configure NodeDrop with Docker

Docker Configuration

NodeDrop uses a unified single-container architecture for easy deployment.

Architecture

  • Single container on port 5678
  • Backend serves frontend static files
  • PostgreSQL and Redis as separate services
  • Multi-platform support (amd64, arm64)

Docker Compose Files

FilePurpose
docker-compose.ymlBuild from source
docker-compose.published.ymlUse published images
docker-compose.override.ymlDevelopment overrides

Using Published Images

# docker-compose.published.yml
version: '3.8'
services:
  nodedrop:
    image: ghcr.io/node-drop/nodedrop:latest
    ports:
      - "5678:5678"
    environment:
      - DATABASE_URL=postgresql://...
      - REDIS_URL=redis://...
      - JWT_SECRET=your-secret
    depends_on:
      - postgres
      - redis

Image Tags

TagDescription
latestLatest stable release
1.0.0Specific version
1.0Latest patch of minor version
1Latest minor of major version

Version Pinning

Pin to specific versions for production:

# In .env
NODEDROP_VERSION=1.0.0

Or in docker-compose:

services:
  nodedrop:
    image: ghcr.io/node-drop/nodedrop:1.0.0

Volumes

Persist data with Docker volumes:

volumes:
  postgres_data:
  redis_data:

services:
  postgres:
    volumes:
      - postgres_data:/var/lib/postgresql/data
  redis:
    volumes:
      - redis_data:/data

Custom Ports

Change the default port:

services:
  nodedrop:
    ports:
      - "8080:5678"  # Access on port 8080

Resource Limits

Set memory and CPU limits:

services:
  nodedrop:
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 2G
        reservations:
          cpus: '0.5'
          memory: 512M

Health Checks

services:
  nodedrop:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:5678/health"]
      interval: 30s
      timeout: 10s
      retries: 3

Networking

For external access behind a reverse proxy:

services:
  nodedrop:
    networks:
      - internal
      - proxy
    
networks:
  internal:
  proxy:
    external: true

Troubleshooting

Container Won't Start

docker-compose logs nodedrop

Database Connection Issues

docker-compose logs postgres
docker-compose exec nodedrop ping postgres

Clean Restart

docker-compose down -v
docker-compose up --build

On this page