add directus

This commit is contained in:
Andras Bacsai committed 2023-01-10 15:30:10 +01:00
1 parent 1c98796e64
commit c37367d018
7 files changed
+2260 -18

No files matched your search

+1013 -1
View File
File diff suppressed because it is too large. Load diff
+226 -7
View File
@@ -1,3 +1,227 @@
- templateVersion: 1.0.0
defaultVersion: "9.22"
documentation: https://docs.directus.io/getting-started/introduction.html
type: directus-postgresql
name: Directus
subname: (PostgreSQL)
description: >-
Directus is a free and open-source headless CMS framework for managing custom SQL-based databases.
labels:
- CMS
- headless
services:
$$id:
name: Directus
depends_on:
- $$id-postgresql
- $$id-redis
image: directus/directus:$$core_version
volumes:
- $$id-uploads:/directus/uploads
- $$id-database:/directus/database
- $$id-extensions:/directus/extensions
environment:
- KEY=$$secret_key
- SECRET=$$secret_secret
- DB_CLIENT=pg
- DB_CONNECTION_STRING=$$secret_db_connection_string
- CACHE_ENABLED=true
- CACHE_STORE=redis
- CACHE_REDIS=$$secret_cache_redis
- ADMIN_EMAIL=$$config_admin_email
- ADMIN_PASSWORD=$$secret_admin_password
- CACHE_AUTO_PURGE=true
- PUBLIC_URL=$$config_public_url
ports:
- "8055"
$$id-postgresql:
name: Directus PostgreSQL
depends_on: []
image: postgres:14-alpine
volumes:
- $$id-postgresql-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=$$config_postgres_user
- POSTGRES_PASSWORD=$$secret_postgres_password
- POSTGRES_DB=$$config_postgres_db
ports: []
$$id-redis:
name: Directus Redis
depends_on: []
image: redis:7.0.4-alpine
command: "--maxmemory 512mb --maxmemory-policy allkeys-lru --maxmemory-samples 5"
volumes:
- "$$id-redis:/data"
environment: []
variables:
- id: $$config_public_url
name: PUBLIC_URL
label: Public URL
defaultValue: $$generate_fqdn
description: ""
- id: $$secret_db_connection_string
name: DB_CONNECTION_STRING
label: Directus Database Url
defaultValue: postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db
description: ""
- id: $$config_postgres_db
main: $$id-postgresql
name: POSTGRES_DB
label: Database
defaultValue: directus
description: ""
- id: $$config_postgres_user
main: $$id-postgresql
name: POSTGRES_USER
label: User
defaultValue: $$generate_username
description: ""
- id: $$secret_postgres_password
main: $$id-postgresql
name: POSTGRES_PASSWORD
label: Password
defaultValue: $$generate_password
description: ""
showOnConfiguration: true
- id: $$secret_cache_redis
name: CACHE_REDIS
label: Redis Url
defaultValue: redis://$$id-redis:6379
description: ""
- id: $$config_admin_email
name: ADMIN_EMAIL
label: Initial Admin Email
defaultValue: "admin@example.com"
description: "The email address of the first user that is automatically created. You can change it later in Directus."
- id: $$secret_admin_password
name: ADMIN_PASSWORD
label: Initial Admin Password
defaultValue: $$generate_password
description: "The password of the first user that is automatically created."
showOnConfiguration: true
- id: $$secret_key
name: KEY
label: Key
defaultValue: $$generate_password
description: "Unique identifier for the project."
showOnConfiguration: true
- id: $$secret_secret
name: SECRET
label: Secret
defaultValue: $$generate_password
description: "Secret string for the project."
showOnConfiguration: true
- templateVersion: 1.0.0
defaultVersion: v1.3.8
documentation: https://github.com/LibreTranslate/LibreTranslate
description: Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.
type: libretranslate
name: Libretranslate
labels:
- translator
- argos
- python
- libretranslate
services:
$$id:
name: Libretranslate
image: libretranslate/libretranslate:$$core_version
environment:
- LT_HOST=0.0.0.0
- LT_SUGGESTIONS=true
- LT_CHAR_LIMIT=$$config_lt_char_limit
- LT_REQ_LIMIT=$$config_lt_req_limit
- LT_BATCH_LIMIT=$$config_lt_batch_limit
- LT_GA_ID=$$config_lt_ga_id
- LT_DISABLE_WEB_UI=$$config_lt_web_ui
volumes:
- $$id-libretranslate:/libretranslate
ports:
- "5000"
variables:
- id: $$config_lt_char_limit
name: LT_CHAR_LIMIT
label: Char limit
defaultValue: "5000"
description: "Set character limit."
- id: $$config_lt_req_limit
name: LT_REQ_LIMIT
label: Request limit
defaultValue: "5000"
description: "Set maximum number of requests per minute per client."
- id: $$config_lt_batch_limit
name: LT_BATCH_LIMIT
label: Batch Limit
defaultValue: "5000"
description: "Set maximum number of texts to translate in a batch request."
- id: $$config_lt_ga_id
name: LT_GA_ID
label: Google Analytics ID
defaultValue: ""
description: "Enable Google Analytics on the API client page by providing an ID"
- id: $$config_lt_web_ui
name: LT_DISABLE_WEB_UI
label: Web UI
defaultValue: "false"
description: "Disable or enable web ui. True or false."
- templateVersion: 1.0.0
defaultVersion: 0.8.1
documentation: https://github.com/benbusby/whoogle-search
type: whoogle
name: Whoogle Search
description: A self-hosted, ad-free, privacy-respecting metasearch engine
labels:
- search
- google
services:
$$id:
name: Whoogle Search
documentation: https://github.com/benbusby/whoogle-search
depends_on: []
image: benbusby/whoogle-search:$$core_version
cap_drop:
- ALL
environment:
- WHOOGLE_USER=$$config_whoogle_username
- WHOOGLE_PASS=$$secret_whoogle_password
- WHOOGLE_CONFIG_PREFERENCES_KEY=$$secret_whoogle_preferences_key
ulimits:
nofile:
soft: 262144
hard: 262144
ports:
- "5000"
variables:
- id: $$config_whoogle_username
name: WHOOGLE_USER
label: Whoogle User
defaultValue: $$generate_username
description: "Username to log into Whoogle"
- id: $$secret_whoogle_password
name: WHOOGLE_PASSWORD
label: Whoogle Password
defaultValue: $$generate_password
description: "Password to log into Whoogle"
showOnConfiguration: true
- id: $$secret_whoogle_preferences_key
name: WHOOGLE_CONFIG_PREFERENCES_KEY
label: Whoogle preferences key
defaultValue: $$generate_password
description: "password to encrypt preferences"
- templateVersion: 1.0.0
defaultVersion: 1.1.3
documentation: https://docs.openblocks.dev/
type: openblocks
name: Openblocks
description: The Open Source Retool Alternative
services:
$$id:
image: openblocksdev/openblocks-ce:$$core_version
volumes:
- $$id-stacks-data:/openblocks-stacks
ports:
- "3000"
- templateVersion: 1.0.0
defaultVersion: "0.10.2"
documentation: https://pocketbase.io/docs/
@@ -332,12 +556,12 @@
volumes:
- $$id-lavalink:/lavalink
ports:
- "2333"
- $$config_port
files:
- location: /opt/Lavalink/application.yml
content: >-
server:
port: $$config_port
port: 2333
address: 0.0.0.0
lavalink:
server:
@@ -364,11 +588,6 @@
max-file-size: 1GB
max-history: 30
variables:
- id: $$config_port
name: PORT
label: Port
defaultValue: "2333"
required: true
- id: $$secret_password
name: PASSWORD
label: Password
+2 -8
View File
@@ -156,7 +156,7 @@ const host = '0.0.0.0';
graceful.listen();
setInterval(async () => {
if (!scheduler.workers.has('deployApplication')) {
if (!scheduler.workers.has('deployApplication')) {
scheduler.run('deployApplication');
}
}, 2000);
@@ -225,16 +225,10 @@ async function getTagsTemplates() {
const { default: got } = await import('got');
try {
if (isDev) {
const remoteTags = await got.get('https://get.coollabs.io/coolify/service-tags.json').text();
const templates = await fs.readFile('./devTemplates.yaml', 'utf8');
const tags = await fs.readFile('./devTags.json', 'utf8');
if (tags !== remoteTags) {
await fs.writeFile('./tags.json', remoteTags);
await fs.writeFile('./devTags.json', remoteTags);
} else {
await fs.writeFile('./tags.json', tags);
}
await fs.writeFile('./templates.json', JSON.stringify(yaml.load(templates)));
await fs.writeFile('./tags.json', tags);
console.log('[004] Tags and templates loaded in dev mode...');
} else {
const tags = await got.get('https://get.coollabs.io/coolify/service-tags.json').text();
+1013 -1
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1 +1 @@
[{"templateVersion":"1.0.0","defaultVersion":"0.10.2","documentation":"https://pocketbase.io/docs/","type":"pocketbase","name":"Pocketbase","description":"Open Source realtime backend in 1 file","services":{"$$id":{"image":"coollabsio/pocketbase:$$core_version","volumes":["$$id-data:/app/pb_data"],"ports":["8080"]}}},{"templateVersion":"1.0.0","defaultVersion":"v1.5.1","documentation":"https://plausible.io/doc/","type":"plausibleanalytics-arm","name":"Plausible Analytics (ARM)","description":"A lightweight and open-source website analytics tool.","labels":["analytics","statistics","plausible","gdpr","no-cookie","google analytics"],"services":{"$$id":{"name":"Plausible Analytics","command":"sh -c \"sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh db init-admin && /entrypoint.sh run\"","depends_on":["$$id-postgresql","$$id-clickhouse"],"image":"plausible/analytics:$$core_version","environment":["ADMIN_USER_EMAIL=$$config_admin_user_email","ADMIN_USER_NAME=$$config_admin_user_name","ADMIN_USER_PWD=$$secret_admin_user_pwd","BASE_URL=$$config_base_url","SECRET_KEY_BASE=$$secret_secret_key_base","DISABLE_AUTH=$$config_disable_auth","DISABLE_REGISTRATION=$$config_disable_registration","DATABASE_URL=$$secret_database_url","CLICKHOUSE_DATABASE_URL=$$secret_clickhouse_database_url"],"ports":["8000"]},"$$id-postgresql":{"name":"PostgreSQL","image":"postgres:14-alpine","volumes":["$$id-postgresql-data:/var/lib/postgresql/data"],"environment":["POSTGRES_PASSWORD=$$secret_postgres_password","POSTGRES_USER=$$config_postgres_user","POSTGRES_DB=$$config_postgres_db"]},"$$id-clickhouse":{"name":"Clickhouse","volumes":["$$id-clickhouse-data:/var/lib/clickhouse"],"image":"clickhouse/clickhouse-server:22.6-alpine","ulimits":{"nofile":{"soft":262144,"hard":262144}},"files":[{"location":"/etc/clickhouse-server/users.d/logging.xml","content":"<yandex><logger><level>warning</level><console>true</console></logger><query_thread_log remove=\"remove\"/><query_log remove=\"remove\"/><text_log remove=\"remove\"/><trace_log remove=\"remove\"/><metric_log remove=\"remove\"/><asynchronous_metric_log remove=\"remove\"/><session_log remove=\"remove\"/><part_log remove=\"remove\"/></yandex>"},{"location":"/etc/clickhouse-server/config.d/logging.xml","content":"<yandex><profiles><default><log_queries>0</log_queries><log_query_threads>0</log_query_threads></default></profiles></yandex>"},{"location":"/docker-entrypoint-initdb.d/init.query","content":"CREATE DATABASE IF NOT EXISTS plausible;"},{"location":"/docker-entrypoint-initdb.d/init-db.sh","content":"clickhouse client --queries-file /docker-entrypoint-initdb.d/init.query"}]}},"variables":[{"id":"$$config_base_url","name":"BASE_URL","label":"Base URL","defaultValue":"$$generate_fqdn","description":"You must set this to the FQDN of the Plausible Analytics instance. This is used to generate the links to the Plausible Analytics instance."},{"id":"$$secret_database_url","name":"DATABASE_URL","label":"Database URL for PostgreSQL","defaultValue":"postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db","description":""},{"id":"$$secret_clickhouse_database_url","name":"CLICKHOUSE_DATABASE_URL","label":"Database URL for Clickhouse","defaultValue":"http://$$id-clickhouse:8123/plausible","description":""},{"id":"$$config_admin_user_email","name":"ADMIN_USER_EMAIL","label":"Admin Email Address","defaultValue":"admin@example.com","description":"This is the admin email. Please change it."},{"id":"$$config_admin_user_name","name":"ADMIN_USER_NAME","label":"Admin User Name","defaultValue":"$$generate_username","description":"This is the admin username. Please change it."},{"id":"$$secret_admin_user_pwd","name":"ADMIN_USER_PWD","label":"Admin User Password","defaultValue":"$$generate_password","description":"This is the admin password. Please change it.","showOnConfiguration":true},{"id":"$$secret_secret_key_base","name":"SECRET_KEY_BASE","label":"Secret Key Base","defaultValue":"$$generate_hex(64)","description":""},{"id":"$$config_disable_auth","name":"DISABLE_AUTH","label":"Authentication","defaultValue":"false","description":""},{"id":"$$config_disable_registration","name":"DISABLE_REGISTRATION","label":"Registration","defaultValue":"true","description":""},{"id":"$$config_postgres_user","main":"$$id-postgresql","name":"POSTGRES_USER","label":"PostgreSQL Username","defaultValue":"postgresql","description":""},{"id":"$$secret_postgres_password","main":"$$id-postgresql","name":"POSTGRES_PASSWORD","label":"PostgreSQL Password","defaultValue":"$$generate_password","description":"","showOnConfiguration":true},{"id":"$$config_postgres_db","main":"$$id-postgresql","name":"POSTGRES_DB","label":"PostgreSQL Database","defaultValue":"plausible","description":""},{"id":"$$config_scriptName","name":"SCRIPT_NAME","label":"Custom Script Name","defaultValue":"plausible.js","description":"This is the default script name."}]},{"templatLine truncated
[{"templateVersion":"1.0.0","defaultVersion":"9.22","documentation":"https://docs.directus.io/getting-started/introduction.html","type":"directus-postgresql","name":"Directus","subname":"(PostgreSQL)","description":"Directus is a free and open-source headless CMS framework for managing custom SQL-based databases.","labels":["CMS","headless"],"services":{"$$id":{"name":"Directus","depends_on":["$$id-postgresql","$$id-redis"],"image":"directus/directus:$$core_version","volumes":["$$id-uploads:/directus/uploads","$$id-database:/directus/database","$$id-extensions:/directus/extensions"],"environment":["KEY=$$secret_key","SECRET=$$secret_secret","DB_CLIENT=pg","DB_CONNECTION_STRING=$$secret_db_connection_string","CACHE_ENABLED=true","CACHE_STORE=redis","CACHE_REDIS=$$secret_cache_redis","ADMIN_EMAIL=$$config_admin_email","ADMIN_PASSWORD=$$secret_admin_password","CACHE_AUTO_PURGE=true","PUBLIC_URL=$$config_public_url"],"ports":["8055"]},"$$id-postgresql":{"name":"Directus PostgreSQL","depends_on":[],"image":"postgres:14-alpine","volumes":["$$id-postgresql-data:/var/lib/postgresql/data"],"environment":["POSTGRES_USER=$$config_postgres_user","POSTGRES_PASSWORD=$$secret_postgres_password","POSTGRES_DB=$$config_postgres_db"],"ports":[]},"$$id-redis":{"name":"Directus Redis","depends_on":[],"image":"redis:7.0.4-alpine","command":"--maxmemory 512mb --maxmemory-policy allkeys-lru --maxmemory-samples 5","volumes":["$$id-redis:/data"],"environment":[]}},"variables":[{"id":"$$config_public_url","name":"PUBLIC_URL","label":"Public URL","defaultValue":"$$generate_fqdn","description":""},{"id":"$$secret_db_connection_string","name":"DB_CONNECTION_STRING","label":"Directus Database Url","defaultValue":"postgresql://$$config_postgres_user:$$secret_postgres_password@$$id-postgresql:5432/$$config_postgres_db","description":""},{"id":"$$config_postgres_db","main":"$$id-postgresql","name":"POSTGRES_DB","label":"Database","defaultValue":"directus","description":""},{"id":"$$config_postgres_user","main":"$$id-postgresql","name":"POSTGRES_USER","label":"User","defaultValue":"$$generate_username","description":""},{"id":"$$secret_postgres_password","main":"$$id-postgresql","name":"POSTGRES_PASSWORD","label":"Password","defaultValue":"$$generate_password","description":"","showOnConfiguration":true},{"id":"$$secret_cache_redis","name":"CACHE_REDIS","label":"Redis Url","defaultValue":"redis://$$id-redis:6379","description":""},{"id":"$$config_admin_email","name":"ADMIN_EMAIL","label":"Initial Admin Email","defaultValue":"admin@example.com","description":"The email address of the first user that is automatically created. You can change it later in Directus."},{"id":"$$secret_admin_password","name":"ADMIN_PASSWORD","label":"Initial Admin Password","defaultValue":"$$generate_password","description":"The password of the first user that is automatically created.","showOnConfiguration":true},{"id":"$$secret_key","name":"KEY","label":"Key","defaultValue":"$$generate_password","description":"Unique identifier for the project.","showOnConfiguration":true},{"id":"$$secret_secret","name":"SECRET","label":"Secret","defaultValue":"$$generate_password","description":"Secret string for the project.","showOnConfiguration":true}]},{"templateVersion":"1.0.0","defaultVersion":"v1.3.8","documentation":"https://github.com/LibreTranslate/LibreTranslate","description":"Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.","type":"libretranslate","name":"Libretranslate","labels":["translator","argos","python","libretranslate"],"services":{"$$id":{"name":"Libretranslate","image":"libretranslate/libretranslate:$$core_version","environment":["LT_HOST=0.0.0.0","LT_SUGGESTIONS=true","LT_CHAR_LIMIT=$$config_lt_char_limit","LT_REQ_LIMIT=$$config_lt_req_limit","LT_BATCH_LIMIT=$$config_lt_batch_limit","LT_GA_ID=$$config_lt_ga_id","LT_DISABLE_WEB_UI=$$config_lt_web_ui"],"volumes":["$$id-libretranslate:/libretranslate"],"ports":["5000"]}},"variables":[{"id":"$$config_lt_char_limit","name":"LT_CHAR_LIMIT","label":"Char limit","defaultValue":"5000","description":"Set character limit."},{"id":"$$config_lt_req_limit","name":"LT_REQ_LIMIT","label":"Request limit","defaultValue":"5000","description":"Set maximum number of requests per minute per client."},{"id":"$$config_lt_batch_limit","name":"LT_BATCH_LIMIT","label":"Batch Limit","defaultValue":"5000","description":"Set maximum number of texts to translate in a batch request."},{"id":"$$config_lt_ga_id","name":"LT_GA_ID","label":"Google Analytics ID","defaultValue":"","description":"Enable Google Analytics on the API client page by providing an ID"},{"id":"$$config_lt_web_ui","name":"LT_DISABLE_WEB_UI","label":"Web UI","defaultValue":"false","description":"Disable or enable web ui. True or false."}]},{"templateVersion":"1.0.0","defaultVersion":"0.8.1","documentation":"https://github.com/benbusby/whoogle-search","type":"whoogle","name":"Whoogle Search","description":"A self-hostedLine truncated