Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/automattic/s3-media-sync
A WordPress plugin to sync uploads to an Amazon S3 bucket from a VIP Go instance.
https://github.com/automattic/s3-media-sync
s3 vip wordpress wordpress-plugin wpvip-plugin
Last synced: about 1 month ago
JSON representation
A WordPress plugin to sync uploads to an Amazon S3 bucket from a VIP Go instance.
- Host: GitHub
- URL: https://github.com/automattic/s3-media-sync
- Owner: Automattic
- Created: 2020-06-03T17:38:23.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-07T09:55:31.000Z (8 months ago)
- Last Synced: 2024-10-01T02:41:10.810Z (about 2 months ago)
- Topics: s3, vip, wordpress, wordpress-plugin, wpvip-plugin
- Language: PHP
- Homepage:
- Size: 47.9 KB
- Stars: 12
- Watchers: 4
- Forks: 5
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# S3 Media Sync
This plugin syncs the `uploads` directory of a VIP Platform WordPress environment to an AWS S3 instance.
Props to [S3-Uploads](https://github.com/humanmade/S3-Uploads/) and [Human Made](https://hmn.md/) for creating much of the functionality: https://github.com/humanmade/S3-Uploads
## Setup
### Build the plugin
This plugin uses [composer](https://getcomposer.org/) as a package manager. After downloading the plugin (as a ZIP file or via `git pull`) run one of the following commands:
* For production: `composer install --no-dev --optimize-autoloader`
* For development: `composer install`Running one of the above commands will create a `vendor` directory which is required for the plugin to function correctly. Applications that are using CI/CD already run one of these commands automatically and can skip this step.
### Activate the plugin
* [Commit the plugin](https://docs.wpvip.com/technical-references/installing-plugins-best-practices/) to your application's `plugins` directory.
* Activate the plugin through code or within the WordPress Admin dashboard.
* [Create an IAM user with Programmatic Access](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html).
* Enter the provided AWS S3 API keys on the plugins's Settings page.
* Backfill the uploads directory on AWS by running the following command:```
wp s3-media upload-all --url=example-site.com
```## FAQ
*How can I upload media to a subdirectory in S3?*
As an example, you already have a bucket named `my-awesome-site` but you want all of your media to go into a `preprod` subdirectory of that bucket. To configure media to upload to that subdirectory, go to the S3 Media Sync settings page and enter the following for the `S3 Bucket Name` field:
```
my-awesome-site/preprod
```Then, all media will automatically be kept in-sync within `my-awesome-site/preprod/wp-content/uploads`.
*How can I confirm if all of the attachments were uploaded?*
You can check which attachments were skipped by running the following command:
```
wp vip migration validate-attachments invalid-attachments.csv --url=example-site.com
```The generated log file will be available at `invalid-attachments.csv`. The full command can be found here:
https://github.com/Automattic/vip-go-mu-plugins/blob/master/wp-cli/vip-migrations.php#L165-L187
## Changelog
### 1.2.0
- Update Composer dependencies for PHP 8.0 compatibility.### 1.1.0
- Fix: Upload images edited within WordPress to the bucket.