diff --git a/blueprints/adminer/docker-compose.yml b/blueprints/adminer/docker-compose.yml new file mode 100644 index 00000000..29d7c270 --- /dev/null +++ b/blueprints/adminer/docker-compose.yml @@ -0,0 +1,7 @@ +version: "3.8" +services: + adminer: + image: adminer:4.8.1 + restart: unless-stopped + ports: + - 8080 \ No newline at end of file diff --git a/blueprints/adminer/logo.svg b/blueprints/adminer/logo.svg new file mode 100644 index 00000000..ff165bb6 --- /dev/null +++ b/blueprints/adminer/logo.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + diff --git a/blueprints/adminer/template.toml b/blueprints/adminer/template.toml new file mode 100644 index 00000000..b0df0e13 --- /dev/null +++ b/blueprints/adminer/template.toml @@ -0,0 +1,8 @@ +[variables] +main_domain = "${domain}" + +[config] +[[config.domains]] +serviceName = "adminer" +port = 8080 +host = "${main_domain}" \ No newline at end of file diff --git a/blueprints/affinepro/docker-compose.yml b/blueprints/affinepro/docker-compose.yml new file mode 100644 index 00000000..93fa9da4 --- /dev/null +++ b/blueprints/affinepro/docker-compose.yml @@ -0,0 +1,65 @@ +version: "3.8" +services: + affinepro: + image: ghcr.io/toeverything/affine-graphql:stable-780dd83 + restart: unless-stopped + ports: + - 3010 + volumes: + - affine-storage:/root/.affine/storage + - affine-config:/root/.affine/config + environment: + - REDIS_SERVER_HOST=redis + - REDIS_SERVER_PASSWORD=${REDIS_PASSWORD} + - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/affinepro + - AFFINE_SERVER_HOST=${DOMAIN} + - MAILER_HOST=${MAILER_HOST} + - MAILER_PORT=${MAILER_PORT} + - MAILER_USER=${MAILER_USER} + - MAILER_PASSWORD=${MAILER_PASSWORD} + - MAILER_SENDER=${MAILER_SENDER} + depends_on: + - db + - redis + + migration: + image: ghcr.io/toeverything/affine-graphql:stable-780dd83 + command: node ./scripts/self-host-predeploy.js + environment: + - REDIS_SERVER_HOST=redis + - REDIS_SERVER_PASSWORD=${REDIS_PASSWORD} + - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/affinepro + - AFFINE_SERVER_HOST=${DOMAIN} + - MAILER_HOST=${MAILER_HOST} + - MAILER_PORT=${MAILER_PORT} + - MAILER_USER=${MAILER_USER} + - MAILER_PASSWORD=${MAILER_PASSWORD} + - MAILER_SENDER=${MAILER_SENDER} + volumes: + - affine-storage:/root/.affine/storage + - affine-config:/root/.affine/config + depends_on: + - db + - redis + + db: + image: postgres:15-alpine + restart: unless-stopped + environment: + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_DB=affinepro + volumes: + - postgres-data:/var/lib/postgresql/data + + redis: + image: redis:7-alpine + restart: unless-stopped + command: redis-server --requirepass ${REDIS_PASSWORD} + volumes: + - redis-data:/data + +volumes: + affine-storage: {} + affine-config: {} + postgres-data: {} + redis-data: {} \ No newline at end of file diff --git a/blueprints/affinepro/logo.png b/blueprints/affinepro/logo.png new file mode 100644 index 00000000..c974fe28 Binary files /dev/null and b/blueprints/affinepro/logo.png differ diff --git a/blueprints/affinepro/template.toml b/blueprints/affinepro/template.toml new file mode 100644 index 00000000..9b5595ec --- /dev/null +++ b/blueprints/affinepro/template.toml @@ -0,0 +1,25 @@ +[variables] +main_domain = "${domain}" +postgres_password = "${password:16}" +redis_password = "${password:16}" +mailer_host = "" +mailer_port = "587" +mailer_user = "" +mailer_password = "" +mailer_sender = "" + +[config] +[[config.domains]] +serviceName = "affinepro" +port = 3010 +host = "${main_domain}" + +[config.env] +DOMAIN = "${main_domain}" +POSTGRES_PASSWORD = "${postgres_password}" +REDIS_PASSWORD = "${redis_password}" +MAILER_HOST = "${mailer_host}" +MAILER_PORT = "${mailer_port}" +MAILER_USER = "${mailer_user}" +MAILER_PASSWORD = "${mailer_password}" +MAILER_SENDER = "${mailer_sender}" \ No newline at end of file diff --git a/blueprints/alltube/docker-compose.yml b/blueprints/alltube/docker-compose.yml new file mode 100644 index 00000000..c04e5238 --- /dev/null +++ b/blueprints/alltube/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3.8" +services: + alltube: + image: dnomd343/alltube:latest + restart: unless-stopped + ports: + - 80 + environment: + - TITLE=${TITLE} + - CONVERT=${CONVERT} + - STREAM=${STREAM} + - REMUX=${REMUX} \ No newline at end of file diff --git a/blueprints/alltube/logo.png b/blueprints/alltube/logo.png new file mode 100644 index 00000000..8f0d5cec Binary files /dev/null and b/blueprints/alltube/logo.png differ diff --git a/blueprints/alltube/template.toml b/blueprints/alltube/template.toml new file mode 100644 index 00000000..1c5f8eed --- /dev/null +++ b/blueprints/alltube/template.toml @@ -0,0 +1,18 @@ +[variables] +main_domain = "${domain}" +title = "My AllTube Site" +convert = "true" +stream = "true" +remux = "true" + +[config] +[[config.domains]] +serviceName = "alltube" +port = 80 +host = "${main_domain}" + +[config.env] +TITLE = "${title}" +CONVERT = "${convert}" +STREAM = "${stream}" +REMUX = "${remux}" \ No newline at end of file diff --git a/meta.json b/meta.json index d0cf0f1a..635fe6bc 100644 --- a/meta.json +++ b/meta.json @@ -1926,5 +1926,58 @@ "dns", "ad-blocking" ] + }, + { + "id": "adminer", + "name": "Adminer", + "version": "4.8.1", + "description": "Adminer is a comprehensive database management tool that supports MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB and others. It provides a clean interface for efficient database operations, with strong security features and extensive customization options.", + "logo": "logo.svg", + "links": { + "github": "https://github.com/vrana/adminer", + "website": "https://www.adminer.org/", + "docs": "https://www.adminer.org/en/plugins/" + }, + "tags": [ + "databases", + "developer-tools", + "mysql", + "postgresql" + ] + }, + { + "id": "affinepro", + "name": "Affine Pro", + "version": "stable-780dd83", + "description": "Affine Pro is a modern, self-hosted platform designed for collaborative content creation and project management. It offers an intuitive interface, seamless real-time collaboration, and powerful tools for organizing tasks, notes, and ideas.", + "logo": "logo.png", + "links": { + "github": "https://github.com/toeverything/Affine", + "website": "https://affine.pro/", + "docs": "https://affine.pro/docs" + }, + "tags": [ + "collaboration", + "self-hosted", + "productivity", + "project-management" + ] + }, + { + "id": "alltube", + "name": "AllTube", + "version": "latest", + "description": "AllTube Download is an application designed to facilitate the downloading of videos from YouTube and other video sites. It provides an HTML GUI for youtube-dl with video conversion capabilities and JSON API support.", + "logo": "logo.png", + "links": { + "github": "https://github.com/Rudloff/alltube", + "website": "https://github.com/Rudloff/alltube", + "docs": "https://github.com/Rudloff/alltube/wiki" + }, + "tags": [ + "media", + "video", + "downloader" + ] } ] \ No newline at end of file