Syncio is a comprehensive management system for Stremio addons and users, designed for organizations that need to manage multiple Stremio accounts efficiently. It provides:
- π’ Group Management - Organize users into groups with custom colors and descriptions
- π Addon Management - Install, configure, update, and manage Stremio addons
- π₯ User Management - Add users, manage their Stremio accounts, and control access
- π Smart Sync - Keep addons synchronized across all users' Stremio accounts
- π‘οΈ Protected Addons - Mark critical addons as protected to prevent accidental removal
- π Resource Filtering - Select specific resources (movies, series, etc.) from addons
- π¨ Modern UI - Beautiful, responsive interface with multiple themes
- π Authentication - Secure user authentication and account management
- π€ Import/Export - Backup and restore your entire configuration
The easiest way to run Syncio is using Docker Compose. You can find the complete compose files at private and public.
# 1. Clone the repository
git clone https://github.com/iamneur0/syncio.git
cd syncio
# 2. Create .env file from template
cp env.example .env
# 3. Edit .env with your configuration
nano .env
# 4. Start all services
docker compose up -d
# 5. View logs (optional)
docker-compose logs -f
# 6. Stop services (when needed)
docker-compose downThe application will be available at http://localhost:3000.
Create a .env file in your project root with the following variables:
# Database Configuration
DATABASE_URL="file:./prisma/sqlite.db" # For private instances
# DATABASE_URL="postgresql://user:pass@localhost:5432/syncio" # For public instances
# Redis Configuration
REDIS_URL="redis://localhost:6379"
# Application Secrets (REQUIRED - Generate secure keys)
JWT_SECRET=your-jwt-secret-key-here
ENCRYPTION_KEY=your-encryption-key-here
# User/Group IDs for Docker (Optional - defaults to 1000:1000)
UID=1000
GID=1000# Generate JWT secret (32+ characters)
openssl rand -base64 32
# Generate encryption key (32+ characters)
openssl rand -hex 16- Node.js 18+
- Docker & Docker Compose
- Git
# 1. Clone and install dependencies
git clone https://github.com/iamneur0/syncio.git
cd syncio
npm install
cd client && npm install && cd ..
# 2. Set up environment
cp env.example .env
# Edit .env with your configuration
# 3. Start development servers
npm run dev # Private instance
# or
npm run dev:public # Public instance with auth# Uses PostgreSQL database
docker compose -f docker-compose.public.yml up -d# Uses SQLite database
docker compose -f docker-compose.private.yml up -dPrivate Instance
- No authentication required
- Single-account access
- SQLite database
- Perfect for personal use
Public Instance
- JWT authentication
- Multi-user support
- PostgreSQL database
- Perfect for organizations
Permission Issues:
# Check your UID/GID
id
# Update .env with correct values
echo "UID=$(id -u)" >> .env
echo "GID=$(id -g)" >> .env
# Fix ownership
sudo chown -R $(id -u):$(id -g) ./dataDatabase Issues:
# Reset database (WARNING: deletes all data)
docker-compose down
docker volume rm syncio_syncio_data
docker-compose up -dPort Conflicts:
# Check what's using port 3000
lsof -i :3000
# Kill the process or change port in docker-compose.ymlEnable debug logging for troubleshooting:
# Server-side debug logging
DEBUG=true
# Client-side debug logging
NEXT_PUBLIC_DEBUG=trueDebug logging includes:
- π‘ API request/response details
- π Sync status calculations
- π¦ Addon import/export operations
- π€ User status changes
- ποΈ Database operations
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.




