Integrations

10 stacks with verified, CI-tested snippets — and a configuration table for 10 more.

Search by language, framework or tool. If yours is not here, it almost certainly still works: anything that speaks S3 speaks PopCloud, and the connection profile is all you need.

SDKs

Command line

Frameworks

Djangoverified
Media and static files through django-storages
Laravelnot yet documented
The s3 filesystem disk, through FlysystemThe configuration table on this card is all you need — see their documentation for the rest.
Rails Active Storagenot yet documented
config/storage.yml, pointed at a new endpointThe configuration table on this card is all you need — see their documentation for the rest.
Next.jsnot yet documented
Route handlers that sign uploads for the browserThe configuration table on this card is all you need — see their documentation for the rest.
Spring Bootnot yet documented
spring-cloud-aws, configured from application.ymlThe configuration table on this card is all you need — see their documentation for the rest.

Browser

Browser uploadsverified
Upload straight from the browser without proxying bytes
Uppynot yet documented
A drop-in uploader that signs through your own APIThe configuration table on this card is all you need — see their documentation for the rest.

Tools

rcloneverified
The migration workhorse — provider to provider, verified by hash
s5cmdnot yet documented
Parallel bulk copy, considerably faster than the CLIThe configuration table on this card is all you need — see their documentation for the rest.
MinIO Client (mc)not yet documented
An ls/cp/mirror shell over any S3 endpointThe configuration table on this card is all you need — see their documentation for the rest.
Terraformnot yet documented
Objects and remote state — not bucket configurationThe configuration table on this card is all you need — see their documentation for the rest.

Backup

resticnot yet documented
Deduplicating, encrypted backups to a bucketThe configuration table on this card is all you need — see their documentation for the rest.

Not documented yet

These are next. Each already carries the part that matters — how the connection profile maps into that tool’s own settings — so you can configure it today without waiting for the page.

restic

Deduplicating, encrypted backups to a bucket · their documentation ↗

In resticSet it to
RESTIC_REPOSITORY=s3:<endpoint>/<bucket>https://s3.canada.popcloud.ca
AWS_DEFAULT_REGIONcanada
AWS_ACCESS_KEY_IDPCAK00EXAMPLEKEYID00
AWS_SECRET_ACCESS_KEY<your secret access key>
(automatic for custom endpoints)path

Laravel

The s3 filesystem disk, through Flysystem · their documentation ↗

In LaravelSet it to
AWS_ENDPOINThttps://s3.canada.popcloud.ca
AWS_DEFAULT_REGIONcanada
AWS_ACCESS_KEY_IDPCAK00EXAMPLEKEYID00
AWS_SECRET_ACCESS_KEY<your secret access key>
AWS_USE_PATH_STYLE_ENDPOINTtrue

Rails Active Storage

config/storage.yml, pointed at a new endpoint · their documentation ↗

In Rails Active StorageSet it to
endpointhttps://s3.canada.popcloud.ca
regioncanada
access_key_idPCAK00EXAMPLEKEYID00
secret_access_key<your secret access key>
force_path_styletrue

s5cmd

Parallel bulk copy, considerably faster than the CLI · their documentation ↗

In s5cmdSet it to
--endpoint-urlhttps://s3.canada.popcloud.ca
AWS_REGIONcanada
AWS_ACCESS_KEY_IDPCAK00EXAMPLEKEYID00
AWS_SECRET_ACCESS_KEY<your secret access key>
(automatic for custom endpoints)path

MinIO Client (mc)

An ls/cp/mirror shell over any S3 endpoint · their documentation ↗

In MinIO Client (mc)Set it to
mc alias set <name> <endpoint>https://s3.canada.popcloud.ca
--regioncanada
mc alias set (3rd argument)PCAK00EXAMPLEKEYID00
mc alias set (4th argument)<your secret access key>
(automatic for custom endpoints)path

Next.js

Route handlers that sign uploads for the browser · their documentation ↗

In Next.jsSet it to
endpointhttps://s3.canada.popcloud.ca
regioncanada
credentials.accessKeyIdPCAK00EXAMPLEKEYID00
credentials.secretAccessKey<your secret access key>
forcePathStyletrue

Spring Boot

spring-cloud-aws, configured from application.yml · their documentation ↗

In Spring BootSet it to
spring.cloud.aws.s3.endpointhttps://s3.canada.popcloud.ca
spring.cloud.aws.region.staticcanada
spring.cloud.aws.credentials.access-keyPCAK00EXAMPLEKEYID00
spring.cloud.aws.credentials.secret-key<your secret access key>
spring.cloud.aws.s3.path-style-access-enabledtrue

Terraform

Objects and remote state — not bucket configuration · their documentation ↗

In TerraformSet it to
endpoints.s3https://s3.canada.popcloud.ca
regioncanada
access_keyPCAK00EXAMPLEKEYID00
secret_key<your secret access key>
use_path_styletrue

Uppy

A drop-in uploader that signs through your own API · their documentation ↗

In UppySet it to
(your signing endpoint returns the URL)https://s3.canada.popcloud.ca
(server side)canada
(server side — never ships to the browser)PCAK00EXAMPLEKEYID00
(server side — never ships to the browser)<your secret access key>
forcePathStyletrue

AWS SDK for .NET

AWSSDK.S3 for C# and ASP.NET Core · their documentation ↗

In AWS SDK for .NETSet it to
AmazonS3Config.ServiceURLhttps://s3.canada.popcloud.ca
AmazonS3Config.AuthenticationRegioncanada
BasicAWSCredentialsPCAK00EXAMPLEKEYID00
BasicAWSCredentials<your secret access key>
AmazonS3Config.ForcePathStyletrue