Init Manga v1.7.0 – Self-Hosted Storage with Init Uploader

Init Manga 1.7.0 introduces one of the most significant updates in the Init ecosystem: the ability to store your chapter images on your own server. Alongside Local and Wasabi, you can now build your own storage infrastructure using Init Uploader – a self-hosted, secure, and flexible storage solution designed for maximum control and efficiency.

Init Manga v1.7.0 – Self-Hosted Storage with Init Uploader

Introducing Init Uploader

Init Uploader is a self-hosted storage system developed specifically for Init Manga, allowing you to manage and store all chapter images directly on your own server — without relying on third-party services. The entire process of uploading, authentication, and response happens directly between your website and your server.

This solution is built for site owners who value data control, security, and performance. Init Uploader works alongside other storage methods, giving you a third option that is secure, private, and completely independent.

Key Benefits

  • Full Data Ownership: Host and manage all chapter images on your own server or VPS.
  • Enhanced Security: Supports authentication via API Key or HMAC signature with time window validation.
  • Consistent Performance: Reduce latency by leveraging your own infrastructure or internal CDN.
  • Cost Efficiency: Avoid recurring third-party storage fees.
  • Native Integration: Built directly into Init Manga — simply enable and start using.

Server-Side Installation

Create a file named init-uploader.php on your web server (in your public directory) and paste the configuration below:

// ==================== CONFIGURATION ====================

// Authentication Configuration
define('API_KEY',          'your-secret-api-key-here');  // API key for static authentication
define('SECRET_KEY',       'your-secret-hmac-key-here'); // Secret key for HMAC signature
define('USE_HMAC_AUTH',    false);                       // true = use HMAC, false = use static API key
define('HMAC_TIME_WINDOW', 300);                         // Maximum timestamp difference in seconds (5 minutes)

// Path Configuration
define('UPLOAD_DIR',       __DIR__ . '/uploads');        // Directory to store uploaded images
define('BASE_URL',         'https://your-domain.com');   // Base URL of your server

// Upload Limitations
define('MAX_FILE_SIZE', 10 * 1024 * 1024); // Maximum file size in bytes (10MB)
define('ALLOWED_EXTENSIONS', ['jpg', 'jpeg', 'png', 'gif', 'webp']); // Allowed file extensions

// Validation Configuration
define('STRICT_IMAGE_VALIDATION', false); // true = strict MIME type check, false = relaxed (allow more file types)

// System Configuration
define('ENABLE_LOGGING', true); // Enable/disable logging
define('REQUIRE_HTTPS', true);  // Require HTTPS connections

Make sure the /uploads directory is writable (chmod 755 or 775). If you use a CDN or Cloudflare, you can host this script on a separate subdomain, such as cdn.your-domain.com, to offload traffic and improve delivery speed.

Recommended PHP Configuration

To ensure Init Uploader runs smoothly when uploading multiple images or large files, adjust your PHP limits as follows:

; php.ini or .user.ini

; Increase maximum upload size
upload_max_filesize = 128M
post_max_size = 128M

; Extend execution time (useful for multi-image uploads)
max_execution_time = 300
max_input_time = 300

; Allow more memory for image processing and logging
memory_limit = 512M

If you’re on shared hosting, you can set these values in a .user.ini or .htaccess file (for Apache), for example:

# .htaccess
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value max_execution_time 300
php_value memory_limit 512M

Suggested Nginx Configuration

If you’re using Nginx, add the following configuration to allow large uploads and improve API response performance:

server {
    server_name your-domain.com;
    root /var/www/your-domain.com/public;

    # Increase upload limit
    client_max_body_size 128M;

    # Optimize connection timeouts
    keepalive_timeout  30;
    send_timeout       120;

    # Secure Init Uploader script
    location /init-uploader.php {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock; # adjust for your PHP version
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_read_timeout 300;
    }

    # Optimize image caching
    location /uploads/ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }
}

With this configuration, Init Uploader can handle large chapter uploads or high-resolution image batches without triggering 413 Request Entity Too Large or 504 Gateway Timeout errors. This is especially useful when uploading complete chapters or heavy artwork collections.

If you’re hosting on a VPS or dedicated server, it’s recommended to enable OPcache and FastCGI caching for maximum performance when uploading and serving images to readers.

How to Enable Init Uploader in Init Manga

After updating to version 1.7.0, you can activate Init Uploader in your admin panel:

  1. Go to Init Manga → Integrations → Init Uploader.
  2. Toggle Enable Init Uploader to turn it on.
  3. Enter your Uploader Endpoint URL, for example: https://your-domain.com/init-uploader.php.
  4. Select your preferred authentication method: Static API Key or HMAC.
  5. Fill in your credentials and upload path template.

Once saved, click Test Init Uploader to verify the connection. If it returns “success”, your setup is complete and ready to use.

Example Configuration in Init Manga

Field Sample Value
Enable Init Uploader Enabled
Uploader Endpoint URL https://cdn.your-domain.com/init-uploader.php
Auth Mode Static API Key
API Key your-secret-api-key-here
Default Upload Path Template manga/{manga_id}/chapters/{chapter_id}

Smoother Upload Experience

In the Chapter Editor, you will now see three unified upload options: Local, Wasabi, and Init Uploader. All buttons share the same progress indicator that displays a subtle percentage beside them. No pop-ups, no blocking alerts, and no reloads — just a clean and seamless upload experience.

Storage Methods Comparison

Init Manga currently supports three upload and storage methods — Local Storage, Wasabi, and Init Uploader. Each serves a different purpose depending on your scalability, budget, and infrastructure requirements.

Method Best For Advantages Considerations
Local Storage Beginners or small sites
  • Zero setup, works immediately
  • No external dependencies
  • Perfect for testing or low-traffic environments
  • Consumes WordPress server disk space
  • Requires manual backups
  • Limited scalability and redundancy
Wasabi Growing platforms or teams
  • Optimized S3-compatible cloud storage
  • Low-cost solution with CDN integration
  • Supports batch ZIP upload for multiple chapters
  • Requires Wasabi account and bucket configuration
  • Dependent on external infrastructure
Init Uploader Advanced users with private or dedicated servers
  • Fully self-hosted and privacy-first
  • Full control over data, storage, and performance
  • Integrates seamlessly with CDN and caching layers
  • Requires VPS or dedicated server setup
  • Manual configuration (API, endpoint, permissions)
  • Batch ZIP uploads coming in next release

Quick summary:

  • Choose Local – when starting small, minimizing costs, or handling manual backups.
  • Choose Wasabi – when scaling up with affordable cloud storage and automatic CDN delivery.
  • Choose Init Uploader – when prioritizing full data control, self-hosted performance, and privacy.

Conclusion

The Init Manga 1.7.0 update goes beyond performance improvements — it gives you full control over your content and storage strategy. With Init Uploader, you can securely host your own data, maintain independence from external services, and ensure long-term reliability for your readers and creators alike.

Comments


  • No comments yet.

Init Toolbox

Press Ctrl + \ on desktop, or swipe left anywhere on mobile.

Login