Frog Wizard

MediaWiki uploads on Linode object storage with Extension:AWS

I run self-hosted MediaWiki and put uploads in Linode Object Storage instead of serving them from disk. Linode is cheaper than AWS for my stack, and the AWS extension works with Linode’s S3-compatible API.

Extension:AWS configuration for Linode

My LocalSettings.php files look something like this:

wfLoadExtension( 'AWS' );

$wgAWSCredentials = [
	'key'    => getenv( 'LINODE_OBJECT_STORAGE_ACCESS_KEY' ) ?: '',
	'secret' => getenv( 'LINODE_OBJECT_STORAGE_SECRET_KEY' ) ?: '',
	'token'  => false,
];

$wgAWSBucketName = 'mywikifarm';
$wgAWSBucketDomain = 'https://us-east-1.linodeobjects.com/mywikifarm';
$wgAWSBucketTopSubdirectory = '/thiswiki/files';

$wgAWSRegion = 'us-east';

$wgFileBackends['s3']['endpoint'] = 'https://us-east-1.linodeobjects.com';
$wgFileBackends['s3']['use_path_style_endpoint'] = true;
$wgHashedUploadDirectory = false;