Chevereto V3 Documentation

website·Indexed 40 days ago

https://v3-docs.chevereto.com/

Documentation for Chevereto V3, covering installation, system requirements, and dashboard settings including image upload, external storage, API v1, user management, and theme customization. Note: Chevereto V3 has reached end of life.

Tokens
19.5K
Snippets
60
Records
203
Agent score
71%

What's inside Chevereto

  1. Overview of Chevereto image hosting

    Chevereto is a self-hosted, multi-user image hosting solution designed to handle very large image collections and optimized for network usage at scale. It allows users to create image-sharing websites similar to Imgur or Flickr. Common use cases include image hosting services, image-based sharing communities, photography showcases, image-driven portfolios, and asset image storage.
  2. Overview of the Bulk Content Importer

    The Bulk Content Importer allows for the mass import of images, albums, and users by parsing a filesystem location. It is designed for large datasets that are impractical to import via the API or web GUI. Unlike syncing, this tool imports content into the database, filesystem, or external storage. Files that fail to import are moved to ./importing/failed/.
  3. CSRF protection and Cryptography overview

    Chevereto implements the following security standards:

    • CSRF Protection: Uses request tokens set during the session. If a request token does not match the session, the system returns a 403 error.
    • Cryptography: Uses BCrypt for storing passwords and cookie login entries. Social login and 'Keep me logged in' features combine BCrypt with randomly generated strings.
  4. Popup Upload Plugin (PUP) Technical Architecture

    The Popup Upload Plugin (PUP) is a lightweight (~18KB raw, ~6KB gzipped) native JavaScript library that does not require external dependencies. Key technical features include:

    • Async Loading: Does not block the target website's render process.
    • DOM Observation: Uses a smart load system to observe the DOM until the target sibling element is available. It can be configured to observe click events on specific selectors for dynamic editor boxes (e.g., XenForo, Discourse, NodeBB).
    • Security: Wrapped in a JavaScript closure to prevent variable tampering and conflicts. It uses the postMessage API for secure, origin-restricted communication with the Chevereto website.
    • Scalability: Supports unlimited multiple instances using GUIDs for unique identification and employs template caching for performance.
  5. Manage image categories in Chevereto

    Categories are used to classify uploaded images and generate specific listings for each category. Category management is located at /dashboard/settings/categories in the admin dashboard.
  6. Deploy Chevereto files using cPanel File Manager

    1. Open File Manager under the Files section.
    2. Navigate to the public_html/ directory of your website.
    3. Use the Upload button to upload the release zip file downloaded from chevereto.com/panel/downloads.
    4. Right-click the uploaded zip file and select Extract, then confirm by clicking Extract Files.
    5. Delete the zip file after extraction is complete to save space.
  7. Configure Facebook login for Chevereto V3

    To enable Facebook login, create a Facebook app at developers.facebook.com. Note that the developers of Chevereto do not recommend this provider due to security and privacy concerns.

    Configuration steps:

    1. Create a new app at https://developers.facebook.com/apps.
    2. In Settings, add the Website platform and enter your website URL.
    3. Provide the app domain, privacy policy, and terms URLs.
    4. In Products, add Facebook Login.
    5. In Client OAuth Settings, enable Web OAuth Login.
    6. Set the Valid OAuth redirect URIs to http://yourwebsite.com/connect/facebook.
    7. Set the Deauthorize Callback URL to http://yourwebsite.com/.
    8. In App Review, make the app public.
    9. Copy the App ID and App Secret from the Dashboard into Chevereto at Dashboard > Settings > Social Networks.
  8. Access the Chevereto Dashboard

    The Chevereto system is administered via the Dashboard panel, located at the /dashboard route. To access it from the user interface, click on the user menu in the top bar and select 'Dashboard'.
  9. Ban IP addresses and ranges in Chevereto

    To prevent specific users or bots from accessing the system, use the IP bans settings located at /dashboard/settings/ip-bans. Navigate to this section and click "Add IP ban" to create a new restriction.
  10. Configure VK login for Chevereto V3

    To enable VK login, create an application at vk.com/dev:

    1. Click Create An Application and select the Website category.
    2. Fill in your website data and click Connect site.
    3. Set the Authorized redirect URI to http://www.yourwebsite.com/connect/vk.
    4. In the app settings page, ensure that Open API is enabled.
  11. Integrate a CDN with external storage

    To use a CDN with external storage, create a pull zone at your CDN provider using the origin storage URL (e.g., the S3 bucket URL). You can then use the CDN's provided URL or a custom CNAME to set the Storage URL in Chevereto.
    Origin URL: https://s3.amazonaws.com/my-bucket/
    CDN Provider URL: https://pullzone-url.at.cdn-service.com/
    Final Storage URL (via CNAME): https://s3-cdn.domain.com/
  12. Perform initial Chevereto setup via CLI

    Initialize the Chevereto database tables and create the admin user using the command line. This requires running the cli.php script with the install command and providing the admin's username, email, and password.
    sudo -u www-data php /var/www/html/cli.php -C install \
        -u dev \
        -e dev@chevereto.loc \
        -x password