Skip to content
An open source serverless content management system and static page generator
JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
img improved readme and added mising vars.json empty file May 11, 2019
public
src
website_template adds template directory to bucket Apr 16, 2019
.gitignore
.travis.yml
LICENSE
README.md
api-script.js
aws-exports.js.enc travis.com May 11, 2019
copyFunction.js
copyFunction.zip
copy_policy.json
deployment-script.js deleted the almost cms folder and moved evrything to the root May 7, 2019
lambda-script.js
package-lock.json deleted the almost cms folder and moved evrything to the root May 7, 2019
package.json
schema.graphql deleted the almost cms folder and moved evrything to the root May 7, 2019
test-script.js deleted the almost cms folder and moved evrything to the root May 7, 2019
variables.json improved readme and added mising vars.json empty file May 11, 2019
website-script.js deleted the almost cms folder and moved evrything to the root May 7, 2019

README.md

logo

License Build Status contributions welcome Join the chat at https://gitter.im/torus_cms/community

Torus CMS is an open source micro service based serverless content management system (CMS) for building, managing and deploying static sites in a light, cost-effective way. It's mobile compatible and it provides a friendly GUI, allowing you to easily publish content from any device.

Torus CMS is standalone and can be added to any static site. There is no need to migrate your site, learn a new language or do any maintenance.

How it works

logo

Getting Started

Pre-requisites

  • Make sure you have node.js and npm installed. You can checkout this tutorial to install npm and node in mac, linux (debian/ubuntu).
  • Have an AWS account. If you don't have an AWS account, you can easily create one here. Don't worry, everything you do with this project will fall within the AWS free tier limit!

Steps

  1. Clone the git repository

  2. Go into the directory of the project cd torus_cms

  3. Install all dependencies by running npm install

  4. Install the amplify CLI if you havn't done so already npm install -g @aws-amplify/cli

  5. run the deplyment script node deployment-script.js

  6. Configure amplify by running amplify configure

  7. Create a file called .env withe the following variables

    AWS_ACCESS_KEY_ID=your-access-key
    AWS_SECRET_ACCESS_KEY=your-secret-access-key
    AWS_REGION=us-east-1
    AWS_ACCOUNT_NUMBER=your-aws-account-number
    
  8. To find your AWS account number, go to the AWS console support center image 18

  9. Initialize a new amplify project inside your react app amplify init init1 init2

  10. Add authentication amplify add auth use the default configuration

  11. Add an S3 storage bucket amplify add storage storage ** you can use the space bar to select multiple options

  12. Add a graphQL API amplify add api to easily store and retrieve data from dynamoDB api

  13. Set up hosting for the amplify app amplify hosting add

    1. Select dev
    2. For the name of the bucket, enter admin.your-domain.com replace your-domain.com with your domain.
  14. Re-run the deployment script. Add a -dev at the end of the name your sotrage bucket (e.g. yourstorage-bucket-dev). this assumes you named your environment dev.

  15. Make sure to change the nameservers in your domain's DNS settings to use the four nameservers from route 53. This step will vary depending on your domain name registrar. nameservers

  16. Add a two more variables to your .env file containing your API's invoke URL and your website's url.

REACT_APP_COPY_BUCKET_URL=your-invoke-url
REACT_APP_SITE_URL=http://your-domain.com
  1. Now your ready to publish your app. Run amplify publish

    1. Do you want to generate code for your newly created api? No
    2. Be a bit patient ...
  2. Your all set! now you can upload pictures and articles to your static site! login screen

  3. Instead of publishing the admin app you can also only publish the backend by running amplify push then you can run the app locally with npm start

You can’t perform that action at this time.