Initial Configuration
Complete the initial setup of Serverless CMS by logging in, creating your first site, and testing the workflow.
On This Page
First Login
Access Admin Tool
Navigate to your Admin Tool URL:
https://admin.example.com
You should see the Serverless CMS login page.
Initial Admin User
The deployment automatically creates an admin user with the email specified in components/auth-service.json:
{
"users": [
{ "email": "george.taylor@taylor-made-software.co.uk", "groups": ["admin"] }
]
}
Get Temporary Password
Cognito sends a temporary password via email. If you don't receive it, retrieve it from AWS:
# Get user details
aws cognito-idp admin-get-user \
--user-pool-id YOUR_USER_POOL_ID \
--username george.taylor@taylor-made-software.co.uk \
--region eu-west-2 \
--profile cms-deploy
# Reset password (if needed)
aws cognito-idp admin-set-user-password \
--user-pool-id YOUR_USER_POOL_ID \
--username george.taylor@taylor-made-software.co.uk \
--password "TempPassword123!" \
--temporary \
--region eu-west-2 \
--profile cms-deploy
Login and Set New Password
- Enter your email and temporary password
- Click Sign In
- You'll be prompted to set a new password
- Enter a strong password (min 12 characters, uppercase, lowercase, numbers, symbols)
- Click Change Password
Create First Site
Navigate to Sites
- Click Sites in the left sidebar
- Click Create Site button
Site Configuration
Fill in the site details:
| Field | Description | Example |
|---|---|---|
| Site Name | Internal identifier (lowercase, no spaces) | blog |
| Display Name | Human-readable name | My Blog |
| Root Domain | Select from configured domains | example.com |
| Description | Optional site description | Personal blog about technology |
The site will be accessible at: https://blog.example.com
Default Template and Page
When you create a site, the system automatically creates:
- Default Template: A basic page template with header and content zones
- Home Page: A draft home page using the default template
- Site Groups: Four Cognito groups for access control:
blog-admin- Full site managementblog-author- Create and edit pagesblog-templates- Manage templatesblog-publish- Publish pages
Upload Default Components
Navigate to Components
- Click Components in the left sidebar
- Click Upload Components button
Upload Component Bundles
The project includes pre-built default components in components/default/:
title.zip- Heading componentrich-text.zip- Rich text editorimage.zip- Image componentbutton.zip- Button componentcontainer.zip- Layout containerheader.zip- Page headersite-navigation.zip- Navigation menupage-list.zip- Dynamic page listtable.zip- Configurable data tableteaser.zip- Content teasercomments.zip- Comments section
Upload Process
- Click Choose File
- Select one or more
.zipfiles fromcomponents/default/ - Click Upload
- Wait for validation and upload to complete
- Components appear in the component library
Create and Publish a Page
Edit Home Page
- Navigate to Sites → blog → Pages
- Click on the Home page
- Click Edit button
Add Components
- In the page editor, click Add Component in a content zone
- Select Title component
- Fill in the dialog:
- Text:
Welcome to My Blog - Level:
H1
- Text:
- Click Save
- Add a Rich Text component below the title
- Enter some content in the rich text editor
- Click Save
Configure SEO Metadata
- Click the SEO tab
- Fill in:
- Page Title:
Welcome to My Blog - Description:
A personal blog about technology and software development - Canonical URL:
https://blog.example.com/
- Page Title:
- Click Save
Publish the Page
- Click Publish button
- Confirm publication
- Wait for publishing to complete (5-10 seconds)
- Click View Published Page to see the live page
Your page is now live at: https://blog.example.com/
User Management
Create Additional Users
- Navigate to Users in the sidebar
- Click Create User
- Fill in:
- Email: User's email address
- Groups: Select appropriate groups
- Click Create
The user receives an email with a temporary password.
System Groups
| Group | Permissions |
|---|---|
admin |
Full platform access, manage all sites |
site-creator |
Create new sites |
site-editor |
Edit site settings |
authentication-admin |
Manage users and groups |
Site-Specific Groups
Each site has four groups (auto-created):
| Group | Permissions |
|---|---|
{siteName}-admin |
Full site management |
{siteName}-author |
Create and edit pages |
{siteName}-templates |
Manage templates |
{siteName}-publish |
Publish and unpublish pages |
Assign Users to Site Groups
- Navigate to Sites → blog → Settings
- Click Access Control tab
- For each group, click Manage Members
- Add or remove users
- Click Save
Platform Settings
Design Variables
Configure global design variables:
- Navigate to Settings → Design Variables
- View the Variable Registry (all available CSS variables)
- Create site-specific themes by overriding variables
Breakpoints
Configure responsive breakpoints:
- Navigate to Settings → Breakpoints
- View default breakpoints:
--breakpoint-mobile: 768px--breakpoint-tablet: 1024px--breakpoint-desktop: 1280px
- Override per site if needed
Page Types
Create custom page types for better organization:
- Navigate to Settings → Page Types
- Click Create Page Type
- Enter name (e.g.,
Blog Post,Landing Page) - Click Save
Page types help filter and organize pages in the admin interface.
Test Complete Workflow
End-to-End Test
Verify the complete workflow:
- Create a template with custom zones
- Create a new page using the template
- Add components to the page
- Configure SEO metadata
- Publish the page
- View the published page in a browser
- Check sitemap:
https://blog.example.com/sitemap.xml - Check robots.txt:
https://blog.example.com/robots.txt
Verify SEO Features
Check that SEO features are working:
- View page source (right-click → View Page Source)
- Verify meta tags are present:
<title><meta name="description">- Open Graph tags (
og:title,og:description) - JSON-LD structured data
- Test with Google's Rich Results Test
Next Steps
Now that your CMS is configured, you can:
- Create more sites for different projects
- Build custom components and upload them
- Invite team members and assign permissions
- Configure site themes with custom CSS variables
- Set up monitoring with CloudWatch
- Configure backups for DynamoDB and S3