source_db_path: "/path/to/your/db.sqlite3" output_db_path: "/path/to/your/uploads.sqlite3" root_paths: - "/path/to/your/files" - "/path/to/more/files" # The number of threads to use for processing uploads is calculated as: # thread_count = [number of cores] * [thread_count_factor] # The thread count will be doubled if uploads are stored on S3 because there's a higher latency. thread_count_factor: 1.5 # Delete uploads from the output database that are not found in the source database. delete_surplus_uploads: false # Delete uploads from the output database that do not have a Discourse upload record. delete_missing_uploads: false # Check if files are missing in the upload store and update the database accordingly. # Set to false and re-run the script afterwards if you want to create new uploads for missing files. fix_missing: false # Create optimized images for post uploads and avatars. create_optimized_images: false site_settings: authorized_extensions: "*" max_attachment_size_kb: 102_400 max_image_size_kb: 102_400 enable_s3_uploads: true s3_upload_bucket: "your-bucket-name" s3_region: "your-region" s3_access_key_id: "your-access-key-id" s3_secret_access_key: "your-secret-access-key" s3_cdn_url: "https://your-cdn-url.com" # Sometimes a file can be found at one of many locations. Here's a list of transformations that can # be applied to the path to try and find the file. The first transformation that results in a file # being found will be used. path_replacements: # - ["/foo/", "/bar"] # - ["/foo/", "/bar/baz/"]