diff --git a/blueprints/flarum/docker-compose.yml b/blueprints/flarum/docker-compose.yml new file mode 100644 index 00000000..62595ec9 --- /dev/null +++ b/blueprints/flarum/docker-compose.yml @@ -0,0 +1,32 @@ +version: "3.8" +services: + flarum: + image: crazymax/flarum:latest + restart: unless-stopped + ports: + - 8000 + environment: + - FLARUM_BASE_URL=https://${FLARUM_DOMAIN} + - DB_HOST=db + - DB_NAME=${DB_NAME} + - DB_USER=${DB_USER} + - DB_PASSWORD=${DB_PASSWORD} + volumes: + - flarum-data:/data + depends_on: + - db + + db: + image: mariadb:11 + restart: unless-stopped + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_DATABASE=${DB_NAME} + - MYSQL_USER=${DB_USER} + - MYSQL_PASSWORD=${DB_PASSWORD} + volumes: + - db-data:/var/lib/mysql + +volumes: + flarum-data: {} + db-data: {} diff --git a/blueprints/flarum/flarum.png b/blueprints/flarum/flarum.png new file mode 100644 index 00000000..2c273b2a Binary files /dev/null and b/blueprints/flarum/flarum.png differ diff --git a/blueprints/flarum/meta.json b/blueprints/flarum/meta.json new file mode 100644 index 00000000..f86b5838 --- /dev/null +++ b/blueprints/flarum/meta.json @@ -0,0 +1,18 @@ +{ + "id": "flarum", + "name": "Flarum", + "version": "latest", + "description": "Flarum is a delightfully simple, modern forum software. It is fast, free, and easy to use with a clean and extensible architecture.", + "logo": "flarum.png", + "links": { + "github": "https://github.com/flarum/flarum", + "website": "https://flarum.org/", + "docs": "https://docs.flarum.org/" + }, + "tags": [ + "forum", + "community", + "discussion", + "php" + ] +} diff --git a/blueprints/flarum/template.toml b/blueprints/flarum/template.toml new file mode 100644 index 00000000..541dbd07 --- /dev/null +++ b/blueprints/flarum/template.toml @@ -0,0 +1,19 @@ +[variables] +main_domain = "${domain}" +db_password = "${password:16}" +db_root_password = "${password:16}" +db_user = "flarum" +db_name = "flarum" + +[config] +[[config.domains]] +serviceName = "flarum" +port = 8000 +host = "${main_domain}" + +[config.env] +FLARUM_DOMAIN = "${main_domain}" +DB_NAME = "${db_name}" +DB_USER = "${db_user}" +DB_PASSWORD = "${db_password}" +MYSQL_ROOT_PASSWORD = "${db_root_password}" diff --git a/blueprints/gel/docker-compose.yml b/blueprints/gel/docker-compose.yml new file mode 100644 index 00000000..24890911 --- /dev/null +++ b/blueprints/gel/docker-compose.yml @@ -0,0 +1,18 @@ +version: "3.8" +services: + gel: + image: geldata/gel:6 + restart: unless-stopped + ports: + - 5656 + environment: + - GEL_SERVER_SECURITY=${GEL_SERVER_SECURITY} + - GEL_SERVER_PASSWORD=${GEL_SERVER_PASSWORD} + - GEL_SERVER_TLS_CERT_MODE=generate_self_signed + - GEL_SERVER_HTTP_ENDPOINT_SECURITY=optional + - GEL_SERVER_ADMIN_UI=enabled + volumes: + - gel-data:/var/lib/gel/data + +volumes: + gel-data: {} diff --git a/blueprints/gel/gel.png b/blueprints/gel/gel.png new file mode 100644 index 00000000..8a014426 Binary files /dev/null and b/blueprints/gel/gel.png differ diff --git a/blueprints/gel/meta.json b/blueprints/gel/meta.json new file mode 100644 index 00000000..175707f6 --- /dev/null +++ b/blueprints/gel/meta.json @@ -0,0 +1,18 @@ +{ + "id": "gel", + "name": "Gel", + "version": "6", + "description": "Gel is a next-generation graph-relational database (formerly EdgeDB) with a built-in migration system, expressive query language, and first-class TypeScript/Python support.", + "logo": "gel.png", + "links": { + "github": "https://github.com/geldata/gel", + "website": "https://www.geldata.com/", + "docs": "https://docs.geldata.com/" + }, + "tags": [ + "database", + "graph-database", + "edgedb", + "typescript" + ] +} diff --git a/blueprints/gel/template.toml b/blueprints/gel/template.toml new file mode 100644 index 00000000..fc06305a --- /dev/null +++ b/blueprints/gel/template.toml @@ -0,0 +1,15 @@ +[variables] +main_domain = "${domain}" +gel_password = "${password:24}" +gel_security = "strict" + +[config] +[[config.domains]] +serviceName = "gel" +port = 5656 +host = "${main_domain}" +path = "/ui" + +[config.env] +GEL_SERVER_PASSWORD = "${gel_password}" +GEL_SERVER_SECURITY = "${gel_security}" diff --git a/blueprints/keydb/docker-compose.yml b/blueprints/keydb/docker-compose.yml new file mode 100644 index 00000000..031b4592 --- /dev/null +++ b/blueprints/keydb/docker-compose.yml @@ -0,0 +1,11 @@ +version: "3.8" +services: + keydb: + image: eqalpha/keydb:latest + restart: unless-stopped + command: keydb-server /etc/keydb/keydb.conf --server-threads 2 --requirepass ${KEYDB_PASSWORD} + volumes: + - keydb-data:/data + +volumes: + keydb-data: {} diff --git a/blueprints/keydb/keydb.png b/blueprints/keydb/keydb.png new file mode 100644 index 00000000..ab538704 Binary files /dev/null and b/blueprints/keydb/keydb.png differ diff --git a/blueprints/keydb/meta.json b/blueprints/keydb/meta.json new file mode 100644 index 00000000..558a7397 --- /dev/null +++ b/blueprints/keydb/meta.json @@ -0,0 +1,18 @@ +{ + "id": "keydb", + "name": "KeyDB", + "version": "latest", + "description": "KeyDB is a high-performance fork of Redis with multithreading, active replication, and flash storage support.", + "logo": "keydb.png", + "links": { + "github": "https://github.com/Snapchat/KeyDB", + "website": "https://docs.keydb.dev/", + "docs": "https://docs.keydb.dev/docs/" + }, + "tags": [ + "database", + "cache", + "redis", + "key-value" + ] +} diff --git a/blueprints/keydb/template.toml b/blueprints/keydb/template.toml new file mode 100644 index 00000000..014ef47d --- /dev/null +++ b/blueprints/keydb/template.toml @@ -0,0 +1,6 @@ +[variables] +keydb_password = "${password:16}" + +[config] +[config.env] +KEYDB_PASSWORD = "${keydb_password}" diff --git a/blueprints/leantime/docker-compose.yml b/blueprints/leantime/docker-compose.yml new file mode 100644 index 00000000..813748b5 --- /dev/null +++ b/blueprints/leantime/docker-compose.yml @@ -0,0 +1,36 @@ +version: "3.8" +services: + leantime: + image: leantime/leantime:latest + restart: unless-stopped + ports: + - 8080 + environment: + - LEAN_APP_URL=${LEAN_APP_URL} + - LEAN_SESSION_PASSWORD=${LEAN_SESSION_PASSWORD} + - LEAN_DB_HOST=db + - LEAN_DB_USER=${LEAN_DB_USER} + - LEAN_DB_PASSWORD=${LEAN_DB_PASSWORD} + - LEAN_DB_DATABASE=${LEAN_DB_DATABASE} + volumes: + - leantime-files:/var/www/html/userfiles + - leantime-public:/var/www/html/public/userfiles + depends_on: + - db + + db: + image: mariadb:11 + restart: unless-stopped + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_DATABASE=${LEAN_DB_DATABASE} + - MYSQL_USER=${LEAN_DB_USER} + - MYSQL_PASSWORD=${LEAN_DB_PASSWORD} + command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci + volumes: + - db-data:/var/lib/mysql + +volumes: + leantime-files: {} + leantime-public: {} + db-data: {} diff --git a/blueprints/leantime/leantime.png b/blueprints/leantime/leantime.png new file mode 100644 index 00000000..d1bcb447 Binary files /dev/null and b/blueprints/leantime/leantime.png differ diff --git a/blueprints/leantime/meta.json b/blueprints/leantime/meta.json new file mode 100644 index 00000000..8ccc9977 --- /dev/null +++ b/blueprints/leantime/meta.json @@ -0,0 +1,18 @@ +{ + "id": "leantime", + "name": "Leantime", + "version": "latest", + "description": "Leantime is an open-source project management system for small teams and startups, built with PHP and MySQL.", + "logo": "leantime.png", + "links": { + "github": "https://github.com/Leantime/leantime", + "website": "https://leantime.io/", + "docs": "https://docs.leantime.io/" + }, + "tags": [ + "project-management", + "productivity", + "self-hosted", + "php" + ] +} diff --git a/blueprints/leantime/template.toml b/blueprints/leantime/template.toml new file mode 100644 index 00000000..3b5c26af --- /dev/null +++ b/blueprints/leantime/template.toml @@ -0,0 +1,21 @@ +[variables] +main_domain = "${domain}" +db_password = "${password:16}" +db_root_password = "${password:16}" +db_user = "leantime" +db_name = "leantime" +session_password = "${password:32}" + +[config] +[[config.domains]] +serviceName = "leantime" +port = 8080 +host = "${main_domain}" + +[config.env] +LEAN_APP_URL = "http://${main_domain}" +LEAN_SESSION_PASSWORD = "${session_password}" +LEAN_DB_USER = "${db_user}" +LEAN_DB_PASSWORD = "${db_password}" +LEAN_DB_DATABASE = "${db_name}" +MYSQL_ROOT_PASSWORD = "${db_root_password}" diff --git a/blueprints/victoriametrics/docker-compose.yml b/blueprints/victoriametrics/docker-compose.yml new file mode 100644 index 00000000..22c90e90 --- /dev/null +++ b/blueprints/victoriametrics/docker-compose.yml @@ -0,0 +1,16 @@ +version: "3.8" +services: + victoriametrics: + image: victoriametrics/victoria-metrics:v1.108.1 + restart: unless-stopped + ports: + - 8428 + command: + - "--storageDataPath=/storage" + - "--retentionPeriod=${RETENTION_PERIOD}" + - "--httpListenAddr=:8428" + volumes: + - vm-data:/storage + +volumes: + vm-data: {} diff --git a/blueprints/victoriametrics/meta.json b/blueprints/victoriametrics/meta.json new file mode 100644 index 00000000..9852203b --- /dev/null +++ b/blueprints/victoriametrics/meta.json @@ -0,0 +1,18 @@ +{ + "id": "victoriametrics", + "name": "VictoriaMetrics", + "version": "v1.108.1", + "description": "VictoriaMetrics is a fast, cost-effective, and scalable monitoring solution and time series database. It is a drop-in replacement for Prometheus.", + "logo": "victoriametrics.png", + "links": { + "github": "https://github.com/VictoriaMetrics/VictoriaMetrics", + "website": "https://victoriametrics.com/", + "docs": "https://docs.victoriametrics.com/" + }, + "tags": [ + "monitoring", + "metrics", + "time-series", + "prometheus" + ] +} diff --git a/blueprints/victoriametrics/template.toml b/blueprints/victoriametrics/template.toml new file mode 100644 index 00000000..3cad0bd4 --- /dev/null +++ b/blueprints/victoriametrics/template.toml @@ -0,0 +1,12 @@ +[variables] +main_domain = "${domain}" +retention_period = "90d" + +[config] +[[config.domains]] +serviceName = "victoriametrics" +port = 8428 +host = "${main_domain}" + +[config.env] +RETENTION_PERIOD = "${retention_period}" diff --git a/blueprints/victoriametrics/victoriametrics.png b/blueprints/victoriametrics/victoriametrics.png new file mode 100644 index 00000000..bf9f8e33 Binary files /dev/null and b/blueprints/victoriametrics/victoriametrics.png differ