This commit is contained in:
Mohab Gabber
2025-04-03 15:07:41 +02:00
370 changed files with 8433 additions and 5255 deletions

View File

@@ -0,0 +1,23 @@
version: "3"
services:
ackee:
image: electerious/ackee:3.4.2
ports:
- "3000"
environment:
- ACKEE_USERNAME=${ACKEE_USERNAME}
- ACKEE_PASSWORD=${ACKEE_PASSWORD}
- ACKEE_MONGODB=${ACKEE_MONGODB}
mongo:
image: mongo:4
environment:
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
volumes:
- mongo-data:/data/db
volumes:
mongo-data:

BIN
blueprints/ackee/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,18 @@
[variables]
ACKEE_USERNAME = "default"
ACKEE_PASSWORD = "${password:16}"
MONGO_INITDB_ROOT_PASSWORD = "${password:16}"
ACKEE_MONGODB = "mongodb://mongo:${MONGO_INITDB_ROOT_PASSWORD}@mongo:27017"
[config]
[[config.domains]]
serviceName = "ackee"
port = 3000
host = "${domain}"
[config.env]
ACKEE_USERNAME = "${ACKEE_USERNAME}"
ACKEE_PASSWORD = "${ACKEE_PASSWORD}"
ACKEE_MONGODB = "${ACKEE_MONGODB}"
MONGO_INITDB_ROOT_PASSWORD = "${MONGO_INITDB_ROOT_PASSWORD}"

View File

@@ -0,0 +1,21 @@
[variables]
main_domain = "${domain}"
api_key = "${password:32}"
encryption_key = "${password:32}"
jwt_secret = "${password:32}"
postgres_password = "${password:32}"
[config]
env = [
"AP_HOST=${main_domain}",
"AP_API_KEY=${api_key}",
"AP_ENCRYPTION_KEY=${encryption_key}",
"AP_JWT_SECRET=${jwt_secret}",
"AP_POSTGRES_PASSWORD=${postgres_password}",
]
mounts = []
[[config.domains]]
serviceName = "activepieces"
port = 80
host = "${main_domain}"

View File

@@ -1,21 +0,0 @@
variables:
main_domain: ${domain}
api_key: ${password:32}
encryption_key: ${password:32}
jwt_secret: ${password:32}
postgres_password: ${password:32}
config:
domains:
- serviceName: activepieces
port: 80
host: ${main_domain}
env:
- AP_HOST=${main_domain}
- AP_API_KEY=${api_key}
- AP_ENCRYPTION_KEY=${encryption_key}
- AP_JWT_SECRET=${jwt_secret}
- AP_POSTGRES_PASSWORD=${postgres_password}
mounts: []

View File

@@ -0,0 +1,11 @@
[variables]
main_domain = "${domain}"
[config]
env = []
mounts = []
[[config.domains]]
serviceName = "actualbudget"
port = 5_006
host = "${main_domain}"

View File

@@ -1,12 +0,0 @@
variables:
main_domain: ${domain}
config:
domains:
- serviceName: actualbudget
port: 5006
host: ${main_domain}
env: []
mounts: []

View File

@@ -0,0 +1,21 @@
version: "3.8"
services:
adguardhome:
image: adguard/adguardhome:latest
restart: unless-stopped
ports:
- "53:53/tcp"
- "53:53/udp"
- "784:784/udp"
- "853:853/tcp"
- "853:853/udp"
- "8853:8853/udp"
- "5443:5443/tcp"
- "5443:5443/udp"
volumes:
- adguardhome-work:/opt/adguardhome/work
- adguardhome-conf:/opt/adguardhome/conf
volumes:
adguardhome-work: {}
adguardhome-conf: {}

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="80px" height="80px" viewBox="0 0 80 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
<title>logo@2x</title>
<desc>Created with Sketch.</desc>
<g id="logo" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<rect id="Rectangle" fill="#FFFFFF" x="0" y="0" width="80" height="80" rx="20"></rect>
<g id="Group-10" transform="translate(12.000000, 12.000000)">
<g id="Group-9">
<g id="Group-8">
<g id="Group-7">
<path d="M28.2221276,0 C19.4007575,0 8.75997994,2.07442553 8.65485005e-06,6.64038298 C8.65485005e-06,16.501617 -0.120909272,41.0689362 28.2221276,57.855 C56.5657909,41.0689362 56.4454995,16.501617 56.4454995,6.64038298 C47.6849017,2.07442553 37.0441241,0 28.2221276,0 L28.2221276,0 Z" id="Path" fill="#68BC71"></path>
<path d="M28.1932991,57.8379179 C-0.120827266,41.0522735 8.65485006e-06,16.4982725 8.65485006e-06,6.64038298 C8.75043947,2.07939831 19.3775821,0.00452145957 28.1932991,7.38217799e-06 L28.1932991,57.8379237 Z" id="Combined-Shape" fill="#67B279"></path>
</g>
<path d="M27.1926958,38.6027397 L44.2590846,15.6010416 C43.0084943,14.5986526 41.911548,15.3061181 41.3076915,15.8538333 L41.2856573,15.8555888 L27.0557264,30.6585285 L21.6942672,24.2064902 C19.1365123,21.2514028 15.6592758,23.5054616 14.8469876,24.1011604 L27.1926958,38.6027397" id="Fill-11" fill="#FFFFFF"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
[config]
env = []
mounts = []
[[config.domains]]
serviceName = "adguardhome"
port = 3000
host = "${main_domain}"

View File

@@ -0,0 +1,7 @@
version: "3.8"
services:
adminer:
image: adminer:4.8.1
restart: unless-stopped
ports:
- 8080

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="791px"
height="792px" viewBox="-91.5 -0.5 791 792" enable-background="new -91.5 -0.5 791 792" xml:space="preserve">
<g id="Layer_2">
<rect x="-91.5" y="-0.5" fill="#005982" width="791" height="792"/>
<rect x="-90.5" y="-0.5" fill="none" width="790" height="792"/>
</g>
<g id="Layer_1">
<path fill="#FFFFFF" d="M336.162,343.266c-7.003-27.503-58.849-54.543-149.432-54.543c-90.517,0-142.358,27.004-149.416,54.488
c-0.543,1.058-0.875,2.241-0.875,3.513v249.82c0,2.393,1.101,4.505,2.794,5.937c11.992,25.549,62.822,49.176,147.496,49.176
c84.697,0,135.532-23.639,147.507-49.199c1.679-1.428,2.768-3.531,2.768-5.913v-5.691c0-0.047,0.008-0.09,0.008-0.137
c0-0.027-0.008-0.05-0.008-0.077v-81.224c0-0.046,0.008-0.09,0.008-0.136c0-0.028-0.008-0.051-0.008-0.078V429.61
c0-0.048,0.008-0.09,0.008-0.137c0-0.027-0.008-0.052-0.008-0.079v-79.59c0-0.047,0.008-0.09,0.008-0.137s-0.008-0.094-0.008-0.141
v-2.802C337.005,345.475,336.685,344.312,336.162,343.266z M321.392,509.372c-0.165,21.415-55.417,45.233-134.662,45.233
c-79.36,0-134.668-23.889-134.668-45.33c0-0.027-0.008-0.052-0.008-0.079v-52.169c22.261,18.717,67.967,33.387,134.676,33.387
c66.698,0,112.392-14.665,134.662-33.375V509.372z M321.392,429.567C321.227,450.98,265.974,474.8,186.73,474.8
c-79.36,0-134.668-23.889-134.668-45.331c0-0.026-0.008-0.051-0.008-0.078v-52.169c22.261,18.716,67.967,33.386,134.676,33.386
c66.698,0,112.392-14.661,134.662-33.374V429.567z M186.73,304.337c79.244,0,134.497,23.818,134.662,45.233v0.191
c-0.165,21.415-55.417,45.233-134.662,45.233c-79.36,0-134.668-23.889-134.668-45.327
C52.062,328.229,107.37,304.337,186.73,304.337z M186.73,636.043c-79.36,0-134.668-23.89-134.668-45.327
c0-0.027-0.008-0.05-0.008-0.077v-53.802c22.261,18.717,67.967,33.387,134.676,33.387c66.698,0,112.392-14.665,134.662-33.375
v53.961C321.227,612.228,265.974,636.043,186.73,636.043z"/>
<g>
<path fill="#FF0000" d="M427.38,365.951l-71.116-59.932l71.116-59.827l16.46,16.671l-52.335,42.944l52.335,43.472L427.38,365.951z
"/>
<path fill="#FF0000" d="M566.131,260.227c0,5.909-0.897,11.203-2.691,15.88c-1.793,4.679-4.362,8.723-7.702,12.134
c-3.342,3.413-7.369,6.173-12.081,8.283c-4.714,2.11-9.989,3.553-15.827,4.326l-1.056,19.837h-22.052l-1.899-39.673h15.3
c3.445,0,6.418-0.491,8.915-1.477c2.496-0.984,4.537-2.322,6.12-4.01s2.743-3.64,3.482-5.856c0.738-2.216,1.107-4.554,1.107-7.017
c0-3.376-0.722-6.524-2.163-9.444c-1.442-2.918-3.692-5.486-6.753-7.702c-3.06-2.216-6.947-3.957-11.659-5.223
c-4.713-1.266-10.377-1.899-16.987-1.899h-6.226v-23.952h7.28c10.832,0,20.293,1.284,28.384,3.851
c8.088,2.568,14.841,5.979,20.258,10.235c5.416,4.257,9.479,9.127,12.188,14.614C564.775,248.62,566.131,254.317,566.131,260.227z
M533.21,349.069c0,2.321-0.458,4.502-1.371,6.542c-0.915,2.041-2.147,3.835-3.693,5.381c-1.548,1.548-3.377,2.76-5.486,3.64
c-2.11,0.879-4.363,1.319-6.753,1.319c-2.393,0-4.627-0.44-6.7-1.319c-2.076-0.88-3.888-2.092-5.435-3.64
c-1.548-1.546-2.779-3.34-3.692-5.381c-0.915-2.04-1.372-4.221-1.372-6.542s0.457-4.5,1.372-6.542
c0.913-2.04,2.145-3.833,3.692-5.381c1.547-1.546,3.358-2.76,5.435-3.64c2.073-0.879,4.308-1.319,6.7-1.319
c2.39,0,4.643,0.44,6.753,1.319c2.109,0.88,3.938,2.094,5.486,3.64c1.546,1.548,2.778,3.342,3.693,5.381
C532.752,344.568,533.21,346.748,533.21,349.069z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -0,0 +1,8 @@
[variables]
main_domain = "${domain}"
[config]
[[config.domains]]
serviceName = "adminer"
port = 8080
host = "${main_domain}"

View File

@@ -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: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -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}"

View File

@@ -0,0 +1,11 @@
[variables]
main_domain = "${domain}"
[config]
env = []
mounts = []
[[config.domains]]
serviceName = "alist"
port = 5_244
host = "${main_domain}"

View File

@@ -1,12 +0,0 @@
variables:
main_domain: ${domain}
config:
domains:
- serviceName: alist
port: 5244
host: ${main_domain}
env: []
mounts: []

View File

@@ -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}

BIN
blueprints/alltube/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -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}"

View File

@@ -0,0 +1,17 @@
version: "3.8"
services:
ampache:
image: ampache/ampache:latest
restart: unless-stopped
ports:
- 80
volumes:
- config:/var/www/config
- log:/var/log/ampache
- mysql:/var/lib/mysql
- ${MEDIA_PATH}:/media
volumes:
config: {}
log: {}
mysql: {}

BIN
blueprints/ampache/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
media_path = "/path/to/your/media"
[config]
[[config.domains]]
serviceName = "ampache"
port = 80
host = "${main_domain}"
[config.env]
MEDIA_PATH = "${media_path}"

View File

@@ -0,0 +1,16 @@
version: "3.8"
services:
anonupload:
image: ghcr.io/supernova3339/anonfiles:1
restart: unless-stopped
ports:
- 80
environment:
- ADMIN_EMAIL=${ADMIN_EMAIL}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- CONTACT_EMAIL=${CONTACT_EMAIL}
volumes:
- uploads:/var/www/html/uploads
volumes:
uploads: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

View File

@@ -0,0 +1,16 @@
[variables]
main_domain = "${domain}"
admin_email = "${email}"
admin_password = "${password:16}"
contact_email = "${email}"
[config]
[[config.domains]]
serviceName = "anonupload"
port = 80
host = "${main_domain}"
[config.env]
ADMIN_EMAIL = "${admin_email}"
ADMIN_PASSWORD = "${admin_password}"
CONTACT_EMAIL = "${contact_email}"

View File

@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
service_hash = "${hash:32}"
[config]
env = ["ANSWER_HOST=http://${main_domain}", "SERVICE_HASH=${service_hash}"]
mounts = []
[[config.domains]]
serviceName = "answer"
port = 9_080
host = "${main_domain}"

View File

@@ -1,15 +0,0 @@
variables:
main_domain: ${domain}
service_hash: ${hash:32}
config:
domains:
- serviceName: answer
port: 9080
host: ${main_domain}
env:
- ANSWER_HOST=http://${main_domain}
- SERVICE_HASH=${service_hash}
mounts: []

View File

@@ -0,0 +1,16 @@
version: "3.8"
services:
anythingllm:
image: mintplexlabs/anythingllm:latest
restart: unless-stopped
ports:
- 3001
environment:
- STORAGE_DIR=/app/server/storage
volumes:
- storage:/app/server/storage
cap_add:
- SYS_ADMIN
volumes:
storage: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@@ -0,0 +1,8 @@
[variables]
main_domain = "${domain}"
[config]
[[config.domains]]
serviceName = "anythingllm"
port = 3001
host = "${main_domain}"

View File

@@ -0,0 +1,16 @@
version: "3.8"
services:
apprise-api:
image: linuxserver/apprise-api:latest
restart: unless-stopped
ports:
- 8000
environment:
- PUID=1000
- PGID=1000
- TZ=UTC
volumes:
- config:/config
volumes:
config: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

View File

@@ -0,0 +1,8 @@
[variables]
main_domain = "${domain}"
[config]
[[config.domains]]
serviceName = "apprise-api"
port = 8000
host = "${main_domain}"

View File

@@ -0,0 +1,11 @@
[variables]
main_domain = "${domain}"
[config]
env = []
mounts = []
[[config.domains]]
serviceName = "appsmith"
port = 80
host = "${main_domain}"

View File

@@ -1,12 +0,0 @@
variables:
main_domain: ${domain}
config:
domains:
- serviceName: appsmith
port: 80
host: ${main_domain}
env: []
mounts: []

View File

@@ -0,0 +1,143 @@
[variables]
main_domain = "${domain}"
[config]
env = [
"_APP_ENV=production",
"_APP_LOCALE=en",
"_APP_OPTIONS_ABUSE=enabled",
"_APP_OPTIONS_FORCE_HTTPS=disabled",
"_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=disabled",
"_APP_OPTIONS_ROUTER_PROTECTION=disabled",
"_APP_OPENSSL_KEY_V1=your-secret-key",
"_APP_DOMAIN=${main_domain}",
"_APP_DOMAIN_FUNCTIONS=${main_domain}",
"_APP_DOMAIN_TARGET=${main_domain}",
"_APP_CONSOLE_WHITELIST_ROOT=enabled",
"_APP_CONSOLE_WHITELIST_EMAILS=",
"_APP_CONSOLE_WHITELIST_IPS=",
"_APP_CONSOLE_HOSTNAMES=",
"_APP_SYSTEM_EMAIL_NAME=Appwrite",
"_APP_SYSTEM_EMAIL_ADDRESS=noreply@appwrite.io",
"_APP_SYSTEM_TEAM_EMAIL=team@appwrite.io",
"_APP_SYSTEM_RESPONSE_FORMAT=",
"_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=certs@appwrite.io",
"_APP_EMAIL_SECURITY=",
"_APP_EMAIL_CERTIFICATES=",
"_APP_USAGE_STATS=enabled",
"_APP_LOGGING_PROVIDER=",
"_APP_LOGGING_CONFIG=",
"_APP_USAGE_AGGREGATION_INTERVAL=30",
"_APP_USAGE_TIMESERIES_INTERVAL=30",
"_APP_USAGE_DATABASE_INTERVAL=900",
"_APP_WORKER_PER_CORE=6",
"_APP_CONSOLE_SESSION_ALERTS=disabled",
"_APP_REDIS_HOST=redis",
"_APP_REDIS_PORT=6379",
"_APP_REDIS_USER=",
"_APP_REDIS_PASS=",
"_APP_DB_HOST=mariadb",
"_APP_DB_PORT=3306",
"_APP_DB_SCHEMA=appwrite",
"_APP_DB_USER=user",
"_APP_DB_PASS=password",
"_APP_DB_ROOT_PASS=rootsecretpassword",
"_APP_INFLUXDB_HOST=influxdb",
"_APP_INFLUXDB_PORT=8086",
"_APP_STATSD_HOST=telegraf",
"_APP_STATSD_PORT=8125",
"_APP_SMTP_HOST=",
"_APP_SMTP_PORT=",
"_APP_SMTP_SECURE=",
"_APP_SMTP_USERNAME=",
"_APP_SMTP_PASSWORD=",
"_APP_SMS_PROVIDER=",
"_APP_SMS_FROM=",
"_APP_STORAGE_LIMIT=30000000",
"_APP_STORAGE_PREVIEW_LIMIT=20000000",
"_APP_STORAGE_ANTIVIRUS=disabled",
"_APP_STORAGE_ANTIVIRUS_HOST=clamav",
"_APP_STORAGE_ANTIVIRUS_PORT=3310",
"_APP_STORAGE_DEVICE=local",
"_APP_STORAGE_S3_ACCESS_KEY=",
"_APP_STORAGE_S3_SECRET=",
"_APP_STORAGE_S3_REGION=us-east-1",
"_APP_STORAGE_S3_BUCKET=",
"_APP_STORAGE_DO_SPACES_ACCESS_KEY=",
"_APP_STORAGE_DO_SPACES_SECRET=",
"_APP_STORAGE_DO_SPACES_REGION=us-east-1",
"_APP_STORAGE_DO_SPACES_BUCKET=",
"_APP_STORAGE_BACKBLAZE_ACCESS_KEY=",
"_APP_STORAGE_BACKBLAZE_SECRET=",
"_APP_STORAGE_BACKBLAZE_REGION=us-west-004",
"_APP_STORAGE_BACKBLAZE_BUCKET=",
"_APP_STORAGE_LINODE_ACCESS_KEY=",
"_APP_STORAGE_LINODE_SECRET=",
"_APP_STORAGE_LINODE_REGION=eu-central-1",
"_APP_STORAGE_LINODE_BUCKET=",
"_APP_STORAGE_WASABI_ACCESS_KEY=",
"_APP_STORAGE_WASABI_SECRET=",
"_APP_STORAGE_WASABI_REGION=eu-central-1",
"_APP_STORAGE_WASABI_BUCKET=",
"_APP_FUNCTIONS_SIZE_LIMIT=30000000",
"_APP_FUNCTIONS_BUILD_SIZE_LIMIT=2000000000",
"_APP_FUNCTIONS_TIMEOUT=900",
"_APP_FUNCTIONS_BUILD_TIMEOUT=900",
"_APP_FUNCTIONS_CONTAINERS=10",
"_APP_FUNCTIONS_CPUS=0",
"_APP_FUNCTIONS_MEMORY=0",
"_APP_FUNCTIONS_MEMORY_SWAP=0",
"_APP_FUNCTIONS_RUNTIMES=node-16.0,php-8.0,python-3.9,ruby-3.0",
"_APP_EXECUTOR_SECRET=your-secret-key",
"_APP_EXECUTOR_HOST=http://exc1/v1",
"_APP_EXECUTOR_RUNTIME_NETWORK=appwrite_runtimes",
"_APP_FUNCTIONS_ENVS=node-16.0,php-7.4,python-3.9,ruby-3.0",
"_APP_FUNCTIONS_INACTIVE_THRESHOLD=60",
"DOCKERHUB_PULL_USERNAME=",
"DOCKERHUB_PULL_PASSWORD=",
"DOCKERHUB_PULL_EMAIL=",
"OPEN_RUNTIMES_NETWORK=appwrite_runtimes",
"_APP_FUNCTIONS_RUNTIMES_NETWORK=runtimes",
"_APP_DOCKER_HUB_USERNAME=",
"_APP_DOCKER_HUB_PASSWORD=",
"_APP_FUNCTIONS_MAINTENANCE_INTERVAL=3600",
"_APP_VCS_GITHUB_APP_NAME=",
"_APP_VCS_GITHUB_PRIVATE_KEY=",
"_APP_VCS_GITHUB_APP_ID=",
"_APP_VCS_GITHUB_CLIENT_ID=",
"_APP_VCS_GITHUB_CLIENT_SECRET=",
"_APP_VCS_GITHUB_WEBHOOK_SECRET=",
"_APP_MAINTENANCE_INTERVAL=86400",
"_APP_MAINTENANCE_DELAY=0",
"_APP_MAINTENANCE_RETENTION_CACHE=2592000",
"_APP_MAINTENANCE_RETENTION_EXECUTION=1209600",
"_APP_MAINTENANCE_RETENTION_AUDIT=1209600",
"_APP_MAINTENANCE_RETENTION_ABUSE=86400",
"_APP_MAINTENANCE_RETENTION_USAGE_HOURLY=8640000",
"_APP_MAINTENANCE_RETENTION_SCHEDULES=86400",
"_APP_GRAPHQL_MAX_BATCH_SIZE=10",
"_APP_GRAPHQL_MAX_COMPLEXITY=250",
"_APP_GRAPHQL_MAX_DEPTH=3",
"_APP_MIGRATIONS_FIREBASE_CLIENT_ID=",
"_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=",
"_APP_ASSISTANT_OPENAI_API_KEY=",
]
mounts = []
[[config.domains]]
serviceName = "appwrite"
port = 80
host = "${main_domain}"
path = "/"
[[config.domains]]
serviceName = "appwrite-console"
port = 80
host = "${main_domain}"
path = "/console"
[[config.domains]]
serviceName = "appwrite-realtime"
port = 80
host = "${main_domain}"
path = "/v1/realtime"

View File

@@ -1,139 +0,0 @@
variables:
main_domain: ${domain}
config:
domains:
- serviceName: appwrite
port: 80
host: ${main_domain}
path: /
- serviceName: appwrite-console
port: 80
host: ${main_domain}
path: /console
- serviceName: appwrite-realtime
port: 80
host: ${main_domain}
path: /v1/realtime
env:
- _APP_ENV=production
- _APP_LOCALE=en
- _APP_OPTIONS_ABUSE=enabled
- _APP_OPTIONS_FORCE_HTTPS=disabled
- _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=disabled
- _APP_OPTIONS_ROUTER_PROTECTION=disabled
- _APP_OPENSSL_KEY_V1=your-secret-key
- _APP_DOMAIN=${main_domain}
- _APP_DOMAIN_FUNCTIONS=${main_domain}
- _APP_DOMAIN_TARGET=${main_domain}
- _APP_CONSOLE_WHITELIST_ROOT=enabled
- _APP_CONSOLE_WHITELIST_EMAILS=
- _APP_CONSOLE_WHITELIST_IPS=
- _APP_CONSOLE_HOSTNAMES=
- _APP_SYSTEM_EMAIL_NAME=Appwrite
- _APP_SYSTEM_EMAIL_ADDRESS=noreply@appwrite.io
- _APP_SYSTEM_TEAM_EMAIL=team@appwrite.io
- _APP_SYSTEM_RESPONSE_FORMAT=
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=certs@appwrite.io
- _APP_EMAIL_SECURITY=
- _APP_EMAIL_CERTIFICATES=
- _APP_USAGE_STATS=enabled
- _APP_LOGGING_PROVIDER=
- _APP_LOGGING_CONFIG=
- _APP_USAGE_AGGREGATION_INTERVAL=30
- _APP_USAGE_TIMESERIES_INTERVAL=30
- _APP_USAGE_DATABASE_INTERVAL=900
- _APP_WORKER_PER_CORE=6
- _APP_CONSOLE_SESSION_ALERTS=disabled
- _APP_REDIS_HOST=redis
- _APP_REDIS_PORT=6379
- _APP_REDIS_USER=
- _APP_REDIS_PASS=
- _APP_DB_HOST=mariadb
- _APP_DB_PORT=3306
- _APP_DB_SCHEMA=appwrite
- _APP_DB_USER=user
- _APP_DB_PASS=password
- _APP_DB_ROOT_PASS=rootsecretpassword
- _APP_INFLUXDB_HOST=influxdb
- _APP_INFLUXDB_PORT=8086
- _APP_STATSD_HOST=telegraf
- _APP_STATSD_PORT=8125
- _APP_SMTP_HOST=
- _APP_SMTP_PORT=
- _APP_SMTP_SECURE=
- _APP_SMTP_USERNAME=
- _APP_SMTP_PASSWORD=
- _APP_SMS_PROVIDER=
- _APP_SMS_FROM=
- _APP_STORAGE_LIMIT=30000000
- _APP_STORAGE_PREVIEW_LIMIT=20000000
- _APP_STORAGE_ANTIVIRUS=disabled
- _APP_STORAGE_ANTIVIRUS_HOST=clamav
- _APP_STORAGE_ANTIVIRUS_PORT=3310
- _APP_STORAGE_DEVICE=local
- _APP_STORAGE_S3_ACCESS_KEY=
- _APP_STORAGE_S3_SECRET=
- _APP_STORAGE_S3_REGION=us-east-1
- _APP_STORAGE_S3_BUCKET=
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=
- _APP_STORAGE_DO_SPACES_SECRET=
- _APP_STORAGE_DO_SPACES_REGION=us-east-1
- _APP_STORAGE_DO_SPACES_BUCKET=
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY=
- _APP_STORAGE_BACKBLAZE_SECRET=
- _APP_STORAGE_BACKBLAZE_REGION=us-west-004
- _APP_STORAGE_BACKBLAZE_BUCKET=
- _APP_STORAGE_LINODE_ACCESS_KEY=
- _APP_STORAGE_LINODE_SECRET=
- _APP_STORAGE_LINODE_REGION=eu-central-1
- _APP_STORAGE_LINODE_BUCKET=
- _APP_STORAGE_WASABI_ACCESS_KEY=
- _APP_STORAGE_WASABI_SECRET=
- _APP_STORAGE_WASABI_REGION=eu-central-1
- _APP_STORAGE_WASABI_BUCKET=
- _APP_FUNCTIONS_SIZE_LIMIT=30000000
- _APP_FUNCTIONS_BUILD_SIZE_LIMIT=2000000000
- _APP_FUNCTIONS_TIMEOUT=900
- _APP_FUNCTIONS_BUILD_TIMEOUT=900
- _APP_FUNCTIONS_CONTAINERS=10
- _APP_FUNCTIONS_CPUS=0
- _APP_FUNCTIONS_MEMORY=0
- _APP_FUNCTIONS_MEMORY_SWAP=0
- _APP_FUNCTIONS_RUNTIMES=node-16.0,php-8.0,python-3.9,ruby-3.0
- _APP_EXECUTOR_SECRET=your-secret-key
- _APP_EXECUTOR_HOST=http://exc1/v1
- _APP_EXECUTOR_RUNTIME_NETWORK=appwrite_runtimes
- _APP_FUNCTIONS_ENVS=node-16.0,php-7.4,python-3.9,ruby-3.0
- _APP_FUNCTIONS_INACTIVE_THRESHOLD=60
- DOCKERHUB_PULL_USERNAME=
- DOCKERHUB_PULL_PASSWORD=
- DOCKERHUB_PULL_EMAIL=
- OPEN_RUNTIMES_NETWORK=appwrite_runtimes
- _APP_FUNCTIONS_RUNTIMES_NETWORK=runtimes
- _APP_DOCKER_HUB_USERNAME=
- _APP_DOCKER_HUB_PASSWORD=
- _APP_FUNCTIONS_MAINTENANCE_INTERVAL=3600
- _APP_VCS_GITHUB_APP_NAME=
- _APP_VCS_GITHUB_PRIVATE_KEY=
- _APP_VCS_GITHUB_APP_ID=
- _APP_VCS_GITHUB_CLIENT_ID=
- _APP_VCS_GITHUB_CLIENT_SECRET=
- _APP_VCS_GITHUB_WEBHOOK_SECRET=
- _APP_MAINTENANCE_INTERVAL=86400
- _APP_MAINTENANCE_DELAY=0
- _APP_MAINTENANCE_RETENTION_CACHE=2592000
- _APP_MAINTENANCE_RETENTION_EXECUTION=1209600
- _APP_MAINTENANCE_RETENTION_AUDIT=1209600
- _APP_MAINTENANCE_RETENTION_ABUSE=86400
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=8640000
- _APP_MAINTENANCE_RETENTION_SCHEDULES=86400
- _APP_GRAPHQL_MAX_BATCH_SIZE=10
- _APP_GRAPHQL_MAX_COMPLEXITY=250
- _APP_GRAPHQL_MAX_DEPTH=3
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID=
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=
- _APP_ASSISTANT_OPENAI_API_KEY=
mounts: []

View File

@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
auth_secret = "${base64:32}"
[config]
env = ["APTABASE_HOST=${main_domain}", "AUTH_SECRET=${auth_secret}"]
mounts = []
[[config.domains]]
serviceName = "aptabase"
port = 8_080
host = "${main_domain}"

View File

@@ -1,15 +0,0 @@
variables:
main_domain: ${domain}
auth_secret: ${base64:32}
config:
domains:
- serviceName: aptabase
port: 8080
host: ${main_domain}
env:
- APTABASE_HOST=${main_domain}
- AUTH_SECRET=${auth_secret}
mounts: []

View File

@@ -0,0 +1,14 @@
version: "3.8"
services:
arangodb:
image: arangodb:3.12.4
restart: unless-stopped
ports:
- 8529
environment:
- ARANGO_ROOT_PASSWORD=${ARANGO_PASSWORD}
volumes:
- data:/var/lib/arangodb3
volumes:
data: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
arango_password = "${password:16}"
[config]
[[config.domains]]
serviceName = "arangodb"
port = 8529
host = "${main_domain}"
[config.env]
ARANGO_PASSWORD = "${arango_password}"

View File

@@ -0,0 +1,77 @@
version: "3.8"
services:
argilla-web:
image: argilla/argilla-server:latest
restart: unless-stopped
ports:
- 6900
environment:
- ARGILLA_HOME_PATH=/var/lib/argilla
- ARGILLA_ELASTICSEARCH=http://argilla-elasticsearch:9200
- ARGILLA_DATABASE_URL=postgresql+asyncpg://postgres:${DB_PASSWORD}@argilla-db:5432/argilla
- ARGILLA_REDIS_URL=redis://:${REDIS_PASSWORD}@argilla-redis:6379/0
- USERNAME=${LOGIN_USERNAME}
- PASSWORD=${LOGIN_PASSWORD}
- API_KEY=argilla.apikey
- WORKSPACE=default
volumes:
- argilladata:/var/lib/argilla
depends_on:
- argilla-elasticsearch
- argilla-db
- argilla-redis
argilla-worker:
image: argilla/argilla-server:latest
restart: unless-stopped
environment:
- BACKGROUND_NUM_WORKERS=2
- ARGILLA_HOME_PATH=/var/lib/argilla
- ARGILLA_ELASTICSEARCH=http://argilla-elasticsearch:9200
- ARGILLA_DATABASE_URL=postgresql+asyncpg://postgres:${DB_PASSWORD}@argilla-db:5432/argilla
- ARGILLA_REDIS_URL=redis://:${REDIS_PASSWORD}@argilla-redis:6379/0
volumes:
- argilladata:/var/lib/argilla
command: python -m argilla_server worker --num-workers ${BACKGROUND_NUM_WORKERS}
depends_on:
- argilla-elasticsearch
- argilla-db
- argilla-redis
argilla-elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.12.2
restart: unless-stopped
environment:
- node.name=elasticsearch
- cluster.name=es-argilla-local
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms512m -Xmx512m
- cluster.routing.allocation.disk.threshold_enabled=false
- xpack.security.enabled=false
volumes:
- elasticdata:/usr/share/elasticsearch/data
argilla-db:
image: postgres:15-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=argilla
volumes:
- dbdata:/var/lib/postgresql/data
argilla-redis:
image: redis:7-alpine
restart: unless-stopped
environment:
- REDIS_PASSWORD=${REDIS_PASSWORD}
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- redisdata:/data
volumes:
argilladata: {}
elasticdata: {}
dbdata: {}
redisdata: {}

View File

@@ -0,0 +1,12 @@
<svg width="481" height="252" viewBox="0 0 481 252" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M125.336 251.397C194.557 251.397 250.671 195.216 250.671 125.913C250.671 56.6109 194.557 0.430069 125.336 0.430069C56.1147 0.430069 0 56.6109 0 125.913C0 195.216 56.1147 251.397 125.336 251.397Z" fill="url(#paint0_linear_0_1)"/>
<path d="M479.93 251.397C342.032 251.397 229.83 139.062 229.83 1.00175H317.193C317.193 91.0411 390.282 164.216 480.215 164.216V251.397H479.93Z" fill="#F8C0A7"/>
<defs>
<linearGradient id="paint0_linear_0_1" x1="55.414" y1="60.2073" x2="211.749" y2="206.798" gradientUnits="userSpaceOnUse">
<stop offset="0.0151877" stop-color="#FF675F"/>
<stop offset="1" stop-color="#F73D3D"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 751 B

View File

@@ -0,0 +1,19 @@
[variables]
main_domain = "${domain}"
login_username = "${username}"
login_password = "${password:8}"
db_password = "${password:16}"
redis_password = "${password:16}"
[config]
[[config.domains]]
serviceName = "argilla-web"
port = 6900
host = "${main_domain}"
[config.env]
LOGIN_USERNAME = "${login_username}"
LOGIN_PASSWORD = "${login_password}"
DB_PASSWORD = "${db_password}"
REDIS_PASSWORD = "${redis_password}"
BACKGROUND_NUM_WORKERS = "2"

View File

@@ -0,0 +1,17 @@
version: "3.8"
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:2.19.4
restart: unless-stopped
ports:
- 80
environment:
- TZ=UTC
volumes:
- config:/config
- metadata:/metadata
- ${AUDIOBOOKS_PATH}:/audiobooks
volumes:
config: {}
metadata: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
audiobooks_path = "/path/to/your/audiobooks"
[config]
[[config.domains]]
serviceName = "audiobookshelf"
port = 80
host = "${main_domain}"
[config.env]
AUDIOBOOKS_PATH = "${audiobooks_path}"

View File

@@ -0,0 +1,40 @@
version: "3.8"
services:
authorizer:
image: lakhansamani/authorizer:1.4.4
restart: unless-stopped
ports:
- 8080
environment:
- DATABASE_TYPE=postgres
- DATABASE_URL=postgres://postgres:${DB_PASSWORD}@authorizer-db:5432/authorizer?sslmode=disable
- REDIS_URL=redis://authorizer-redis:6379
- ADMIN_SECRET=${ADMIN_SECRET}
- JWT_SECRET=${JWT_SECRET}
- COOKIE_NAME=authorizer
- ACCESS_TOKEN_EXPIRY_TIME=86400
- REFRESH_TOKEN_EXPIRY_TIME=86400
- DISABLE_PLAYGROUND=true
depends_on:
- authorizer-db
- authorizer-redis
authorizer-db:
image: postgres:15-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=authorizer
volumes:
- db_data:/var/lib/postgresql/data
authorizer-redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- redis_data:/data
volumes:
db_data: {}
redis_data: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,16 @@
[variables]
main_domain = "${domain}"
db_password = "${password:16}"
admin_secret = "${password:32}"
jwt_secret = "${password:32}"
[config]
[[config.domains]]
serviceName = "authorizer"
port = 8080
host = "${main_domain}"
[config.env]
DB_PASSWORD = "${db_password}"
ADMIN_SECRET = "${admin_secret}"
JWT_SECRET = "${jwt_secret}"

View File

@@ -0,0 +1,73 @@
version: "3.8"
services:
automatisch:
image: dockeriddonuts/automatisch:2.0
restart: unless-stopped
ports:
- 443
environment:
- HOST=${DOMAIN}
- PROTOCOL=http
- PORT=443
- APP_ENV=production
- REDIS_HOST=automatisch-redis
- REDIS_USERNAME=default
- REDIS_PASSWORD=${REDIS_PASSWORD}
- POSTGRES_HOST=automatisch-postgres
- POSTGRES_DATABASE=automatisch
- POSTGRES_USERNAME=postgres
- POSTGRES_PASSWORD=${DB_PASSWORD}
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
- WEBHOOK_SECRET_KEY=${WEBHOOK_SECRET_KEY}
- APP_SECRET_KEY=${APP_SECRET_KEY}
volumes:
- storage:/automatisch/storage
depends_on:
- automatisch-postgres
- automatisch-redis
automatisch-worker:
image: dockeriddonuts/automatisch:2.0
restart: unless-stopped
environment:
- APP_ENV=production
- REDIS_HOST=automatisch-redis
- REDIS_PASSWORD=${REDIS_PASSWORD}
- POSTGRES_HOST=automatisch-postgres
- POSTGRES_DATABASE=automatisch
- POSTGRES_USERNAME=postgres
- POSTGRES_PASSWORD=${DB_PASSWORD}
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
- WEBHOOK_SECRET_KEY=${WEBHOOK_SECRET_KEY}
- APP_SECRET_KEY=${APP_SECRET_KEY}
- WORKER=true
volumes:
- storage:/automatisch/storage
depends_on:
- automatisch-postgres
- automatisch-redis
automatisch-postgres:
image: postgres:15-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=automatisch
volumes:
- postgres_data:/var/lib/postgresql/data
automatisch-redis:
image: redis:7-alpine
restart: unless-stopped
command: redis-server --requirepass ${REDIS_PASSWORD}
environment:
- REDIS_USERNAME=default
- REDIS_PASSWORD=${REDIS_PASSWORD}
volumes:
- redis_data:/data
volumes:
storage: {}
postgres_data: {}
redis_data: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,20 @@
[variables]
main_domain = "${domain}"
db_password = "${password:16}"
redis_password = "${password:16}"
encryption_key = "${password:32}"
webhook_secret_key = "${password:32}"
app_secret_key = "${password:32}"
[config]
[[config.domains]]
serviceName = "automatisch"
port = 3000
host = "${main_domain}"
[config.env]
DB_PASSWORD = "${db_password}"
REDIS_PASSWORD = "${redis_password}"
ENCRYPTION_KEY = "${encryption_key}"
WEBHOOK_SECRET_KEY = "${webhook_secret_key}"
APP_SECRET_KEY = "${app_secret_key}"

View File

@@ -0,0 +1,19 @@
version: "3.8"
services:
babybuddy:
image: linuxserver/babybuddy:2.7.0
restart: unless-stopped
ports:
- 8000
environment:
- PUID=1000
- PGID=1000
- TZ=UTC
- CSRF_TRUSTED_ORIGINS=https://${DOMAIN}
- TIME_ZONE=${TIME_ZONE:-UTC}
- SECRET_KEY=${SECRET_KEY}
volumes:
- config:/config
volumes:
config: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,15 @@
[variables]
main_domain = "${domain}"
secret_key = "${password:32}"
time_zone = "America/New_York"
[config]
[[config.domains]]
serviceName = "babybuddy"
port = 8000
host = "${main_domain}"
[config.env]
DOMAIN = "${main_domain}"
SECRET_KEY = "${secret_key}"
TIME_ZONE = "${time_zone}"

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="-80 0 650 500" style="background: black"><g fill="#fff"><path d="M511.7 196.3c-1.1-10.2-4.6-18.4-10.6-24.6-6-6.1-14.2-10.2-24.6-12.1-3.7-.7-8.2-1.3-13.4-1.7h-59.9c-.1 0-.1-.1-.2-.1h-76.9c0 .1-.1.1-.2.1h-26.8l-.1.1h-1.1c-.2 0-.4 0-.6-.1-.1 0-.2 0-.4-.1h-5.4c-.2 0-.4.1-.5.1h-.1c0 .1-.1.1-.1.2-.1.2-.2.4-.2.6 0 .1-.1.1-.1.1-2.3 4.8-4.6 9.6-6.8 14.4-4.9 8.2-7.9 17.6-12.4 25.9-10.6 22.5-21.3 45-31.9 67.4L195 360.4c-4.9-8-9.8-16-14.8-24.1-6.4-10.5-12.8-21-19.3-31.4-7.4-12-14.8-24.1-22.1-36.1-4-6.5-10.8-11.1-18.1-12.8-7.6-1.8-15.7-.4-22.3 3.8-2.2 1.4-4.3 3.2-6 5.1-3.6 2.4-6.6 5.5-8.8 9.2-.2.3-.4.6-.6 1-6.2 10.5-12.4 21-18.5 31.5-6.5 11-12.9 21.9-19.4 32.9-6.5 11.1-13 22.1-19.5 33.2L4.3 409c-4 6.8-5.3 14.9-3.3 22.5 1.9 7.3 6.7 13.8 13.2 17.7 4.6 2.8 9.9 4.2 15.2 4.2 2.5 0 4.9-.3 7.3-.9 7.3-1.9 13.9-6.7 17.7-13.2.4-.6.8-1.3 1.1-1.9 6.9-11.8 13.8-23.5 20.8-35.3 6.4-10.8 12.8-21.7 19.1-32.5 5.9-10.1 11.9-20.2 17.8-30.3.4.7.8 1.4 1.3 2 6.6 10.8 13.2 21.5 19.8 32.2s13.1 21.4 19.7 32.1c6.4 10.5 12.9 21 19.3 31.5 4 6.5 10.8 11.1 18.1 12.8 1.6.4 3.2.6 4.9.7v.1h73.4c37.5-.3 61.4-.9 71.7-2 16.4-1.7 31.8-6.4 46-13.9q21.3-11.25 39.6-30.3c12.2-12.6 21.4-25.6 27.8-39 8.1-17 10.3-31.7 6.8-44.3q-5.25-18.75-28.2-26.7c15.3-5.7 29.3-14.4 42.1-25.9s22.5-24.1 29-37.9c5.9-12.7 8.3-24.2 7.2-34.4M395.2 362.6c-4.9 10.4-11.7 18.7-20.1 25-8.4 6.2-17.4 10.1-26.9 11.7q-9.45 1.8-41.1 1.8h-54.3l37.4-78.6h47.4c26.7 0 43.4 1.4 50 4.2 6.7 2.8 10.6 7.3 12 13.4 1.3 6.2-.2 13.6-4.4 22.5m48-123.5c-4.5 9.5-11 17.1-19.5 23-8.5 5.8-18.1 9.3-28.7 10.5-5.9.7-20.2 1-43.1 1h-38.5l32.3-67.9h33.7c27.6 0 44.2.3 49.7 1 9.2 1.2 14.9 4.6 17.2 10.3 2.3 5.6 1.2 13-3.1 22.1"/><path d="M313.6 157.9h-8.4q4.2-.6 8.4 0m4.5-24.2c-8.2-8.2-12.9-19.5-12.9-31.1s4.7-22.9 12.9-31.1 19.5-12.9 31.1-12.9 22.9 4.7 31.1 12.9 12.9 19.5 12.9 31.1-4.7 22.9-12.9 31.1-19.5 12.9-31.1 12.9c-11.7-.1-22.9-4.7-31.1-12.9M196.2 241.5c0 .2-.1 3.7-.4 3.7H90.5c-.1 0-.2-.3-.2-.6-2.8-.3-5.3-1.8-7-3.9-.2.1-.3.2-.4.2-12.6-20.6-25.2-41.2-37.7-61.8-5.4-8.8-10.7-17.6-16.1-26.3-1.2-1 .6-2 1.2-2.5 3.6-3.1 10.7-8.6 14.6-10.6 2.4 3.9 4.8 7.9 7.2 11.8 14.9 24.4 29.8 48.8 44.7 73.3h99c.3 0 .3 2.3.3 2.4.3 4.7.3 9.5.1 14.3"/></g></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -0,0 +1,21 @@
services:
backrest:
image: garethgeorge/backrest:v1.7.3
restart: unless-stopped
ports:
- 9898
environment:
- BACKREST_PORT=9898
- BACKREST_DATA=/data # where it stores current state data
- BACKREST_CONFIG=/config/config.json # where it stores backup configurations
- XDG_CACHE_HOME=/cache # backup cache
- TZ=${TZ}
volumes:
- backrest/data:/data
- backrest/config:/config
- backrest/config:/cache # to preserve backup cache between restarts
- /:/userdata:ro # we mount /mnt/data to /userdata (that we want to backup)
volumes:
backrest:
backrest-cache:

View File

@@ -0,0 +1,11 @@
[variables]
main_domain = "${domain}"
[config]
env = ["TZ=Europe/Paris"]
mounts = []
[[config.domains]]
serviceName = "backrest"
port = 9_898
host = "${main_domain}"

View File

@@ -3,10 +3,9 @@ variables:
config:
domains:
- serviceName: otterwiki
port: 80
- serviceName: backrest
port: 9898
host: ${main_domain}
env: []
env:
- TZ=Europe/Paris
mounts: []

View File

@@ -0,0 +1,16 @@
version: "3.8"
services:
baikal:
image: ckulka/baikal:nginx-php8.2
restart: unless-stopped
ports:
- 80
environment:
- TZ=UTC
volumes:
- config:/var/www/baikal/config
- data:/var/www/baikal/Specific
volumes:
config: {}
data: {}

BIN
blueprints/baikal/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

@@ -0,0 +1,8 @@
[variables]
main_domain = "${domain}"
[config]
[[config.domains]]
serviceName = "baikal"
port = 80
host = "${main_domain}"

View File

@@ -0,0 +1,13 @@
version: "3.8"
services:
barrage:
image: maulik9898/barrage:0.3.0
restart: unless-stopped
ports:
- 3000
environment:
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
- NEXTAUTH_URL=http://${DOMAIN}
- DELUGE_URL=${DELUGE_URL}
- DELUGE_PASSWORD=${DELUGE_PASSWORD}
- BARRAGE_PASSWORD=${BARRAGE_PASSWORD}

BIN
blueprints/barrage/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,15 @@
[variables]
main_domain = "${domain}"
[config]
[[config.domains]]
serviceName = "barrage"
port = 3000
host = "${main_domain}"
[config.env]
NEXTAUTH_SECRET = "${base64}"
NEXTAUTH_URL = "http://${main_domain}"
DELUGE_URL = "http://your-deluge-ip:8112"
DELUGE_PASSWORD = "${password:16}"
BARRAGE_PASSWORD = "${password:16}"

View File

@@ -0,0 +1,11 @@
[variables]
main_domain = "${domain}"
[config]
env = ["BASEROW_HOST=${main_domain}"]
mounts = []
[[config.domains]]
serviceName = "baserow"
port = 80
host = "${main_domain}"

View File

@@ -1,13 +0,0 @@
variables:
main_domain: ${domain}
config:
domains:
- serviceName: baserow
port: 80
host: ${main_domain}
env:
- BASEROW_HOST=${main_domain}
mounts: []

View File

@@ -0,0 +1,18 @@
version: "3.8"
services:
bazarr:
image: lscr.io/linuxserver/bazarr:1.5.1
restart: unless-stopped
ports:
- 6767
environment:
- PUID=1000
- PGID=1000
- TZ=UTC
volumes:
- config:/config
- ${MOVIES_PATH}:/movies
- ${TV_PATH}:/tv
volumes:
config: {}

BIN
blueprints/bazarr/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -0,0 +1,14 @@
[variables]
main_domain = "${domain}"
movies_path = "/path/to/movies"
tv_path = "/path/to/tv"
[config]
[[config.domains]]
serviceName = "bazarr"
port = 6767
host = "${main_domain}"
[config.env]
MOVIES_PATH = "${movies_path}"
TV_PATH = "${tv_path}"

View File

@@ -0,0 +1,13 @@
version: "3.8"
services:
beszel:
image: henrygd/beszel:0.9.1
restart: unless-stopped
ports:
- 8090
volumes:
- beszel_data:/beszel_data
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
beszel_data: {}

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 70" fill="#888"><path d="M35 70H0V0h35q4.4 0 8.2 1.7a21.4 21.4 0 0 1 6.6 4.5q2.9 2.8 4.5 6.6Q56 16.7 56 21a15.4 15.4 0 0 1-.3 3.2 17.6 17.6 0 0 1-.2.8 19.4 19.4 0 0 1-1.5 4 17 17 0 0 1-2.4 3.4 13.5 13.5 0 0 1-2.6 2.3 12.5 12.5 0 0 1-.4.3q1.7 1 3 2.5Q53 39.1 54 41a18.3 18.3 0 0 1 1.5 4 17.4 17.4 0 0 1 .5 3 15.3 15.3 0 0 1 0 1q0 4.4-1.7 8.2a21.4 21.4 0 0 1-4.5 6.6q-2.8 2.9-6.6 4.6Q39.4 70 35 70ZM14 14v14h21a7 7 0 0 0 2.3-.3 6.6 6.6 0 0 0 .4-.2Q39 27 40 26a6.9 6.9 0 0 0 1.5-2.2q.5-1.3.5-2.8a7 7 0 0 0-.4-2.3 6.6 6.6 0 0 0-.1-.4Q40.9 17 40 16a7 7 0 0 0-2.3-1.4 6.9 6.9 0 0 0-2.5-.6 7.9 7.9 0 0 0-.2 0H14Zm0 28v14h21a7 7 0 0 0 2.3-.4 6.6 6.6 0 0 0 .4-.1Q39 54.9 40 54a7 7 0 0 0 1.5-2.2 6.9 6.9 0 0 0 .5-2.6 7.9 7.9 0 0 0 0-.2 7 7 0 0 0-.4-2.3 6.6 6.6 0 0 0-.1-.4Q40.9 45 40 44a7 7 0 0 0-2.3-1.5 6.9 6.9 0 0 0-2.5-.6 7.9 7.9 0 0 0-.2 0H14Z"/></svg>

After

Width:  |  Height:  |  Size: 903 B

View File

@@ -0,0 +1,8 @@
[variables]
main_domain = "${domain}"
[config]
[[config.domains]]
serviceName = "beszel"
port = 8090
host = "${main_domain}"

View File

@@ -0,0 +1,18 @@
[variables]
main_domain = "${domain}"
[config]
env = [
"PUID=1000",
"PGID=1000",
"TZ=Etc/UTC",
"SUBFOLDER=/",
"NVIDIA_VISIBLE_DEVICES=all",
"NVIDIA_DRIVER_CAPABILITIES=all",
]
mounts = []
[[config.domains]]
serviceName = "blender"
port = 3_000
host = "${main_domain}"

View File

@@ -1,18 +0,0 @@
variables:
main_domain: ${domain}
config:
domains:
- serviceName: blender
port: 3000
host: ${main_domain}
env:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- SUBFOLDER=/
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=all
mounts: []

View File

@@ -0,0 +1,114 @@
<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1_3)">
<rect width="1024" height="1024" rx="267" fill="url(#paint0_linear_1_3)"/>
<g style="mix-blend-mode:overlay">
<line x1="17.4026" y1="-3069" x2="17.4026" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="50.2617" y1="-3069" x2="50.2617" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="83.1208" y1="-3069" x2="83.1208" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="115.98" y1="-3069" x2="115.98" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="148.839" y1="-3069" x2="148.839" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="181.698" y1="-3069" x2="181.698" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="214.557" y1="-3069" x2="214.557" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="247.417" y1="-3069" x2="247.417" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="280.276" y1="-3069" x2="280.276" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="313.135" y1="-3069" x2="313.135" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="345.994" y1="-3069" x2="345.994" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="378.853" y1="-3069" x2="378.853" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="411.712" y1="-3069" x2="411.712" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="444.571" y1="-3069" x2="444.571" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="477.43" y1="-3069" x2="477.43" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="510.289" y1="-3069" x2="510.289" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="543.149" y1="-3069" x2="543.149" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="576.008" y1="-3069" x2="576.008" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="608.867" y1="-3069" x2="608.867" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="641.726" y1="-3069" x2="641.726" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="674.585" y1="-3069" x2="674.585" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="707.444" y1="-3069" x2="707.444" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="740.304" y1="-3069" x2="740.304" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="773.163" y1="-3069" x2="773.163" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="806.022" y1="-3069" x2="806.022" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="838.881" y1="-3069" x2="838.881" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="871.74" y1="-3069" x2="871.74" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="904.599" y1="-3069" x2="904.599" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="937.458" y1="-3069" x2="937.458" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="970.317" y1="-3069" x2="970.317" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="1003.18" y1="-3069" x2="1003.18" y2="3881" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="11.5" x2="-15.9948" y2="11.4999" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="39.5" x2="-15.9948" y2="39.4999" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="67.5" x2="-15.9946" y2="67.4999" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="95.5" x2="-15.9945" y2="95.4999" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="123.5" x2="-15.9945" y2="123.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="151.5" x2="-15.9944" y2="151.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="179.5" x2="-15.9944" y2="179.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="207.5" x2="-15.9941" y2="207.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="235.5" x2="-15.9941" y2="235.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="263.5" x2="-15.994" y2="263.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="291.5" x2="-15.994" y2="291.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="319.5" x2="-15.9939" y2="319.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="347.5" x2="-15.9939" y2="347.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="375.5" x2="-15.9937" y2="375.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="403.5" x2="-15.9937" y2="403.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="431.5" x2="-15.9935" y2="431.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="459.5" x2="-15.9935" y2="459.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="487.5" x2="-15.9935" y2="487.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="515.5" x2="-15.9933" y2="515.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="543.5" x2="-15.9933" y2="543.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="571.5" x2="-15.9933" y2="571.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="599.5" x2="-15.9932" y2="599.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="627.5" x2="-15.9932" y2="627.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="655.5" x2="-15.993" y2="655.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="683.5" x2="-15.993" y2="683.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="711.5" x2="-15.9928" y2="711.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="739.5" x2="-15.9928" y2="739.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="767.5" x2="-15.9927" y2="767.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="795.5" x2="-15.9927" y2="795.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="823.5" x2="-15.9926" y2="823.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="851.5" x2="-15.9926" y2="851.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="879.5" x2="-15.9922" y2="879.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="907.5" x2="-15.9922" y2="907.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="935.5" x2="-15.9921" y2="935.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="963.5" x2="-15.9921" y2="963.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="991.5" x2="-15.9919" y2="991.5" stroke="white" stroke-opacity="0.2"/>
<line x1="1626.96" y1="1019.5" x2="-15.9919" y2="1019.5" stroke="white" stroke-opacity="0.2"/>
</g>
<circle cx="539" cy="531.521" r="273" fill="url(#paint1_linear_1_3)"/>
<path d="M196.206 267.647C184.176 273.707 182.142 294.177 182.763 306.932C182.98 311.386 185.812 315.214 189.96 316.852C213.92 326.313 246.186 327.787 255.979 328.481C264.787 329.105 264.339 324.454 263.493 319.88C263.148 318.011 262.198 316.289 260.776 315.027L212.568 272.269C207.954 268.178 201.713 264.873 196.206 267.647Z" fill="white" stroke="black"/>
<path d="M305.971 160.544C293.123 154.358 279.891 167.481 271.949 177.767C269.257 181.255 268.693 185.871 270.138 190.034C280.064 218.641 297.012 266.106 304.132 273.728C310.69 280.748 322.672 273.372 328.238 268.037C329.803 266.537 330.283 264.316 329.899 262.182L313.962 173.644C313.008 168.341 310.826 162.881 305.971 160.544Z" fill="white" stroke="black"/>
<circle opacity="0.37" cx="376.5" cy="455.021" r="61.5" fill="#FF2E3C"/>
<circle opacity="0.37" cx="551.5" cy="461.021" r="67.5" fill="#FF2E3C"/>
<g filter="url(#filter0_b_1_3)">
<circle cx="522" cy="554.521" r="273" fill="url(#paint2_linear_1_3)"/>
<circle cx="522" cy="554.521" r="272" stroke="url(#paint3_linear_1_3)" stroke-width="2"/>
</g>
<path d="M565.623 369.415L503.25 397.459C502.424 397.83 501.667 398.35 501.085 399.043C493.406 408.186 496.293 420.291 499.412 426.57C500.06 427.874 501.224 428.817 502.572 429.368L565.143 454.945C567.52 455.916 570.237 455.509 572.224 453.883L572.665 453.523C577.307 449.724 580 444.042 580 438.043V436.486C580 433.274 577.814 430.475 574.698 429.695L554 424.521L534.351 420.1C534.117 420.047 533.888 419.976 533.667 419.885C531.04 418.812 530.148 415.536 531.87 413.28L533.997 410.491C534.969 409.216 536.35 408.314 537.907 407.936L553.448 404.155C553.815 404.066 554.189 404.007 554.566 403.978L564.28 403.23C573.822 402.496 582.598 395.872 580.955 386.444C579.297 376.925 573.954 368.77 567.458 368.937C566.82 368.953 566.205 369.154 565.623 369.415Z" fill="black" stroke="black"/>
<ellipse cx="398.491" cy="403.257" rx="28" ry="33.5" transform="rotate(2.60014 398.491 403.257)" fill="black"/>
</g>
<defs>
<filter id="filter0_b_1_3" x="196.7" y="229.221" width="650.6" height="650.6" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feGaussianBlur in="BackgroundImageFix" stdDeviation="26.15"/>
<feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur_1_3"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur_1_3" result="shape"/>
</filter>
<linearGradient id="paint0_linear_1_3" x1="69" y1="48.5" x2="908" y2="998" gradientUnits="userSpaceOnUse">
<stop/>
<stop offset="1" stop-color="#20171B" stop-opacity="0.9"/>
</linearGradient>
<linearGradient id="paint1_linear_1_3" x1="539.041" y1="826.505" x2="539.041" y2="283.356" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFD000"/>
<stop offset="0.52" stop-color="#FFCA40"/>
<stop offset="1" stop-color="#FFE0F9"/>
</linearGradient>
<linearGradient id="paint2_linear_1_3" x1="279.825" y1="796.696" x2="764.175" y2="312.346" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0.2"/>
<stop offset="1" stop-color="white" stop-opacity="0.49"/>
</linearGradient>
<linearGradient id="paint3_linear_1_3" x1="287.541" y1="324.463" x2="743.946" y2="812.465" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<clipPath id="clip0_1_3">
<rect width="1024" height="1024" rx="267" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -0,0 +1,48 @@
version: "3.8"
services:
blinko-website:
image: blinkospace/blinko:latest
container_name: blinko-website
environment:
NODE_ENV: production
NEXTAUTH_SECRET: ${nextauth_secret}
DATABASE_URL: postgresql://postgres:${postgres_password}@blinko-postgres:5432/postgres
NEXTAUTH_URL: ${nextauth_url}
NEXT_PUBLIC_BASE_URL: ${next_public_base_url}
depends_on:
blinko-postgres:
condition: service_healthy
restart: always
logging:
options:
max-size: "10m"
max-file: "3"
ports:
- 1111:1111
healthcheck:
test: ["CMD", "curl", "-f", "http://blinko-website:1111/"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
blinko-postgres:
image: postgres:14
container_name: blinko-postgres
restart: always
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: ${postgres_password}
TZ: Asia/Shanghai
volumes:
- blinko-db:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]
interval: 5s
timeout: 10s
retries: 5
volumes:
blinko-db: {}

View File

@@ -0,0 +1,20 @@
[variables]
main_domain = "${domain}"
postgres_password = "${password:16}"
nextauth_secret = "${password:32}"
nextauth_url = "http://${main_domain}"
next_public_base_url = "http://${main_domain}"
[config]
env = [
"nextauth_secret=${nextauth_secret}",
"postgres_password=${postgres_password}",
"nextauth_url=${nextauth_url}",
"next_public_base_url=${next_public_base_url}",
]
mounts = []
[[config.domains]]
serviceName = "blinko-website"
port = 1_111
host = "${main_domain}"

View File

@@ -0,0 +1,20 @@
variables:
main_domain: ${domain}
postgres_password: ${password:16}
nextauth_secret: ${password:32}
nextauth_url: http://${main_domain}
next_public_base_url: http://${main_domain}
config:
domains:
- serviceName: blinko-website
port: 1111
host: ${main_domain}
env:
- nextauth_secret=${nextauth_secret}
- postgres_password=${postgres_password}
- nextauth_url=${nextauth_url}
- next_public_base_url=${next_public_base_url}
mounts: []

View File

@@ -0,0 +1,35 @@
version: "3.8"
services:
bookstack:
image: lscr.io/linuxserver/bookstack:24.12.1
restart: unless-stopped
ports:
- 80
environment:
- PUID=1000
- PGID=1000
- APP_URL=http://${DOMAIN}
- DB_HOST=bookstack-db
- DB_USERNAME=mariadb
- DB_PASSWORD=${DB_PASSWORD}
- DB_DATABASE=bookstack
- APP_KEY=${APP_KEY}
volumes:
- config:/config
depends_on:
- bookstack-db
bookstack-db:
image: mariadb:10.11
restart: unless-stopped
environment:
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
- MYSQL_DATABASE=bookstack
- MYSQL_USER=mariadb
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- db_data:/var/lib/mysql
volumes:
config: {}
db_data: {}

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" height="61.699mm" width="65.023mm" version="1.1" viewBox="0 0 230.39711 218.6199">
<g stroke-linejoin="round" fill-rule="evenodd" transform="translate(-245.27 -58.434)" stroke="#0288d1" stroke-width="6" fill="#fff">
<g stroke-linecap="round">
<path d="m343.79 238.6 128.88-74.409-92.058-53.15-128.88 74.409z"></path>
<path d="m251.73 185.45v21.26l92.058 53.15 128.88-74.409v-21.26"></path>
<path d="m343.79 274.03-92.058-53.15s-7.5-16.918 0-28.346l92.058 53.15 128.88-74.409v28.346l-128.88 74.409"></path>
<path d="m343.79 188.99 128.88-74.41-92.06-53.146-128.88 74.406z"></path>
<path d="m343.79 188.99 128.88-74.409 0.00001 28.346-128.88 74.409-92.058-53.15s-6.0714-17.632 0-28.346z"></path>
<path d="m343.79 245.69-92.058-53.15s-7.5-16.918 0-28.346l92.058 53.15 128.88-74.409-0.00001 28.346-128.88 74.409"></path>
</g>
<path d="m402.09 73.836-55.234 31.89 21.48 1.7716 3.0686 12.402 55.235-31.89z"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 986 B

View File

@@ -0,0 +1,15 @@
[variables]
main_domain = "${domain}"
db_password = "${password:16}"
app_key = "${password:32}"
[config]
[[config.domains]]
serviceName = "bookstack"
port = 80
host = "${main_domain}"
[config.env]
DOMAIN = "${main_domain}"
DB_PASSWORD = "${db_password}"
APP_KEY = "${app_key}"

View File

@@ -0,0 +1,34 @@
version: "3.8"
services:
botpress:
image: botpress/server:12.31.9
restart: unless-stopped
ports:
- 81
environment:
- BP_HOST=0.0.0.0
- NODE_ENV=production
- PG_HOST=botpress-db
- PG_PORT=5432
- PG_USER=postgres
- PG_PASSWORD=${DB_PASSWORD}
- PG_SSL=false
- PORT=80
volumes:
- data:/botpress/data
depends_on:
- botpress-db
botpress-db:
image: postgres:15-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=botpress
volumes:
- db_data:/var/lib/postgresql/data
volumes:
data: {}
db_data: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
db_password = "${password:16}"
[config]
[[config.domains]]
serviceName = "botpress"
port = 81
host = "${main_domain}"
[config.env]
DB_PASSWORD = "${db_password}"

View File

@@ -0,0 +1,15 @@
[variables]
main_domain = "${domain}"
browserless_token = "${password:16}"
[config]
env = [
"BROWERLESS_HOST=${main_domain}",
"BROWSERLESS_TOKEN=${browserless_token}",
]
mounts = []
[[config.domains]]
serviceName = "browserless"
port = 3_000
host = "${main_domain}"

View File

@@ -1,15 +0,0 @@
variables:
main_domain: ${domain}
browserless_token: ${password:16}
config:
domains:
- serviceName: browserless
port: 3000
host: ${main_domain}
env:
- BROWERLESS_HOST=${main_domain}
- BROWSERLESS_TOKEN=${browserless_token}
mounts: []

View File

@@ -0,0 +1,29 @@
[variables]
main_domain = "${domain}"
api_key = "${password:32}"
encryption_key = "${password:32}"
jwt_secret = "${password:32}"
couchdb_password = "${password:32}"
redis_password = "${password:32}"
minio_access_key = "${password:32}"
minio_secret_key = "${password:32}"
watchtower_password = "${password:32}"
[config]
env = [
"BB_HOST=${main_domain}",
"BB_INTERNAL_API_KEY=${api_key}",
"BB_API_ENCRYPTION_KEY=${encryption_key}",
"BB_JWT_SECRET=${jwt_secret}",
"BB_COUCHDB_PASSWORD=${couchdb_password}",
"BB_REDIS_PASSWORD=${redis_password}",
"BB_WATCHTOWER_PASSWORD=${watchtower_password}",
"BB_MINIO_ACCESS_KEY=${minio_access_key}",
"BB_MINIO_SECRET_KEY=${minio_secret_key}",
]
mounts = []
[[config.domains]]
serviceName = "proxy"
port = 10_000
host = "${main_domain}"

View File

@@ -1,29 +0,0 @@
variables:
main_domain: ${domain}
api_key: ${password:32}
encryption_key: ${password:32}
jwt_secret: ${password:32}
couchdb_password: ${password:32}
redis_password: ${password:32}
minio_access_key: ${password:32}
minio_secret_key: ${password:32}
watchtower_password: ${password:32}
config:
domains:
- serviceName: proxy
port: 10000
host: ${main_domain}
env:
- BB_HOST=${main_domain}
- BB_INTERNAL_API_KEY=${api_key}
- BB_API_ENCRYPTION_KEY=${encryption_key}
- BB_JWT_SECRET=${jwt_secret}
- BB_COUCHDB_PASSWORD=${couchdb_password}
- BB_REDIS_PASSWORD=${redis_password}
- BB_WATCHTOWER_PASSWORD=${watchtower_password}
- BB_MINIO_ACCESS_KEY=${minio_access_key}
- BB_MINIO_SECRET_KEY=${minio_secret_key}
mounts: []

View File

@@ -0,0 +1,27 @@
version: "3.8"
services:
bytebase:
image: bytebase/bytebase:3.3.0
restart: unless-stopped
ports:
- 8080
environment:
- PG_URL=postgres://postgres:${DB_PASSWORD}@bytebase-db:5432/bytebase
volumes:
- data:/var/opt/bytebase
depends_on:
- bytebase-db
bytebase-db:
image: postgres:13
restart: unless-stopped
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=bytebase
volumes:
- db_data:/var/lib/postgresql/data
volumes:
data: {}
db_data: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@@ -0,0 +1,12 @@
[variables]
main_domain = "${domain}"
db_password = "${password:16}"
[config]
[[config.domains]]
serviceName = "bytebase"
port = 8080
host = "${main_domain}"
[config.env]
DB_PASSWORD = "${db_password}"

View File

@@ -0,0 +1,27 @@
version: '3.8'
services:
bytestash:
image: ghcr.io/jordan-dalby/bytestash:1.5.6
restart: unless-stopped
ports:
- "5000"
environment:
- BASE_PATH=
- JWT_SECRET=${JWT_SECRET}
- TOKEN_EXPIRY=24h
- ALLOW_NEW_ACCOUNTS=true
- DEBUG=true
- DISABLE_ACCOUNTS=false
- DISABLE_INTERNAL_ACCOUNTS=false
- OIDC_ENABLED=false
- OIDC_DISPLAY_NAME=
- OIDC_ISSUER_URL=
- OIDC_CLIENT_ID=
- OIDC_CLIENT_SECRET=
- OIDC_SCOPES=
volumes:
- snippets:/data/snippets
volumes:
snippets:

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -0,0 +1,11 @@
[variables]
jwt_secret = "${password:32}"
[config]
[[config.domains]]
serviceName = "bytestash"
port = 5000
host = "${domain}"
[config.env]
JWT_SECRET = "${jwt_secret}"

View File

@@ -0,0 +1,17 @@
[variables]
main_domain = "${domain}"
calcom_encryption_key = "${base64:32}"
nextauth_secret = "${base64:32}"
[config]
env = [
"CALCOM_HOST=${main_domain}",
"NEXTAUTH_SECRET=${nextauth_secret}",
"CALENDSO_ENCRYPTION_KEY=${calcom_encryption_key}",
]
mounts = []
[[config.domains]]
serviceName = "calcom"
port = 3_000
host = "${main_domain}"

Some files were not shown because too many files have changed in this diff Show More