Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
0459775
Add .gitignore file
bryantgillespie Jan 30, 2024
4e35031
Add agency-os template
bryantgillespie Jan 30, 2024
094acb8
readme first pass
bryantgillespie Jan 30, 2024
f0ae344
Update README.md with instructions for extracting templates
bryantgillespie Jan 30, 2024
58bb934
fix formatting
bryantgillespie Jan 30, 2024
48ee195
punctuation
bryantgillespie Jan 30, 2024
e020ec0
Add 'directus' to .gitignore
bryantgillespie Feb 26, 2024
d659882
headless cms template
bryantgillespie Feb 26, 2024
7325dc4
help center template
bryantgillespie Feb 26, 2024
ceac3b5
Fix generate invoice number flow
baguse Apr 30, 2024
fe8b9b9
Merge pull request #1 from baguse/fix/generate-invoice-number-flow
bryantgillespie May 1, 2024
0ec90bf
Set root folder for images (#2)
Abdallah-Awwad Sep 12, 2024
a0d11a4
Add missing access policies for existing templates (#7)
bryantgillespie Dec 27, 2024
7bf6a0f
Add Cloud Templates (#8)
bryantgillespie Dec 27, 2024
d0508cf
update to simple cms (#9)
bryantgillespie Jan 15, 2025
d1a82ee
Add "id" field to permissions for the directus_user table for Public …
joggienl Jan 31, 2025
6a353a9
update cms template to include seo plugin (#12)
bryantgillespie Feb 13, 2025
0700fe8
update duplication fields for CMS template (#15)
bryantgillespie Feb 21, 2025
e193ef8
update for visual editor (#18)
bryantgillespie Apr 11, 2025
679e306
Merge remote-tracking branch 'templates/main' into bry/merge-templates
bryantgillespie Mar 4, 2026
8853168
feat: restructure merged templates for CLI init compatibility
bryantgillespie Mar 4, 2026
a7d0156
Merge branch 'main' into bry/merge-templates
bryantgillespie Mar 4, 2026
05a4f5b
feat: remove agencyos template (moved to dedicated repo)
bryantgillespie Mar 5, 2026
1d71ea3
chore: merge main into template branch
bryantgillespie May 13, 2026
ef87432
fix: align Directus versions in templates
bryantgillespie May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ node_modules
.vscode
**/logs/
.backups
*.log*
.pnpm-store

26 changes: 26 additions & 0 deletions help-center/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Help Center

A multilingual help center template for Directus with articles and collections.

## Getting Started

### Using Directus Cloud

1. Create a new project at [Directus Cloud](https://directus.io/cloud/) and select the **Help Center** template.
2. Generate a static token for the admin user.

### Using Docker (Local)

```bash
npx directus-template-cli@latest init
```

Select **Help Center** from the template list and follow the prompts.

## What's Included

- Help articles with translations
- Help collections for organizing articles
- Article feedback tracking
- Multi-language support
- Dashboards
48 changes: 48 additions & 0 deletions help-center/directus/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Database Configuration
DB_USER=directus
DB_PASSWORD=directus
DB_DATABASE=directus

# Directus Configuration
DIRECTUS_PORT=8055
DIRECTUS_SECRET=6116487b-cda1-52c2-b5b5-c8022c45e263

# Cache Configuration
CACHE_ENABLED=true
CACHE_AUTO_PURGE=true

# Admin Configuration
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=d1r3ctu5

# WebSocket Configuration
WEBSOCKETS_ENABLED=true

# URL Configuration
PUBLIC_URL=http://localhost:8055

# CORS Configuration:
# Development: It's ok to use "*" or "http://localhost:3000" for local testing
# Production: Specify exact origins like:
# - Single origin: "https://your-domain.com"
# - Multiple origins: "https://app.domain.com,https://admin.domain.com"
# Warning: Using "*" in production is a security risk - always specify allowed origins
CORS_ENABLED=true
CORS_ORIGIN=*

# Cookie Configuration
REFRESH_TOKEN_COOKIE_SECURE=false
REFRESH_TOKEN_COOKIE_SAME_SITE=lax
REFRESH_TOKEN_COOKIE_DOMAIN=localhost

SESSION_COOKIE_SECURE=false
SESSION_COOKIE_SAME_SITE=lax
SESSION_COOKIE_DOMAIN=localhost

# Extensions Configuration
EXTENSIONS_PATH=./extensions
EXTENSIONS_AUTO_RELOAD=true
EXTENSIONS_ROLLDOWN=true

# Content Security Policy
CONTENT_SECURITY_POLICY_DIRECTIVES__FRAME_SRC=http://localhost:3000,http://localhost:4321,http://localhost:5173,https://*.youtube.com,https://*.vimeo.com,https://*.wistia.net,https://*.loom.com
86 changes: 86 additions & 0 deletions help-center/directus/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: directus-help-center-template
services:
database:
image: postgis/postgis:16-master
platform: linux/amd64
volumes:
- ./data/database:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_DATABASE}
healthcheck:
test: ['CMD', 'pg_isready', '-U', '${DB_USER}', '-d', '${DB_DATABASE}', '-h', 'localhost']
interval: 10s
timeout: 5s
retries: 5
start_interval: 5s
start_period: 30s

cache:
image: redis:6
healthcheck:
test: ['CMD-SHELL', "[ $$(redis-cli ping) = 'PONG' ]"]
interval: 10s
timeout: 5s
retries: 5
start_interval: 5s
start_period: 30s

directus:
image: directus/directus:11.17.4
ports:
- ${DIRECTUS_PORT}:8055
volumes:
- ./uploads:/directus/uploads
- ./extensions:/directus/extensions
depends_on:
database:
condition: service_healthy
cache:
condition: service_healthy
environment:
SECRET: ${DIRECTUS_SECRET}

DB_CLIENT: 'pg'
DB_HOST: 'database'
DB_PORT: '5432'
DB_DATABASE: ${DB_DATABASE}
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}

CACHE_ENABLED: ${CACHE_ENABLED}
CACHE_AUTO_PURGE: ${CACHE_AUTO_PURGE}
CACHE_STORE: 'redis'
REDIS: 'redis://cache:6379'

ADMIN_EMAIL: ${ADMIN_EMAIL}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}

WEBSOCKETS_ENABLED: ${WEBSOCKETS_ENABLED}

PUBLIC_URL: ${PUBLIC_URL}

CORS_ENABLED: ${CORS_ENABLED}
CORS_ORIGIN: ${CORS_ORIGIN}

REFRESH_TOKEN_COOKIE_SECURE: ${REFRESH_TOKEN_COOKIE_SECURE}
REFRESH_TOKEN_COOKIE_SAME_SITE: ${REFRESH_TOKEN_COOKIE_SAME_SITE}
REFRESH_TOKEN_DOMAIN: ${REFRESH_TOKEN_COOKIE_DOMAIN}

SESSION_COOKIE_SECURE: ${SESSION_COOKIE_SECURE}
SESSION_COOKIE_SAME_SITE: ${SESSION_COOKIE_SAME_SITE}
SESSION_COOKIE_DOMAIN: ${SESSION_COOKIE_DOMAIN}

EXTENSIONS_PATH: ${EXTENSIONS_PATH}
EXTENSIONS_AUTO_RELOAD: ${EXTENSIONS_AUTO_RELOAD}
EXTENSIONS_ROLLDOWN: ${EXTENSIONS_ROLLDOWN}

CONTENT_SECURITY_POLICY_DIRECTIVES__FRAME_SRC: ${CONTENT_SECURITY_POLICY_DIRECTIVES__FRAME_SRC}

EMAIL_TRANSPORT: ${EMAIL_TRANSPORT}
EMAIL_FROM: ${EMAIL_FROM}
EMAIL_SMTP_HOST: ${EMAIL_SMTP_HOST}
EMAIL_SMTP_PORT: ${EMAIL_SMTP_PORT}
EMAIL_SMTP_USER: ${EMAIL_SMTP_USER}
EMAIL_SMTP_PASSWORD: ${EMAIL_SMTP_PASSWORD}
Empty file.
10 changes: 10 additions & 0 deletions help-center/directus/template/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Help Center Template

This is a template for [Directus](https://directus.io/) - an open-source headless CMS and API. Use the template-cli to load / apply this template to a blank instance.

## Why

## What

## License

11 changes: 11 additions & 0 deletions help-center/directus/template/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"author": "",
"description": "",
"directusTemplate": true,
"files": [
"src"
],
"name": "directus-template-help-center",
"templateName": "Help Center",
"version": "1.0.0"
}
44 changes: 44 additions & 0 deletions help-center/directus/template/src/access.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
[
{
"id": "57601849-bd69-4127-87ac-beb0be677e25",
"role": "ef049c8b-546b-4bbc-9cd7-b05d77e58b66",
"user": null,
"policy": "ef049c8b-546b-4bbc-9cd7-b05d77e58b66",
"sort": 1
},
{
"id": "8be9ec74-10ad-41ff-aa32-8a2016ca8b3a",
"role": "9ecc2969-8b38-4088-9dc1-78334a206445",
"user": null,
"policy": "9ecc2969-8b38-4088-9dc1-78334a206445",
"sort": 1
},
{
"id": "420ddc74-992f-430d-a789-94f6823a200c",
"role": null,
"user": null,
"policy": "abf8a154-5b1c-4a46-ac9c-7300570f4f17",
"sort": 1
},
{
"id": "11aa62ea-e788-4354-b5a6-314d31680cda",
"role": "8ba4ed6f-d330-4675-ae46-119c533a0928",
"user": null,
"policy": "8ba4ed6f-d330-4675-ae46-119c533a0928",
"sort": 1
},
{
"id": "16b60df2-9538-47dd-91a8-86155e848178",
"role": "9ecc2969-8b38-4088-9dc1-78334a206445",
"user": null,
"policy": "abf8a154-5b1c-4a46-ac9c-7300570f4f17",
"sort": 2
},
{
"id": "1ffea4c8-5718-4da2-95c0-922589c262f6",
"role": "8ba4ed6f-d330-4675-ae46-119c533a0928",
"user": null,
"policy": "bd5a4ddf-05fa-4349-85c1-12a5afcce010",
"sort": 2
}
]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading