Try   HackMD

S3 Image Upload Guide for CodiMD

Note: This guide was written before the renaming. Just replace HackMD with CodiMD in your mind

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
thanks!

  1. Go to AWS S3 console and create a new bucket.

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  2. Click on bucket, select Properties on the side panel, and find Permission section. Click Edit bucket policy.

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  3. Enter the following policy, replace bucket_name with your bucket name:

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

    ​​​​{
    ​​​​    "Version": "2012-10-17",
    ​​​​    "Statement": [
    ​​​​        {
    ​​​​            "Effect": "Allow",
    ​​​​            "Principal": "*",
    ​​​​            "Action": "s3:GetObject",
    ​​​​            "Resource": "arn:aws:s3:::bucket_name/uploads/*"
    ​​​​        }
    ​​​​    ]
    ​​​​}
    
  4. Go to IAM console and create a new IAM user. Remember your user credentials(key/access token)

  5. Enter user page, select Permission tab, look at Inline Policies section, and click Create User Policy

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  6. Select Custom Policy

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

  7. Enter the following policy, replace bucket_name with your bucket name:

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

    ​​​​{
    ​​​​    "Version": "2012-10-17",
    ​​​​    "Statement": [
    ​​​​        {
    ​​​​            "Effect": "Allow",
    ​​​​            "Action": [
    ​​​​                "s3:*"
    ​​​​            ],
    ​​​​            "Resource": [
    ​​​​                "arn:aws:s3:::bucket_name/uploads/*"
    ​​​​            ]
    ​​​​        }
    ​​​​    ]
    ​​​​}
    
  8. Edit config.json and set following keys:

    ​​​​{
    ​​​​    "production": {
    ​​​​        ...
    ​​​​        "imageuploadtype": "s3",
    ​​​​        "s3": {
    ​​​​            "accessKeyId": "YOUR_S3_ACCESS_KEY_ID",
    ​​​​            "secretAccessKey": "YOUR_S3_ACCESS_KEY",
    ​​​​            "region": "YOUR_S3_REGION" // example: ap-northeast-1
    ​​​​        },
    ​​​​        "s3bucket": "YOUR_S3_BUCKET_NAME"
    ​​​​    }
    ​​​​}
    
  9. In additional to edit config.json directly, you could also try environment variable.


tags: CodiMD Docs