{"_id":"56ecc61d849b230e00df43f3","category":{"_id":"56e5e2acd1303329002ea781","project":"56e4c56bcc9b140e003e86a8","pages":["56ec672c2400d20e0075ba0c","56ec679a3b656b0e00d861d1","56ec67de04e8940e009664f2","56ecc61d849b230e00df43f3","56ecce4c1484f1170021d57d","56ecd4f37f94882900591943"],"version":"56e4c56ccc9b140e003e86ab","__v":6,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-03-13T21:59:08.172Z","from_sync":false,"order":1,"slug":"installation","title":"Administrator Guide"},"parentDoc":null,"project":"56e4c56bcc9b140e003e86a8","user":"56e4c5462d90970e00af1af3","__v":30,"githubsync":"","version":{"_id":"56e4c56ccc9b140e003e86ab","__v":4,"hasDoc":true,"project":"56e4c56bcc9b140e003e86a8","hasReference":true,"createdAt":"2016-03-13T01:42:04.131Z","releaseDate":"2016-03-13T01:42:04.131Z","categories":["56e4c56ccc9b140e003e86ac","56e5e17fd6d5513200761165","56e5e2acd1303329002ea781","56ec6dc12400d20e0075ba21"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-03-19T03:23:09.959Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":4,"body":"Files that are uploaded to Requarks can be stored one of the supported storage solutions listed below:\n\n- [Local Storage](#local-storage)\n- [Azure Blob Storage](#azure-blob-storage)\n- [Amazon S3](#amazon-s3)\n- [Google Cloud Storage](#google-cloud-storage)\n- [IBM SoftLayer Object Storage](#ibm-softlayer-object-storage) *(coming soon)* \n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Local Storage\"\n}\n[/block]\nFiles are stored on a local disk on the same server where Requarks is installed.\n\n## Configuration\n\n1. Create a **new folder** to a location of your choice on the same machine. Remote network locations are not recommended!\n2. Make sure the folder has the necessary **read and write permissions** to be used by the Node.js process.\n3. Enter the **storage configuration** on the Requarks setup page.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Space Limitations\",\n  \"body\": \"Unless you expect very little file storage usage, local storage should be avoided as you can quickly run out of space, which is not an issue with cloud storage. Make sure you have enough disk space for the expected usage and monitor the drive regularly to ensure there's enough free space.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Azure Blob Storage\"\n}\n[/block]\nMicrosoft provides a reliable and cheap storage solution to host files uploaded to Requarks.\n\n## Configuration\n\n1. In the Azure Portal, create a new **Storage Account**.\n2. Enter the **storage configuration** on the Requarks setup page. The access keys can be found in the storage account blade under All Settings > Access Keys. Both the primary or secondary keys can be used.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Geography Considerations\",\n  \"body\": \"It is **highly recommended** to create the storage account in the same region as where Requarks is hosted. If Requarks is hosted in another location, use the closest region. This will ensure an adequate performance level when uploading and retrieving files.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Amazon S3\"\n}\n[/block]\nAmazon provides a reliable and cheap storage solution to host files uploaded to Requarks.\n\n## Configuration\n\n1. In the **AWS Console**, navigate to **IAM** (Identity Access Manager).\n2. Click on **Policies** in the sidebar, then on **Create Policy**.\n3. Select **Create Your Own Policy**.\n4. **Copy-paste** the policy template provided below:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n    \\\"Version\\\": \\\"2012-10-17\\\",\\n    \\\"Statement\\\": [\\n        {\\n            \\\"Action\\\": [\\n                \\\"s3:CreateBucket\\\"\\n            ],\\n            \\\"Effect\\\": \\\"Allow\\\",\\n            \\\"Resource\\\": [\\n                \\\"arn:aws:s3:::*\\\"\\n            ]\\n        },\\n        {\\n            \\\"Effect\\\": \\\"Allow\\\",\\n            \\\"Action\\\": [\\n                \\\"s3:AbortMultipartUpload\\\",\\n                \\\"s3:CreateBucket\\\",\\n                \\\"s3:DeleteBucket\\\",\\n                \\\"s3:DeleteBucketPolicy\\\",\\n                \\\"s3:DeleteObject\\\",\\n                \\\"s3:GetBucketPolicy\\\",\\n                \\\"s3:GetLifecycleConfiguration\\\",\\n                \\\"s3:GetObject\\\",\\n                \\\"s3:ListBucket\\\",\\n                \\\"s3:ListBucketMultipartUploads\\\",\\n                \\\"s3:ListMultipartUploadParts\\\",\\n                \\\"s3:PutBucketPolicy\\\",\\n                \\\"s3:PutLifecycleConfiguration\\\",\\n                \\\"s3:PutObject\\\"\\n            ],\\n            \\\"Resource\\\": [\\n                \\\"arn:aws:s3:::requarks-*\\\",\\n                \\\"arn:aws:s3:::requarks-*/*\\\"\\n            ]\\n        }\\n    ]\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Minimum Policy\"\n    }\n  ]\n}\n[/block]\n5. **Save** the policy.\n6. Click on **Users** in the sidebar, then on **Create New Users**.\n7. Enter an account name (e.g. requarks) and make sure the \"*Generate an access key for each user*\" option is checked.\n8. Click the **Create** button and make note of the **Access Key ID** and **Secret Access Key** provided.\n9. Go back to the list of **Users** and click on the user you just created to edit its properties.\n10. Under the **Permissions** tab, click on the **Attach Policy** button and select the policy you created earlier.\n11. Enter the **storage configuration** on the Requarks setup page with the values created earlier.\n\n :triangular-flag-on-post: The **bucket prefix name** is a unique name that will be added in front of all buckets created by Requarks. Because bucket names are unique across all Amazon S3 users, the setup will fail if the name is already in use by another user.\n\n :triangular-flag-on-post: A list of valid regions is provided in [Amazon SDK documentation](http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region). The region name must be typed **exactly** as listed in the documentation under the **Region** column.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Geography Considerations\",\n  \"body\": \"It is **highly recommended** to create the storage account in the same region as where Requarks is hosted. If Requarks is hosted in another location, use the closest region. This will ensure an adequate performance level when uploading and retrieving files.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Google Cloud Storage\"\n}\n[/block]\nGoogle provides a reliable and cheap storage solution to host files uploaded to Requarks.\n\n## Configuration\n\n1. In the **Google Cloud Platform** dashboard, **create** a new project named Requarks (or you can use an existing project).\n2. On the project dashboard, click on **Enable and manage APIs**. You can also access it via the hamburger menu by clicking on **API Manager**.\n3. On the left sidebar, click on **Credentials**.\n4. Click on the **Create credentials** button and select **Service account key**.\n5. For Service Account, select **New service account** and name it **requarks**.\n6. For Key Type, select **JSON**.\n7. Download the generated json keyfile to a location of your choice on the server where Requarks is hosted.\n8. Enter the **storage configuration** on the Requarks setup page by providing the absolute path to the json keyfile.\n\n :triangular-flag-on-post: The **bucket prefix name** is a unique name that will be added in front of all buckets created by Requarks. Because bucket names are unique across all Google Cloud Storage users, the setup will fail if the name is already in use by another user.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Geography Considerations\",\n  \"body\": \"It is **highly recommended** to create the storage account in the same region as where Requarks is hosted. If Requarks is hosted in another location, use the closest region. This will ensure an adequate performance level when uploading and retrieving files.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"IBM SoftLayer Object Storage\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"success\",\n  \"title\": \"Coming soon!\"\n}\n[/block]","excerpt":"","slug":"storage","type":"basic","title":"Storage"}
Files that are uploaded to Requarks can be stored one of the supported storage solutions listed below: - [Local Storage](#local-storage) - [Azure Blob Storage](#azure-blob-storage) - [Amazon S3](#amazon-s3) - [Google Cloud Storage](#google-cloud-storage) - [IBM SoftLayer Object Storage](#ibm-softlayer-object-storage) *(coming soon)* [block:api-header] { "type": "basic", "title": "Local Storage" } [/block] Files are stored on a local disk on the same server where Requarks is installed. ## Configuration 1. Create a **new folder** to a location of your choice on the same machine. Remote network locations are not recommended! 2. Make sure the folder has the necessary **read and write permissions** to be used by the Node.js process. 3. Enter the **storage configuration** on the Requarks setup page. [block:callout] { "type": "warning", "title": "Space Limitations", "body": "Unless you expect very little file storage usage, local storage should be avoided as you can quickly run out of space, which is not an issue with cloud storage. Make sure you have enough disk space for the expected usage and monitor the drive regularly to ensure there's enough free space." } [/block] [block:api-header] { "type": "basic", "title": "Azure Blob Storage" } [/block] Microsoft provides a reliable and cheap storage solution to host files uploaded to Requarks. ## Configuration 1. In the Azure Portal, create a new **Storage Account**. 2. Enter the **storage configuration** on the Requarks setup page. The access keys can be found in the storage account blade under All Settings > Access Keys. Both the primary or secondary keys can be used. [block:callout] { "type": "info", "title": "Geography Considerations", "body": "It is **highly recommended** to create the storage account in the same region as where Requarks is hosted. If Requarks is hosted in another location, use the closest region. This will ensure an adequate performance level when uploading and retrieving files." } [/block] [block:api-header] { "type": "basic", "title": "Amazon S3" } [/block] Amazon provides a reliable and cheap storage solution to host files uploaded to Requarks. ## Configuration 1. In the **AWS Console**, navigate to **IAM** (Identity Access Manager). 2. Click on **Policies** in the sidebar, then on **Create Policy**. 3. Select **Create Your Own Policy**. 4. **Copy-paste** the policy template provided below: [block:code] { "codes": [ { "code": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Action\": [\n \"s3:CreateBucket\"\n ],\n \"Effect\": \"Allow\",\n \"Resource\": [\n \"arn:aws:s3:::*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"s3:AbortMultipartUpload\",\n \"s3:CreateBucket\",\n \"s3:DeleteBucket\",\n \"s3:DeleteBucketPolicy\",\n \"s3:DeleteObject\",\n \"s3:GetBucketPolicy\",\n \"s3:GetLifecycleConfiguration\",\n \"s3:GetObject\",\n \"s3:ListBucket\",\n \"s3:ListBucketMultipartUploads\",\n \"s3:ListMultipartUploadParts\",\n \"s3:PutBucketPolicy\",\n \"s3:PutLifecycleConfiguration\",\n \"s3:PutObject\"\n ],\n \"Resource\": [\n \"arn:aws:s3:::requarks-*\",\n \"arn:aws:s3:::requarks-*/*\"\n ]\n }\n ]\n}", "language": "json", "name": "Minimum Policy" } ] } [/block] 5. **Save** the policy. 6. Click on **Users** in the sidebar, then on **Create New Users**. 7. Enter an account name (e.g. requarks) and make sure the "*Generate an access key for each user*" option is checked. 8. Click the **Create** button and make note of the **Access Key ID** and **Secret Access Key** provided. 9. Go back to the list of **Users** and click on the user you just created to edit its properties. 10. Under the **Permissions** tab, click on the **Attach Policy** button and select the policy you created earlier. 11. Enter the **storage configuration** on the Requarks setup page with the values created earlier. :triangular-flag-on-post: The **bucket prefix name** is a unique name that will be added in front of all buckets created by Requarks. Because bucket names are unique across all Amazon S3 users, the setup will fail if the name is already in use by another user. :triangular-flag-on-post: A list of valid regions is provided in [Amazon SDK documentation](http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region). The region name must be typed **exactly** as listed in the documentation under the **Region** column. [block:callout] { "type": "info", "title": "Geography Considerations", "body": "It is **highly recommended** to create the storage account in the same region as where Requarks is hosted. If Requarks is hosted in another location, use the closest region. This will ensure an adequate performance level when uploading and retrieving files." } [/block] [block:api-header] { "type": "basic", "title": "Google Cloud Storage" } [/block] Google provides a reliable and cheap storage solution to host files uploaded to Requarks. ## Configuration 1. In the **Google Cloud Platform** dashboard, **create** a new project named Requarks (or you can use an existing project). 2. On the project dashboard, click on **Enable and manage APIs**. You can also access it via the hamburger menu by clicking on **API Manager**. 3. On the left sidebar, click on **Credentials**. 4. Click on the **Create credentials** button and select **Service account key**. 5. For Service Account, select **New service account** and name it **requarks**. 6. For Key Type, select **JSON**. 7. Download the generated json keyfile to a location of your choice on the server where Requarks is hosted. 8. Enter the **storage configuration** on the Requarks setup page by providing the absolute path to the json keyfile. :triangular-flag-on-post: The **bucket prefix name** is a unique name that will be added in front of all buckets created by Requarks. Because bucket names are unique across all Google Cloud Storage users, the setup will fail if the name is already in use by another user. [block:callout] { "type": "info", "title": "Geography Considerations", "body": "It is **highly recommended** to create the storage account in the same region as where Requarks is hosted. If Requarks is hosted in another location, use the closest region. This will ensure an adequate performance level when uploading and retrieving files." } [/block] [block:api-header] { "type": "basic", "title": "IBM SoftLayer Object Storage" } [/block] [block:callout] { "type": "success", "title": "Coming soon!" } [/block]