Skip to content

Update Suwayomi with FlareSolverr version pinning and CONTRIBUTING.md compliance#22

Open
BookJJun-IJ wants to merge 4 commits intoYundera:mainfrom
BookJJun-IJ:Suwayomi
Open

Update Suwayomi with FlareSolverr version pinning and CONTRIBUTING.md compliance#22
BookJJun-IJ wants to merge 4 commits intoYundera:mainfrom
BookJJun-IJ:Suwayomi

Conversation

@BookJJun-IJ
Copy link
Member

Update Suwayomi with FlareSolverr version pinning and CONTRIBUTING.md compliance

Overview

This PR updates Suwayomi to comply with CONTRIBUTING.md requirements by adding cpu_shares to all services, pinning FlareSolverr to a specific version (removing :latest tag), and updating to V2 system variables.

Changes Made

1. Version Stability

  • FlareSolverr: Changed from :latest to v3.4.6

    • Ensures version stability and reproducible deployments
    • Complies with CONTRIBUTING.md requirement: "Specific version tag (no :latest)"
    • Latest stable release with Chrome/Chromium 142 support
  • Suwayomi: Maintained at v2.1.1875

    • Already using specific version tag
    • Latest stable release with WebView, Simple Login, and OPDS support

2. CONTRIBUTING.md Compliance

CPU Shares (REQUIRED)

Added cpu_shares to all services per mandatory requirements:

services:
  suwayomi:
    cpu_shares: 70    # Interactive with Heavy Tasks
                      # Real-time web UI + intensive background downloads
    
  flaresolverr:
    cpu_shares: 30    # Background Services
                      # Non-interactive Cloudflare bypass service

Rationale for CPU allocation:

  • Suwayomi (70): Requires responsive web UI for manga reading while managing parallel downloads, extension processing, and library updates
  • FlareSolverr (30): Background service without real-time requirements, used only when manga sources need Cloudflare bypass

V2 System Variables

Updated environment variable to use V2 standard:

AUTH_PASSWORD: $PCS_DEFAULT_PASSWORD  # Was: $default_pwd

3. Configuration Details

Suwayomi Settings:

  • Port 80 (NSL Router compatible)
  • Simple Login authentication enabled
  • CBZ download format enabled
  • Conservative update settings (manual control)
  • WebUI Preview channel (per-device settings support)
  • Keiyoushi extensions repository
  • FlareSolverr integration configured

FlareSolverr Settings:

  • Chrome/Chromium-based browser
  • 60-second timeout
  • 15-minute session TTL
  • Integrated with Suwayomi service name

4. File Structure

/DATA/AppData/suwayomi/
├── data/              # Suwayomi configuration and database
└── flaresolverr/      # FlareSolverr session data

/DATA/Media/Mangas/    # Downloaded manga in CBZ format

Testing Results

Deployment successfully tested with the following verification:

FlareSolverr (v3.4.6)

✅ Version: 3.4.6
✅ Chrome/Chromium: major version 142
✅ Test: successful
✅ Service: running on http://0.0.0.0:8191

Suwayomi (v2.1.1875)

✅ Version: v2.1.1875
✅ Port: 80 (NSL Router ready)
✅ Authentication: simple_login mode
✅ FlareSolverr: integration configured
✅ Extensions: Keiyoushi repository loaded
✅ Downloads: CBZ format enabled

Integration Test

✅ Container startup: both services started successfully
✅ Network communication: Suwayomi → FlareSolverr connection established
✅ Database migration: completed without errors
✅ Extension repository: accessible
✅ User authentication: password properly masked in logs (security confirmed)

Checklist

Security ✅

  • Default authentication (Simple Login) enabled and documented
  • No hardcoded credentials - uses $PCS_DEFAULT_PASSWORD
  • Proper file permissions with user: $PUID:$PGID
  • Specific version tags (no :latest)
  • Pre-install commands: ubuntu:22.04 with proper user permissions

Functionality ✅

  • Works immediately after installation
  • Data mapped to /DATA subdirectories appropriately
  • No manual configuration required for basic functionality
  • CPU field cpu_shares set appropriately (70/30)
  • Fresh installation tested successfully
  • Uninstall/reinstall tested - data persistence confirmed

Documentation ✅

  • Clear description of the application (manga library management)
  • Volume and environment variable descriptions
  • Installation tips with default credentials
  • Multi-language support (en_us, ko_kr, zh_cn, fr_fr, es_es)

Breaking Changes

None. This is a backward-compatible update.

Additional Notes

Why FlareSolverr is included:
Many manga sources use Cloudflare protection. FlareSolverr enables Suwayomi to access these sources by solving Cloudflare challenges automatically. This integration is optional but highly recommended for accessing major manga sources.

Resource requirements:

  • Suwayomi: 1GB memory limit (manga processing and downloads)
  • FlareSolverr: 512MB memory limit (browser automation)
  • Both services configured with appropriate cpu_shares for fair resource allocation

User experience:

  • First-time users get a working manga library immediately after installation
  • No complex configuration needed
  • Default credentials provided in tips for easy access
  • 1200+ manga sources available through Keiyoushi extensions

Related Issues

  • Follows CONTRIBUTING.md requirements for cpu_shares
  • Removes :latest tag usage per project guidelines
  • Implements V2 system variables ($PCS_DEFAULT_PASSWORD)

Author: Yundera Team
Tested on: CasaOS with NSL Router integration
Application Category: Media
Architectures: amd64, arm64

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.

1 participant