# Apostrophe CMS

## What is Apostrophe CMS?

Apostrophe CMS is an open-source CMS product built using NodeJS that features an in-context editing service and a headless full-stack JavaScript environment. Apostrophe CMS supports Windows, macOS X, and Linux operating systems.

Read below to learn how to use Apostrophe CMS with Filebase.

{% hint style="success" %}

### Prerequisites:

* [x] [Download and install](https://v2.docs.apostrophecms.org/getting-started/setting-up-your-environment.html) Apostrophe CMS.
* [x] [Sign up](https://filebase.com/signup) for a free Filebase account.&#x20;
* [x] Have your Filebase Access and Secret Keys. Learn how to view your access keys [here](https://docs.filebase.com/getting-started-guides/getting-started-guide#working-with-access-keys).
* [x] Create a Filebase Bucket. Learn how to create a bucket [here](https://docs.filebase.com/getting-started-guides/getting-started-guide#creating-and-working-with-buckets).
  {% endhint %}

### 1. Create an Apostrophe CMS project with the following command:

`apos create test-project`

### 2. Navigate into the project’s directory:

`cd test-project`

### 3. Install the dependencies for your project:

`npm install`

### 4. Add an admin user to the admin group and set a password:

`node app.js apostrophe-users:add admin admin`

### 5. Start your project with the command:

`node app.js`

### 6. To configure your project to store files on Filebase, edit the `app.js` file to reflect the configuration of the following module:

```jsx
modules: {
  'apostrophe-attachments': {
    uploadfs: {
      backend: 's3',
      secret: 'FILEBASE_ACCESS_KEY',
      key: 'FILEBASE_SECRET_KEY',
      endpoint: ‘s3.filebase.com’,
      bucket: 'FILEBASE_BUCKET_NAME',
      region: 'us-east-1'
    }
  }
}
```

Replace the following values to reflect your configuration:

* **FILEBASE\_ACCESS\_KEY:** Filebase Access Key
* **FILEBASE\_SECRET\_KEY:** Filebase Secret Key
* **FILEBASE\_BUCKET\_NAME:** Filebase Bucket Name
