Skip to content

Commit d3ea65a

Browse files
committed
Added more CMS
1 parent 7ac2189 commit d3ea65a

19 files changed

+280
-3
lines changed

Makefile

-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
#!make
2-
include .env
3-
export $(shell sed 's/=.*//' .env)
42

53
help: ## Show this help
64
@printf "\033[33m%s:\033[0m\n" 'Run: make <target> where <target> is one of the following'

README.md

+11-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,11 @@
1-
Example of Headless CMS
1+
# Playground for popular headless CMS
2+
3+
## Included
4+
5+
- Baserow
6+
- Directus
7+
- NocoDB
8+
- Squidex
9+
- StrApi3
10+
- StrApi4
11+
- ToolJet

docker-compose.yaml

+47
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,57 @@ services:
6464
- internal
6565
depends_on:
6666
- mongo
67+
directus:
68+
image: directus/directus:latest
69+
container_name: directus
70+
env_file:
71+
- ./env/directus.env
72+
networks:
73+
- internal
74+
depends_on:
75+
- postgres
76+
restart: unless-stopped
77+
nocodb:
78+
image: nocodb/nocodb:latest
79+
container_name: nocodb
80+
env_file:
81+
- ./env/nocodb.env
82+
networks:
83+
- internal
84+
depends_on:
85+
- postgres
86+
volumes:
87+
- nocodb:/usr/app/data
88+
restart: unless-stopped
89+
baserow:
90+
image: baserow/baserow:1.12.0
91+
container_name: baserow
92+
env_file:
93+
- ./env/baserow.env
94+
networks:
95+
- internal
96+
depends_on:
97+
- postgres
98+
volumes:
99+
- baserow:/baserow/data
100+
restart: unless-stopped
101+
tooljet:
102+
image: tooljet/tooljet-ce:latest
103+
container_name: tooljet
104+
env_file:
105+
- ./env/tooljet.env
106+
networks:
107+
- internal
108+
depends_on:
109+
- postgres
110+
command: npm run start:prod
111+
restart: unless-stopped
67112

68113
networks:
69114
internal:
70115

71116
volumes:
72117
postgres: ~
73118
mongo: ~
119+
nocodb: ~
120+
baserow: ~

env/baserow.env

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# The following 3 environment variables are mandatory and must be set by you to secure
2+
# random values. Use a command like 'tr -dc 'a-z0-9' < /dev/urandom | head -c50' to
3+
# generate a unique value for each one.
4+
SECRET_KEY=
5+
6+
# The browser URL you will access Baserow with. Used to connect to the api, generate emails, etc.
7+
BASEROW_PUBLIC_URL=https://baserow.phpdot.me
8+
9+
# Uncomment and set/change these if you want to use an external postgres.
10+
DATABASE_HOST=postgres
11+
DATABASE_PORT=5432
12+
DATABASE_NAME=baserow
13+
DATABASE_USER=baserow
14+
DATABASE_PASSWORD=baserow
15+
# DATABASE_URL=
16+
17+
# Uncomment and set these if you want to use an external redis.
18+
# REDIS_HOST=redis
19+
# REDIS_PORT=6379
20+
# REDIS_USER=
21+
# REDIS_PASSWORD=
22+
# REDIS_PROTOCOL=
23+
# REDIS_URL=
24+
25+
# Uncomment and set these to enable Baserow to send emails.
26+
# EMAIL_SMTP=
27+
# EMAIL_SMTP_HOST=
28+
# EMAIL_SMTP_PORT=
29+
# EMAIL_SMTP_USE_TLS=
30+
# EMAIL_SMTP_USER=
31+
# EMAIL_SMTP_PASSWORD=
32+
# FROM_EMAIL=
33+
34+
# Uncomment and set these to use AWS S3 bucket to store user files.
35+
# AWS_ACCESS_KEY_ID=
36+
# AWS_SECRET_ACCESS_KEY=
37+
# AWS_STORAGE_BUCKET_NAME=baserow
38+
# AWS_S3_REGION_NAME=eu-west-1
39+
# AWS_S3_ENDPOINT_URL=https://s3.alpaka.site
40+
# AWS_S3_CUSTOM_DOMAIN=
41+
42+
# Misc settings see https://baserow.io/docs/installation%2Fconfiguration for info
43+
# BASEROW_AMOUNT_OF_WORKERS=
44+
# BASEROW_ROW_PAGE_SIZE_LIMIT=
45+
# BASEROW_FILE_UPLOAD_SIZE_LIMIT_MB=
46+
# BASEROW_MAX_IMPORT_FILE_SIZE_MB=
47+
BASEROW_EXTRA_ALLOWED_HOSTS=baserow
48+
# BASEROW_ENABLE_SECURE_PROXY_SSL_HEADER=
49+
# BASEROW_BACKEND_DEBUG=
50+
# BASEROW_BACKEND_LOG_LEVEL=
51+
52+
# ADDITIONAL_APPS=
53+
# ADDITIONAL_MODULES=
54+
55+
MIGRATE_ON_STARTUP=true
56+
SYNC_TEMPLATES_ON_STARTUP=true
57+
DONT_UPDATE_FORMULAS_AFTER_MIGRATION=true
58+
BASEROW_TRIGGER_SYNC_TEMPLATES_AFTER_MIGRATION=true
59+
# BASEROW_SYNC_TEMPLATES_TIME_LIMIT=
60+
# INITIAL_TABLE_DATA_LIMIT=
61+
# BATCH_ROWS_SIZE_LIMIT=
62+
63+
# FEATURE_FLAGS=
64+
65+
# PRIVATE_BACKEND_URL=
66+
# PUBLIC_BACKEND_URL=
67+
# PUBLIC_WEB_FRONTEND_URL=
68+
# MEDIA_URL=
69+
# MEDIA_ROOT=
70+
71+
# BASEROW_AIRTABLE_IMPORT_SOFT_TIME_LIMIT=
72+
# HOURS_UNTIL_TRASH_PERMANENTLY_DELETED=
73+
# OLD_ACTION_CLEANUP_INTERVAL_MINUTES=
74+
# MINUTES_UNTIL_ACTION_CLEANED_UP=
75+
# BASEROW_GROUP_STORAGE_USAGE_ENABLED=
76+
# BASEROW_GROUP_STORAGE_USAGE_QUEUE=
77+
# BASEROW_COUNT_ROWS_ENABLED=
78+
# DISABLE_ANONYMOUS_PUBLIC_VIEW_WS_CONNECTIONS=
79+
# BASEROW_WAIT_INSTEAD_OF_409_CONFLICT_ERROR=
80+
# BASEROW_FULL_HEALTHCHECKS=
81+
# BASEROW_DISABLE_MODEL_CACHE=
82+
# BASEROW_JOB_SOFT_TIME_LIMIT=
83+
# BASEROW_JOB_CLEANUP_INTERVAL_MINUTES=
84+
# BASEROW_MAX_ROW_REPORT_ERROR_COUNT=
85+
# BASEROW_JOB_EXPIRATION_TIME_LIMIT=
86+
# BASEROW_PLUGIN_DIR=
87+
# BASEROW_MAX_SNAPSHOTS_PER_GROUP=
88+
89+
# BASEROW_DISABLE_PUBLIC_URL_CHECK=
90+
# DOWNLOAD_FILE_VIA_XHR=
91+
# BASEROW_DISABLE_GOOGLE_DOCS_FILE_PREVIEW=
92+
93+
# BASEROW_PLUGIN_GIT_REPOS=
94+
# BASEROW_PLUGIN_URLS=

env/directus.env

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
KEY=
2+
SECRET=
3+
PUBLIC_URL=https://admin.phpdot.me
4+
DB_CLIENT=postgres
5+
DB_HOST=postgres
6+
DB_PORT=5432
7+
DB_USER=directus
8+
DB_PASSWORD=directus
9+
DB_DATABASE=directus
10+
CACHE_ENABLED=false
11+
ADMIN_EMAIL=[email protected]
12+
ADMIN_PASSWORD=admin
13+
#STORAGE_LOCATIONS=s3
14+
#STORAGE_S3_DRIVER=s3
15+
#STORAGE_S3_ROOT=/
16+
#STORAGE_S3_KEY=directus
17+
#STORAGE_S3_SECRET=secret
18+
#STORAGE_S3_BUCKET=directus
19+
#STORAGE_S3_REGION=eu-west-1
20+
#STORAGE_S3_ENDPOINT=https://s3.phpdot.me
21+
#STORAGE_S3_S3_FORCE_PATH_STYLE=true
22+
TELEMETRY=false

env/nocodb.env

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
NC_DB=pg://postgres:5432?u=nocodb&p=nocodb&d=nocodb
2+
NC_PUBLIC_URL=https://noco.phpdot.me
3+
NC_BACKEND_URL=https://noco.phpdot.me
4+
NC_DISABLE_TELE=true
5+
NC_MIN=true

env/tooljet.env

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
SERVE_CLIENT=true
2+
3+
TOOLJET_HOST=https://tooljet.phpdot.me
4+
5+
LOCKBOX_MASTER_KEY=
6+
SECRET_KEY_BASE=
7+
8+
ORM_LOGGING=all
9+
PG_HOST=postgres
10+
PG_USER=tooljet
11+
PG_PASS=tooljet
12+
PG_DB=tooljet
13+
14+
CHECK_FOR_UPDATES=0
15+
16+
DISABLE_SIGNUPS=false
17+
18+
ENABLE_MULTIPLAYER_EDITING=true
19+
20+
DEPLOYMENT_PLATFORM=docker
21+
DISABLE_APP_TELEMETRY=false

etc/nginx/snippet.d/ws.conf

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
proxy_set_header Upgrade $http_upgrade;
2+
proxy_set_header Connection "upgrade";
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
server {
2+
server_name baserow.${DOMAIN};
3+
4+
include /etc/nginx/snippet.d/listen.conf;
5+
include /etc/nginx/snippet.d/secure.conf;
6+
include /etc/nginx/snippet.d/proxy.conf;
7+
8+
error_log /var/log/nginx/baserow.errors.log;
9+
access_log /var/log/nginx/baserow.access.log;
10+
11+
location / {
12+
include /etc/nginx/snippet.d/ws.conf;
13+
14+
proxy_pass http://baserow:5000;
15+
}
16+
}
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
server {
2+
server_name directus.${DOMAIN};
3+
4+
include /etc/nginx/snippet.d/listen.conf;
5+
include /etc/nginx/snippet.d/secure.conf;
6+
include /etc/nginx/snippet.d/proxy.conf;
7+
8+
error_log /var/log/nginx/directus.errors.log;
9+
access_log /var/log/nginx/directus.access.log;
10+
11+
location / {
12+
include /etc/nginx/snippet.d/ws.conf;
13+
14+
proxy_pass http://directus:5000;
15+
}
16+
}
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
server {
2+
server_name nocodb.${DOMAIN};
3+
4+
include /etc/nginx/snippet.d/listen.conf;
5+
include /etc/nginx/snippet.d/secure.conf;
6+
include /etc/nginx/snippet.d/proxy.conf;
7+
8+
error_log /var/log/nginx/nocodb.errors.log;
9+
access_log /var/log/nginx/nocodb.access.log;
10+
11+
location / {
12+
include /etc/nginx/snippet.d/ws.conf;
13+
14+
proxy_pass http://nocodb:5000;
15+
}
16+
}

etc/nginx/templates.d/squidex.conf.tmpl

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ server {
99
access_log /var/log/nginx/squidex.access.log;
1010

1111
location / {
12+
include /etc/nginx/snippet.d/ws.conf;
13+
1214
proxy_pass http://squidex:5000;
1315
}
1416
}

etc/nginx/templates.d/strapi3.conf.tmpl

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ server {
99
access_log /var/log/nginx/strapi3.access.log;
1010

1111
location / {
12+
include /etc/nginx/snippet.d/ws.conf;
13+
1214
proxy_pass http://strapi3:1337;
1315
}
1416
}

etc/nginx/templates.d/strapi4.conf.tmpl

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ server {
99
access_log /var/log/nginx/strapi4.access.log;
1010

1111
location / {
12+
include /etc/nginx/snippet.d/ws.conf;
13+
1214
proxy_pass http://strapi4:1337;
1315
}
1416
}
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
server {
2+
server_name tooljet.${DOMAIN};
3+
4+
include /etc/nginx/snippet.d/listen.conf;
5+
include /etc/nginx/snippet.d/secure.conf;
6+
include /etc/nginx/snippet.d/proxy.conf;
7+
8+
error_log /var/log/nginx/tooljet.errors.log;
9+
access_log /var/log/nginx/tooljet.access.log;
10+
11+
location / {
12+
include /etc/nginx/snippet.d/ws.conf;
13+
14+
proxy_pass http://tooljet:5000;
15+
}
16+
}

etc/pgsql/init.d/30.directus.sql

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CREATE USER directus WITH PASSWORD 'directus';
2+
CREATE DATABASE directus WITH OWNER 'directus';

etc/pgsql/init.d/40.nocodb.sql

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CREATE USER nocodb WITH PASSWORD 'nocodb';
2+
CREATE DATABASE nocodb WITH OWNER 'nocodb';

etc/pgsql/init.d/50.baserow.sql

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CREATE USER baserow WITH PASSWORD 'baserow';
2+
CREATE DATABASE baserow WITH OWNER 'baserow';

etc/pgsql/init.d/60.tooljet.sql

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CREATE USER tooljet WITH PASSWORD 'tooljet';
2+
CREATE DATABASE tooljet WITH OWNER 'tooljet';

0 commit comments

Comments
 (0)