Docker

Deploy Shulkr with Docker for simplified installation.

Docker Run

bash
docker run -d \
  --name shulkr \
  -p 3000:3000 \
  -v /path/to/minecraft:/minecraft \
  -v shulkr-data:/app/data \
  -e JWT_SECRET="your-jwt-secret-32-chars-min" \
  ghcr.io/your-repo/shulkr:latest

Docker Compose

Recommended docker-compose.yml:

yaml
version: '3.8'

services:
  shulkr:
    image: ghcr.io/your-repo/shulkr:latest
    container_name: shulkr
    restart: unless-stopped
    ports:
      - '3000:3000'
    environment:
      - JWT_SECRET=change-this-secret-in-production
      - NODE_ENV=production
    volumes:
      - /opt/minecraft:/minecraft
      - shulkr-data:/app/data

volumes:
  shulkr-data:

Start:

bash
docker compose up -d

Update

bash
docker compose down
docker compose pull
docker compose up -d