Merge branch 'coollabsio:v4.x' into add-opnform-template

This commit is contained in:
alexbaron-dev authored and GitHub committed 2025-10-19 16:19:41 +02:00
commit 37ef9eb3bc
1172 files changed
+75197 -16105

No files matched your search

+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://www.activepieces.com/docs/getting-started/introduction
# slogan: Open source no-code business automation.
# category: automation
# tags: workflow, automation, no code, open source
# logo: svgs/activepieces.png
# port: 80
@@ -8,13 +9,13 @@ services:
activepieces:
image: "ghcr.io/activepieces/activepieces:latest"
environment:
- SERVICE_FQDN_ACTIVEPIECES
- SERVICE_URL_ACTIVEPIECES
- AP_API_KEY=$SERVICE_PASSWORD_64_APIKEY
- AP_ENCRYPTION_KEY=$SERVICE_PASSWORD_ENCRYPTIONKEY
- AP_ENGINE_EXECUTABLE_PATH=${AP_ENGINE_EXECUTABLE_PATH:-dist/packages/engine/main.js}
- AP_ENVIRONMENT=${AP_ENVIRONMENT:-prod}
- AP_EXECUTION_MODE=${AP_EXECUTION_MODE:-UNSANDBOXED}
- AP_FRONTEND_URL=${SERVICE_FQDN_ACTIVEPIECES}
- AP_FRONTEND_URL=${SERVICE_URL_ACTIVEPIECES}
- AP_JWT_SECRET=$SERVICE_PASSWORD_64_JWT
- AP_POSTGRES_DATABASE=${POSTGRES_DB:-activepieces}
- AP_POSTGRES_HOST=${POSTGRES_HOST:-postgres}
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://actualbudget.org/docs/install/docker
# slogan: A local-first personal finance app.
# category: productivity
# tags: budgeting,actual,finance,budget,money,expenses,income
# logo: svgs/actualbudget.png
# port: 5006
@@ -8,7 +9,7 @@ services:
actual_server:
image: actualbudget/actual-server:latest
environment:
- SERVICE_FQDN_ACTUAL_5006
- SERVICE_URL_ACTUAL_5006
- ACTUAL_LOGIN_METHOD=password
volumes:
- actual_data:/data
+25 -11
View File
@@ -1,19 +1,16 @@
# documentation: https://docs.affine.pro/docs/self-host-affine
# slogan: Affine is an open-source, all-in-one workspace and OS for knowledge management, a Notion/Miro alternative.
# category: productivity
# tags: knowledge-management,notion,miro,workspace
# logo: svgs/affine.svg
# port: 3010
services:
affine:
image: ghcr.io/toeverything/affine-graphql:stable
command:
- sh
- '-c'
- 'node ./scripts/self-host-predeploy && node ./dist/index.js'
image: ghcr.io/toeverything/affine:stable
depends_on:
redis:
condition: service_healthy
condition: service_healthy
postgres:
condition: service_healthy
volumes:
@@ -24,14 +21,13 @@ services:
options:
max-size: 1000m
environment:
- SERVICE_FQDN_AFFINE_3010
- NODE_OPTIONS=--import=./scripts/register.js
- SERVICE_URL_AFFINE_3010
- AFFINE_CONFIG_PATH=/root/.affine/config
- REDIS_SERVER_HOST=redis
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-affine}
- NODE_ENV=production
- AFFINE_SERVER_HOST=$SERVICE_FQDN_AFFINE
- AFFINE_SERVER_EXTERNAL_URL=$SERVICE_FQDN_AFFINE
- AFFINE_SERVER_HOST=$SERVICE_URL_AFFINE
- AFFINE_SERVER_EXTERNAL_URL=$SERVICE_URL_AFFINE
- MAILER_HOST=${MAILER_HOST}
- MAILER_PORT=${MAILER_PORT}
- MAILER_USER=${MAILER_USER}
@@ -46,6 +42,24 @@ services:
timeout: 20s
retries: 3
affine_migration:
exclude_from_hc: true
image: ghcr.io/toeverything/affine:${AFFINE_REVISION:-stable}
restart: on-failure
volumes:
- affine-storage:/root/.affine/storage
- affine-config:/root/.affine/config
command: ['sh', '-c', 'node ./scripts/self-host-predeploy.js']
environment:
- REDIS_SERVER_HOST=redis
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-affine}
- AFFINE_INDEXER_ENABLED=false
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
redis:
image: redis
volumes:
@@ -61,7 +75,7 @@ services:
timeout: 5s
retries: 5
postgres:
image: postgres:16
image: pgvector/pgvector:pg16
volumes:
- affine-postgres-data:/var/lib/postgresql/data
healthcheck:
+3 -2
View File
@@ -1,6 +1,7 @@
# documentation: https://docs.anythingllm.com/installation-docker/overview
# slogan: AnythingLLM is the easiest to use, all-in-one AI application that can do RAG, AI Agents, and much more with no code or infrastructure headaches.
# tags: lowcode, nocode, ai, llm, openai, anthropic, machine-learning, rag, agents, chatbot, api, team, bot
# category: ai
# tags: lowcode, nocode, llm, openai, anthropic, machine-learning, rag, agents, chatbot, api, team, bot
# logo: svgs/anythingllm.svg
# port: 3001
@@ -8,7 +9,7 @@ services:
anything-llm:
image: mintplexlabs/anythingllm
environment:
- SERVICE_FQDN_ANYTHINGLLM_3001
- SERVICE_URL_ANYTHINGLLM_3001
- STORAGE_DIR=/app/server/storage
- DISABLE_TELEMETRY=${DISABLE_TELEMETRY:-true}
- PASSWORDLOWERCASE=${PASSWORDLOWERCASE:-1}
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.linuxserver.io/images/docker-apprise-api/
# slogan: Push Notifications API
# category: automation
# tags: api, apprise
# logo: svgs/apprise.png
# port: 8000
@@ -8,7 +9,7 @@ services:
apprise-api:
image: linuxserver/apprise-api:latest
environment:
- SERVICE_FQDN_APPRISE_8000
- SERVICE_URL_APPRISE_8000
- PUID=1000
- PGID=1000
- TZ=UTC
+3 -2
View File
@@ -1,13 +1,14 @@
# documentation: https://appsmith.com
# slogan: A low-code application platform for building internal tools.
# tags: lowcode,nocode,no,low,platform
# category: productivity
# tags: lowcode, nocode, no, low, platform
# logo: svgs/appsmith.svg
services:
appsmith:
image: index.docker.io/appsmith/appsmith-ce:latest
environment:
- SERVICE_FQDN_APPSMITH
- SERVICE_URL_APPSMITH
- APPSMITH_MAIL_ENABLED=${APPSMITH_MAIL_ENABLED:-false}
- APPSMITH_DISABLE_TELEMETRY=${APPSMITH_DISABLE_TELEMETRY:-false}
- APPSMITH_DISABLE_INTERCOM=${APPSMITH_DISABLE_INTERCOM:-true}
+189 -73
View File
@@ -1,30 +1,37 @@
# documentation: https://appwrite.io
# slogan: A backend-as-a-service platform that simplifies the web & mobile app development.
# tags: backend-as-a-service, platform
# category: backend
# tags: backend, backend-as-a-service, platform
# logo: svgs/appwrite.svg
services:
appwrite:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
container_name: appwrite
volumes:
- appwrite-uploads:/storage/uploads:rw
- appwrite-imports:/storage/imports:rw
- appwrite-cache:/storage/cache:rw
- appwrite-config:/storage/config:rw
- appwrite-certificates:/storage/certificates:rw
- appwrite-functions:/storage/functions:rw
- appwrite-sites:/storage/sites:rw
- appwrite-builds:/storage/builds:rw
depends_on:
- appwrite-mariadb
- appwrite-redis
environment:
- SERVICE_FQDN_APPWRITE=/
- SERVICE_URL_APPWRITE=/
- _APP_ENV=${_APP_ENV:-production}
- _APP_EDITION=${_APP_EDITION:-self-hosted}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_LOCALE=${_APP_LOCALE:-en}
- _APP_COMPRESSION_MIN_SIZE_BYTES=${_APP_COMPRESSION_MIN_SIZE_BYTES}
- _APP_CONSOLE_WHITELIST_ROOT=${_APP_CONSOLE_WHITELIST_ROOT:-enabled}
- _APP_CONSOLE_WHITELIST_EMAILS=${_APP_CONSOLE_WHITELIST_EMAILS}
- _APP_CONSOLE_SESSION_ALERTS=${_APP_CONSOLE_SESSION_ALERTS}
- _APP_CONSOLE_WHITELIST_IPS=${_APP_CONSOLE_WHITELIST_IPS}
- _APP_CONSOLE_HOSTNAMES=${_APP_CONSOLE_HOSTNAMES:-localhost,appwrite.io,*.appwrite.io}
- _APP_CONSOLE_HOSTNAMES=${_APP_CONSOLE_HOSTNAMES}
- _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite}
- _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io}
- _APP_SYSTEM_TEAM_EMAIL=${_APP_SYSTEM_TEAM_EMAIL:-team@appwrite.io}
@@ -33,11 +40,16 @@ services:
- _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled}
- _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION:-disabled}
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled}
- _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS:-disabled}
- _APP_OPTIONS_ROUTER_FORCE_HTTPS=${_APP_OPTIONS_ROUTER_FORCE_HTTPS:-disabled}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_FUNCTIONS=$SERVICE_URL_APPWRITE
- _APP_CONSOLE_DOMAIN=${_APP_CONSOLE_DOMAIN}
- _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE}
- _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME:-localhost}
- _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA:-::1}
- _APP_DOMAIN_TARGET_A=${_APP_DOMAIN_TARGET_A:-127.0.0.1}
- _APP_DOMAIN_TARGET_CAA=${_APP_DOMAIN_TARGET_CAA}
- _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.$SERVICE_FQDN_APPWRITE}
- _APP_DNS=${_APP_DNS}
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -63,6 +75,7 @@ services:
- _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
- _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1}
- _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET}
- _APP_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT}
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY}
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET}
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1}
@@ -79,21 +92,26 @@ services:
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET}
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1}
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
- _APP_FUNCTIONS_SIZE_LIMIT=${_APP_FUNCTIONS_SIZE_LIMIT:-30000000}
- _APP_COMPUTE_SIZE_LIMIT=${_APP_COMPUTE_SIZE_LIMIT:-30000000}
- _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900}
- _APP_FUNCTIONS_BUILD_TIMEOUT=${_APP_FUNCTIONS_BUILD_TIMEOUT:-900}
- _APP_FUNCTIONS_CPUS=${_APP_FUNCTIONS_CPUS:-0}
- _APP_FUNCTIONS_MEMORY=${_APP_FUNCTIONS_MEMORY:-0}
- _APP_SITES_TIMEOUT=${_APP_SITES_TIMEOUT:-900}
- _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-900}
- _APP_COMPUTE_CPUS=${_APP_COMPUTE_CPUS:-0}
- _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0}
- _APP_FUNCTIONS_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES:-node-20.0,php-8.2,python-3.11,ruby-3.2}
- _APP_SITES_RUNTIMES=${_APP_SITES_RUNTIMES}
- _APP_DOMAIN_SITES=${_APP_DOMAIN_SITES:-sites.$SERVICE_FQDN_APPWRITE}
- _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL:-86400}
- _APP_MAINTENANCE_DELAY=${_APP_MAINTENANCE_DELAY}
- _APP_MAINTENANCE_START_TIME=${_APP_MAINTENANCE_START_TIME}
- _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION:-1209600}
- _APP_MAINTENANCE_RETENTION_CACHE=${_APP_MAINTENANCE_RETENTION_CACHE:-2592000}
- _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400}
- _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600}
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE=${_APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE}
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000}
- _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400}
- _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER}
@@ -110,25 +128,37 @@ services:
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID=${_APP_MIGRATIONS_FIREBASE_CLIENT_ID}
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET}
- _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY}
- _APP_MESSAGE_SMS_TEST_DSN=${_APP_MESSAGE_SMS_TEST_DSN}
- _APP_MESSAGE_EMAIL_TEST_DSN=${_APP_MESSAGE_EMAIL_TEST_DSN}
- _APP_MESSAGE_PUSH_TEST_DSN=${_APP_MESSAGE_PUSH_TEST_DSN}
- _APP_CONSOLE_COUNTRIES_DENYLIST=${_APP_CONSOLE_COUNTRIES_DENYLIST}
- _APP_EXPERIMENT_LOGGING_PROVIDER=${_APP_EXPERIMENT_LOGGING_PROVIDER}
- _APP_EXPERIMENT_LOGGING_CONFIG=${_APP_EXPERIMENT_LOGGING_CONFIG}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
- _APP_DATABASE_SHARED_TABLES_V1=${_APP_DATABASE_SHARED_TABLES_V1}
- _APP_DATABASE_SHARED_NAMESPACE=${_APP_DATABASE_SHARED_NAMESPACE}
- _APP_FUNCTIONS_CREATION_ABUSE_LIMIT=${_APP_FUNCTIONS_CREATION_ABUSE_LIMIT}
- _APP_CUSTOM_DOMAIN_DENY_LIST=${_APP_CUSTOM_DOMAIN_DENY_LIST}
appwrite-console:
image: appwrite/console:5.0.12
image: appwrite/console:6.1.28
container_name: appwrite-console
environment:
- SERVICE_FQDN_APPWRITE=/console
- SERVICE_URL_APPWRITE=/console
appwrite-realtime:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: realtime
container_name: appwrite-realtime
depends_on:
- appwrite-mariadb
- appwrite-redis
environment:
- SERVICE_FQDN_APPWRITE=/v1/realtime
- SERVICE_URL_APPWRITE=/v1/realtime
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled}
- _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION:-disabled}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
@@ -141,9 +171,10 @@ services:
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-audits:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: worker-audits
container_name: appwrite-worker-audits
depends_on:
@@ -163,9 +194,10 @@ services:
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-webhooks:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: worker-webhooks
container_name: appwrite-worker-webhooks
depends_on:
@@ -187,9 +219,11 @@ services:
- _APP_REDIS_USER=${_APP_REDIS_USER}
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_WEBHOOK_MAX_FAILED_ATTEMPTS=${_APP_WEBHOOK_MAX_FAILED_ATTEMPTS}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-deletes:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: worker-deletes
container_name: appwrite-worker-deletes
depends_on:
@@ -199,6 +233,7 @@ services:
- appwrite-uploads:/storage/uploads:rw
- appwrite-cache:/storage/cache:rw
- appwrite-functions:/storage/functions:rw
- appwrite-sites:/storage/sites:rw
- appwrite-builds:/storage/builds:rw
- appwrite-certificates:/storage/certificates:rw
environment:
@@ -215,10 +250,11 @@ services:
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
- _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY:-local}
- _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY}
- _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
- _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1}
- _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET}
- _APP_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT}
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY}
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET}
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1}
@@ -238,12 +274,14 @@ services:
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
- _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
- _APP_DATABASE_SHARED_TABLES_V1=${_APP_DATABASE_SHARED_TABLES_V1}
- _APP_EMAIL_CERTIFICATES=${_APP_EMAIL_CERTIFICATES}
- _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600}
- _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION:-1209600}
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE=${_APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE}
appwrite-worker-databases:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: worker-databases
container_name: appwrite-worker-databases
depends_on:
@@ -263,9 +301,12 @@ services:
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_WORKERS_NUM=${_APP_WORKERS_NUM}
- _APP_QUEUE_NAME=${_APP_QUEUE_NAME}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-builds:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: worker-builds
container_name: appwrite-worker-builds
depends_on:
@@ -273,7 +314,9 @@ services:
- appwrite-mariadb
volumes:
- appwrite-functions:/storage/functions:rw
- appwrite-sites:/storage/sites:rw
- appwrite-builds:/storage/builds:rw
- appwrite-uploads:/storage/uploads:rw
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
@@ -294,18 +337,20 @@ services:
- _APP_VCS_GITHUB_PRIVATE_KEY=${_APP_VCS_GITHUB_PRIVATE_KEY}
- _APP_VCS_GITHUB_APP_ID=${_APP_VCS_GITHUB_APP_ID}
- _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900}
- _APP_FUNCTIONS_BUILD_TIMEOUT=${_APP_FUNCTIONS_BUILD_TIMEOUT:-900}
- _APP_FUNCTIONS_CPUS=${_APP_FUNCTIONS_CPUS:-0}
- _APP_FUNCTIONS_MEMORY=${_APP_FUNCTIONS_MEMORY:-0}
- _APP_FUNCTIONS_SIZE_LIMIT=${_APP_FUNCTIONS_SIZE_LIMIT:-30000000}
- _APP_SITES_TIMEOUT=${_APP_SITES_TIMEOUT:-900}
- _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-900}
- _APP_COMPUTE_CPUS=${_APP_COMPUTE_CPUS:-0}
- _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0}
- _APP_COMPUTE_SIZE_LIMIT=${_APP_COMPUTE_SIZE_LIMIT:-30000000}
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled}
- _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS:-disabled}
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_OPTIONS_ROUTER_FORCE_HTTPS=${_APP_OPTIONS_ROUTER_FORCE_HTTPS:-disabled}
- _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE}
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
- _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY:-local}
- _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY}
- _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
- _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1}
- _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET}
- _APP_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT}
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY}
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET}
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1}
@@ -322,9 +367,13 @@ services:
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET}
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1}
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
- _APP_DOMAIN_SITES=${_APP_DOMAIN_SITES:-sites.$SERVICE_FQDN_APPWRITE}
- _APP_BROWSER_HOST=${_APP_BROWSER_HOST}
- _APP_CONSOLE_DOMAIN=${_APP_CONSOLE_DOMAIN}
appwrite-worker-certificates:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: worker-certificates
container_name: appwrite-worker-certificates
depends_on:
@@ -337,11 +386,14 @@ services:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_FUNCTIONS=$SERVICE_URL_APPWRITE
- _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE}
- _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME}
- _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA}
- _APP_DOMAIN_TARGET_A=${_APP_DOMAIN_TARGET_A}
- _APP_DOMAIN_TARGET_CAA=${_APP_DOMAIN_TARGET_CAA}
- _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.$SERVICE_FQDN_APPWRITE}
- _APP_DNS=${_APP_DNS}
- _APP_EMAIL_CERTIFICATES=${_APP_EMAIL_CERTIFICATES:-enabled}
- _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io}
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -352,9 +404,10 @@ services:
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-functions:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: worker-functions
container_name: appwrite-worker-functions
depends_on:
@@ -365,7 +418,7 @@ services:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE}
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled}
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
@@ -377,22 +430,26 @@ services:
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900}
- _APP_FUNCTIONS_BUILD_TIMEOUT=${_APP_FUNCTIONS_BUILD_TIMEOUT:-900}
- _APP_FUNCTIONS_CPUS=${_APP_FUNCTIONS_CPUS:-0}
- _APP_FUNCTIONS_MEMORY=${_APP_FUNCTIONS_MEMORY:-0}
- _APP_SITES_TIMEOUT=${_APP_SITES_TIMEOUT:-900}
- _APP_COMPUTE_BUILD_TIMEOUT=${_APP_COMPUTE_BUILD_TIMEOUT:-900}
- _APP_COMPUTE_CPUS=${_APP_COMPUTE_CPUS:-0}
- _APP_COMPUTE_MEMORY=${_APP_COMPUTE_MEMORY:-0}
- _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
- _APP_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME}
- _APP_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-mails:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: worker-mails
container_name: appwrite-worker-mails
depends_on:
- appwrite-redis
- appwrite-mariadb
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
@@ -414,10 +471,12 @@ services:
- _APP_SMTP_USERNAME=${_APP_SMTP_USERNAME}
- _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE}
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-messaging:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: worker-messaging
container_name: appwrite-worker-messaging
volumes:
@@ -440,11 +499,13 @@ services:
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_SMS_FROM=${_APP_SMS_FROM}
- _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER}
- _APP_SMS_PROJECTS_DENY_LIST=${_APP_SMS_PROJECTS_DENY_LIST}
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
- _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY}
- _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
- _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1}
- _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET}
- _APP_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT}
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY}
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET}
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1}
@@ -461,19 +522,26 @@ services:
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET}
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1}
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-migrations:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: worker-migrations
container_name: appwrite-worker-migrations
volumes:
- appwrite-imports:/storage/imports:rw
depends_on:
- appwrite-mariadb
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_URL_APPWRITE
- _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE}
- _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME}
- _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA}
- _APP_DOMAIN_TARGET_A=${_APP_DOMAIN_TARGET_A}
- _APP_DOMAIN_TARGET_CAA=${_APP_DOMAIN_TARGET_CAA}
- _APP_DNS=${_APP_DNS}
- _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io}
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
@@ -487,9 +555,10 @@ services:
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID=${_APP_MIGRATIONS_FIREBASE_CLIENT_ID}
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-task-maintenance:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: maintenance
container_name: appwrite-task-maintenance
depends_on:
@@ -497,9 +566,13 @@ services:
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_FUNCTIONS=$SERVICE_URL_APPWRITE
- _APP_DOMAIN=${_APP_DOMAIN:-$SERVICE_FQDN_APPWRITE}
- _APP_DOMAIN_TARGET_CNAME=${_APP_DOMAIN_TARGET_CNAME}
- _APP_DOMAIN_TARGET_AAAA=${_APP_DOMAIN_TARGET_AAAA}
- _APP_DOMAIN_TARGET_A=${_APP_DOMAIN_TARGET_A}
- _APP_DOMAIN_TARGET_CAA=${_APP_DOMAIN_TARGET_CAA}
- _APP_DOMAIN_FUNCTIONS=${_APP_DOMAIN_FUNCTIONS:-functions.$SERVICE_FQDN_APPWRITE}
- _APP_DNS=${_APP_DNS}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
@@ -510,19 +583,21 @@ services:
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL}
- _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION}
- _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL:-86400}
- _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION:-1209600}
- _APP_MAINTENANCE_RETENTION_CACHE=${_APP_MAINTENANCE_RETENTION_CACHE:-2592000}
- _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400}
- _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600}
- _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE=${_APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE}
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000}
- _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400}
- _APP_MAINTENANCE_START_TIME=${_APP_MAINTENANCE_START_TIME}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-usage:
image: appwrite/appwrite:1.6.0
entrypoint: worker-usage
container_name: appwrite-worker-usage
restart: unless-stopped
appwrite-task-stats-resources:
image: appwrite/appwrite:1.7.4
container_name: appwrite-task-stats-resources
entrypoint: stats-resources
depends_on:
- appwrite-redis
- appwrite-mariadb
@@ -541,12 +616,37 @@ services:
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
- _APP_STATS_RESOURCES_INTERVAL=${_APP_STATS_RESOURCES_INTERVAL}
appwrite-worker-usage-dump:
image: appwrite/appwrite:1.6.0
entrypoint: worker-usage-dump
container_name: appwrite-worker-usage-dump
appwrite-worker-stats-resources:
image: appwrite/appwrite:1.7.4
entrypoint: worker-stats-resources
container_name: appwrite-worker-stats-resources
depends_on:
- appwrite-redis
- appwrite-mariadb
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_STATS_RESOURCES_INTERVAL=${_APP_STATS_RESOURCES_INTERVAL}
appwrite-worker-stats-usage:
image: appwrite/appwrite:1.7.4
entrypoint: worker-stats-usage
container_name: appwrite-worker-stats-usage
depends_on:
- appwrite-redis
- appwrite-mariadb
@@ -566,9 +666,10 @@ services:
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-task-scheduler-functions:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: schedule-functions
container_name: appwrite-task-scheduler-functions
depends_on:
@@ -587,9 +688,10 @@ services:
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-task-scheduler-executions:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: schedule-executions
container_name: appwrite-task-scheduler-executions
depends_on:
@@ -608,9 +710,10 @@ services:
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-task-scheduler-messages:
image: appwrite/appwrite:1.6.0
image: appwrite/appwrite:1.7.4
entrypoint: schedule-messages
container_name: appwrite-task-scheduler-messages
depends_on:
@@ -629,40 +732,50 @@ services:
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-assistant:
image: appwrite/assistant:0.4.0
image: appwrite/assistant:0.8.3
container_name: appwrite-assistant
environment:
- _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY}
appwrite-browser:
image: appwrite/browser:0.2.4
container_name: appwrite-browser
hostname: appwrite-browser
openruntimes-executor:
container_name: openruntimes-executor
hostname: appwrite-executor
stop_signal: SIGINT
image: openruntimes/executor:0.6.11
image: openruntimes/executor:0.8.6
networks:
- runtimes
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- appwrite-builds:/storage/builds:rw
- appwrite-functions:/storage/functions:rw
- appwrite-sites:/storage/sites:rw
- /tmp:/tmp:rw
environment:
- OPR_EXECUTOR_INACTIVE_TRESHOLD=${_APP_FUNCTIONS_INACTIVE_THRESHOLD}
- OPR_EXECUTOR_MAINTENANCE_INTERVAL=${_APP_FUNCTIONS_MAINTENANCE_INTERVAL}
- OPR_EXECUTOR_NETWORK=${_APP_FUNCTIONS_RUNTIMES_NETWORK:-runtimes}
- OPR_EXECUTOR_IMAGE_PULL=disabled
- OPR_EXECUTOR_INACTIVE_TRESHOLD=${_APP_COMPUTE_INACTIVE_THRESHOLD}
- OPR_EXECUTOR_MAINTENANCE_INTERVAL=${_APP_COMPUTE_MAINTENANCE_INTERVAL}
- OPR_EXECUTOR_NETWORK=${_APP_COMPUTE_RUNTIMES_NETWORK:-runtimes}
- OPR_EXECUTOR_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME}
- OPR_EXECUTOR_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD}
- OPR_EXECUTOR_ENV=${_APP_ENV:-production}
- OPR_EXECUTOR_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES}
- OPR_EXECUTOR_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES},${_APP_SITES_RUNTIMES}
- OPR_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
- OPR_EXECUTOR_RUNTIME_VERSIONS=v5
- OPR_EXECUTOR_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- OPR_EXECUTOR_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
- OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY:-local}
- OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY}
- OPR_EXECUTOR_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
- OPR_EXECUTOR_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION}
- OPR_EXECUTOR_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET}
- OPR_EXECUTOR_STORAGE_S3_ENDPOINT=${_APP_STORAGE_S3_ENDPOINT}
- OPR_EXECUTOR_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY}
- OPR_EXECUTOR_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET}
- OPR_EXECUTOR_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION}
@@ -703,6 +816,7 @@ services:
--maxmemory-samples 5
volumes:
- appwrite-redis:/data:rw
networks:
runtimes:
name: runtimes
@@ -712,7 +826,9 @@ volumes:
appwrite-redis:
appwrite-cache:
appwrite-uploads:
appwrite-imports:
appwrite-certificates:
appwrite-functions:
appwrite-sites:
appwrite-builds:
appwrite-config:
+3 -1
View File
@@ -1,14 +1,16 @@
# documentation: https://docs.argilla.io/latest/
# slogan: Argilla is a collaboration tool for AI engineers and domain experts who need to build high-quality datasets for their projects.
# category: ai
# tags: workflow, orchestration, data-pipeline, python, argilla, ai, elasticsearch, datasets, data, machine-learning, data-science, nlp
# logo: svgs/argilla.png
# port: 6900
# category: productivity
services:
argilla:
image: "argilla/argilla-server:v2.2.0"
environment:
- SERVICE_FQDN_ARGILLA_6900
- SERVICE_URL_ARGILLA_6900
- ARGILLA_HOME_PATH=/var/lib/argilla
- ARGILLA_ELASTICSEARCH=http://elasticsearch:9200
- ARGILLA_DATABASE_URL=postgresql+asyncpg://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB}
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://www.audiobookshelf.org/
# slogan: Self-hosted audiobook, ebook, and podcast server
# category: media
# tags: audiobooks, ebooks, podcasts, server, self-hosted
# logo: svgs/audiobookshelf.svg
# port: 80
@@ -8,7 +9,7 @@ services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
environment:
- SERVICE_FQDN_AUDIOBOOKSHELF_80
- SERVICE_URL_AUDIOBOOKSHELF_80
- TZ=${TIMEZONE:-America/Toronto}
volumes:
- audiobookshelf-audiobooks:/audiobooks
@@ -16,7 +17,7 @@ services:
- audiobookshelf-config:/config
- audiobookshelf-metadata:/metadata
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:80/ping || exit 1"]
test: ["CMD-SHELL", "wget --quiet --tries=1 --timeout=5 http://localhost:80/ping -O /dev/null || exit 1"]
interval: 30s
timeout: 10s
retries: 3
+4 -3
View File
@@ -1,16 +1,17 @@
# documentation: https://docs.goauthentik.io/docs/installation/docker-compose
# slogan: An open-source Identity Provider, focused on flexibility and versatility.
# category: auth
# tags: identity,login,user,oauth,openid,oidc,authentication,saml,auth0,okta
# logo: svgs/authentik.png
# port: 9000
services:
authentik-server:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG:-2025.4.1}
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG:-2025.6.4}
restart: unless-stopped
command: server
environment:
- SERVICE_FQDN_AUTHENTIKSERVER_9000
- SERVICE_URL_AUTHENTIKSERVER_9000
- AUTHENTIK_REDIS__HOST=${REDIS_HOST:-redis}
- AUTHENTIK_POSTGRESQL__HOST=${POSTGRES_HOST:-postgresql}
- AUTHENTIK_POSTGRESQL__USER=${SERVICE_USER_POSTGRESQL}
@@ -35,7 +36,7 @@ services:
redis:
condition: service_healthy
authentik-worker:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG:-2025.4.1}
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG:-2025.6.4}
restart: unless-stopped
command: worker
environment:
+5 -4
View File
@@ -1,6 +1,7 @@
# ignore: true
# documentation: https://docs.azimutt.app/
# slogan: Next-Gen ERD: Design, Explore, Document and Analyze your database.
# category: productivity
# tags: erd, entity-relationship diagram, database tool, database schema, diagram
# logo: svgs/azimutt.png
# port: 4000
@@ -54,8 +55,8 @@ services:
image: bytemark/smtp:latest
platform: linux/amd64
environment:
- SERVICE_FQDN_SMTP
- RELAY_HOST=$SERVICE_FQDN_SMTP
- SERVICE_URL_SMTP
- RELAY_HOST=$SERVICE_URL_SMTP
- RELAY_PORT=${RELAY_PORT:-587}
- RELAY_USERNAME=$SERVICE_EMAIL_SMTP
- RELAY_PASSWORD=$SERVICE_PASSWORD_SMTP
@@ -75,7 +76,7 @@ services:
minio:
condition: service_healthy
environment:
- SERVICE_FQDN_AZIMUTT_4000
- SERVICE_URL_AZIMUTT_4000
- SENTRY=false
- PHX_SERVER=true
- PHX_HOST=$SERVICE_URL_AZIMUTT
@@ -92,7 +93,7 @@ services:
- S3_KEY_ID=${S3_KEY_ID}
- S3_KEY_SECRET=${S3_KEY_SECRET}
- EMAIL_ADAPTER=${EMAIL_ADAPTER:-smtp}
- SMTP_RELAY=$SERVICE_FQDN_SMTP
- SMTP_RELAY=$SERVICE_URL_SMTP
- SMTP_USERNAME=$SERVICE_EMAIL_SMTP
- SMTP_PASSWORD=$SERVICE_PASSWORD_SMTP
- SMTP_PORT=${SMTP_PORT:-587}
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.baby-buddy.net
# slogan: It helps parents track their baby's daily activities, growth, and health with ease.
# category: productivity
# tags: baby, parents, health, growth, activities
# logo: svgs/babybuddy.png
@@ -7,11 +8,11 @@ services:
babybuddy:
image: lscr.io/linuxserver/babybuddy:latest
environment:
- SERVICE_FQDN_BABYBUDDY
- SERVICE_URL_BABYBUDDY
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
- CSRF_TRUSTED_ORIGINS=$SERVICE_FQDN_BABYBUDDY
- CSRF_TRUSTED_ORIGINS=$SERVICE_URL_BABYBUDDY
volumes:
- babybuddy-config:/config
healthcheck:
+15 -9
View File
@@ -1,23 +1,29 @@
# documentation: https://github.com/henrygd/beszel?tab=readme-ov-file#getting-started
# slogan: A lightweight server resource monitoring hub with historical data, docker stats, and alerts.
# category: monitoring
# tags: beszel,monitoring,server,stats,alerts
# logo: svgs/beszel.svg
# port: 8090
# When adding a System in the UI, the Host/IP must be beszel-agent (or the container name, ex: beszel-agent-pswog4s8wks4o8osw44cw0k8)
# Add the public Key in "Key" env variable below
# Add the public Key in "Key" env variable and token in the "Token" variable below (These are obtained from Beszel UI)
services:
beszel:
image: henrygd/beszel:latest
image: 'henrygd/beszel:0.12.10'
environment:
- SERVICE_FQDN_BESZEL_8090
- SERVICE_URL_BESZEL_8090
volumes:
- beszel_data:/beszel_data
- 'beszel_data:/beszel_data'
- 'beszel_socket:/beszel_socket'
beszel-agent:
image: henrygd/beszel-agent
image: 'henrygd/beszel-agent:0.12.10'
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- beszel_agent_data:/var/lib/beszel-agent
- beszel_socket:/beszel_socket
- '/var/run/docker.sock:/var/run/docker.sock:ro'
environment:
- PORT=45876
- KEY=${KEY}
- LISTEN=/beszel_socket/beszel.sock
- HUB_URL=http://beszel:8090
- 'TOKEN=${TOKEN}'
- 'KEY=${KEY}'
+2 -1
View File
@@ -1,6 +1,7 @@
# documentation: https://hub.docker.com/r/ruimarinho/bitcoin-core/
# slogan: A self-hosted Bitcoin Core full node.
# tags: cryptocurrency,node,blockchain,bitcoin
# category: backend
# tags: cryptocurrency, node, blockchain, bitcoin
# logo: svgs/bitcoin.svg
services:
+42 -25
View File
@@ -1,36 +1,53 @@
# ignore: true
# documentation: https://github.com/bluesky-social/pds
# slogan: A social network for the decentralized web
# tags: pds, bluesky, social, network, decentralized
# logo:
# slogan: Bluesky PDS (Personal Data Server)
# category: backend
# tags: bluesky, pds, platform
# logo: svgs/bluesky.svg
# port: 3000
services:
pds:
image: ghcr.io/bluesky-social/pds:0.4
image: 'ghcr.io/bluesky-social/pds:0.4.182'
volumes:
- pds-data:/pds
environment:
- SERVICE_FQDN_PDS_3000
- PDS_JWT_SECRET=${SERVICE_BASE64_PDS}
- PDS_ADMIN_PASSWORD=${SERVICE_PASSWORD_PDS}
- PDS_ADMIN_EMAIL=${PDS_ADMIN_EMAIL:-admin@example.com}
- PDS_DATADIR=${PDS_DATADIR:-/pds}
- PDS_BLOBSTORE_DISK_LOCATION=${PDS_DATADIR:-/pds}/blocks
- PDS_BLOB_UPLOAD_LIMIT=${PDS_BLOB_UPLOAD_LIMIT:-52428800}
- PDS_HOSTNAME=${SERVICE_URL_PDS}
- PDS_DID_PLC_URL=https://plc.directory
- PDS_BSKY_APP_VIEW_URL=https://api.bsky.app
- PDS_BSKY_APP_VIEW_DID=did:web:api.bsky.app
- PDS_REPORT_SERVICE_URL=https://mod.bsky.app
- PDS_REPORT_SERVICE_DID=did:plc:ar7c4by46qjdydhdevvrndac
- PDS_CRAWLERS=https://bsky.network
- LOG_ENABLED=${LOG_ENABLED:-true}
- PDS_EMAIL_SMTP_URL=${PDS_EMAIL_SMTP_URL:-smtp://localhost:8025}
- PDS_EMAIL_FROM_ADDRESS=${PDS_EMAIL_FROM_ADDRESS:-admin@example.com}
- PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=${SERVICE_HEX_32_ROTATIONKEY}
- SERVICE_URL_PDS_3000
- 'PDS_HOSTNAME=${SERVICE_FQDN_PDS_3000}'
- 'PDS_JWT_SECRET=${SERVICE_HEX_32_JWTSECRET}'
- 'PDS_ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN}'
- 'PDS_ADMIN_EMAIL=${PDS_ADMIN_EMAIL}'
- 'PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX=${SERVICE_HEX_32_ROTATIONKEY}'
- 'PDS_DATA_DIRECTORY=${PDS_DATA_DIRECTORY:-/pds}'
- 'PDS_BLOBSTORE_DISK_LOCATION=${PDS_DATA_DIRECTORY:-/pds}/blocks'
- 'PDS_BLOB_UPLOAD_LIMIT=${PDS_BLOB_UPLOAD_LIMIT:-104857600}'
- 'PDS_DID_PLC_URL=${PDS_DID_PLC_URL:-https://plc.directory}'
- 'PDS_EMAIL_FROM_ADDRESS=${PDS_EMAIL_FROM_ADDRESS}'
- 'PDS_EMAIL_SMTP_URL=${PDS_EMAIL_SMTP_URL}'
- 'PDS_BSKY_APP_VIEW_URL=${PDS_BSKY_APP_VIEW_URL:-https://api.bsky.app}'
- 'PDS_BSKY_APP_VIEW_DID=${PDS_BSKY_APP_VIEW_DID:-did:web:api.bsky.app}'
- 'PDS_REPORT_SERVICE_URL=${PDS_REPORT_SERVICE_URL:-https://mod.bsky.app/xrpc/com.atproto.moderation.createReport}'
- 'PDS_REPORT_SERVICE_DID=${PDS_REPORT_SERVICE_DID:-did:plc:ar7c4by46qjdydhdevvrndac}'
- 'PDS_CRAWLERS=${PDS_CRAWLERS:-https://bsky.network}'
- 'LOG_ENABLED=${LOG_ENABLED:-true}'
command: |
sh -c '
set -euo pipefail
echo "Installing required packages and pdsadmin..."
apk add --no-cache openssl curl bash jq coreutils gnupg util-linux-misc >/dev/null
curl -o /usr/local/bin/pdsadmin.sh https://raw.githubusercontent.com/bluesky-social/pds/main/pdsadmin.sh
chmod 700 /usr/local/bin/pdsadmin.sh
ln -sf /usr/local/bin/pdsadmin.sh /usr/local/bin/pdsadmin
echo "Creating an empty pds.env file so pdsadmin works..."
touch ${PDS_DATA_DIRECTORY}/pds.env
echo "Launching PDS, enjoy!..."
exec node --enable-source-maps index.js
'
healthcheck:
test: ["CMD", "wget", "--spider", "http://127.0.0.1:3000/xrpc/_health"]
interval: 2s
test:
- CMD
- wget
- '--spider'
- 'http://127.0.0.1:3000/xrpc/_health'
interval: 5s
timeout: 10s
retries: 10
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://www.bookstackapp.com/docs/
# slogan: BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information
# category: cms
# tags: free-and-open-source,mfa,dark-light-themes,searchable,connected,simple-interface,diagramms,notes
# logo: svgs/bookstack.png
# port: 80
@@ -8,8 +9,8 @@ services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
environment:
- SERVICE_FQDN_BOOKSTACK_80
- APP_URL=${SERVICE_FQDN_BOOKSTACK}
- SERVICE_URL_BOOKSTACK_80
- APP_URL=${SERVICE_URL_BOOKSTACK}
- APP_KEY=${SERVICE_PASSWORD_APPKEY}
- PUID=1000
- PGID=1000
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.browserless.io/
# slogan: A headless Chrome browser as a service .
# slogan: A headless Chrome browser as a service.
# category: devtools
# tags: chrome,headless,browser,service
# logo: svgs/browserless.svg
# port: 3000
@@ -8,7 +9,7 @@ services:
browserless:
image: ghcr.io/browserless/chromium
environment:
- SERVICE_FQDN_BROWSERLESS_3000
- SERVICE_URL_BROWSERLESS_3000
- TOKEN=$SERVICE_PASSWORD_BROWSERLESS
expose:
- 3000
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://github.com/linuxserver/budge
# slogan: A budgeting personal finance app.
# category: productivity
# tags: personal finance, budgeting, expense tracking
# logo: svgs/budge.png
@@ -7,7 +8,7 @@ services:
budge:
image: lscr.io/linuxserver/budge:latest
environment:
- SERVICE_FQDN_BUDGE
- SERVICE_URL_BUDGE
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
+5 -3
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.budibase.com/docs/docker-compose
# slogan: Low code platform for building business apps and workflows in minutes. Supports PostgreSQL, MySQL, MSSQL, MongoDB, Rest API, Docker, K8s, and more.
# category: automation
# tags: budibase,low-code,business-apps,workflow,automation,postgresql,mysql,mssql,mongodb,docker,kubernetes
# logo: svgs/budibase.svg
# port: 10000
@@ -17,8 +18,9 @@ services:
- INTERNAL_API_KEY=$SERVICE_BASE64_128_BUDIBASE
- BUDIBASE_ENVIRONMENT=${BUDIBASE_ENVIRONMENT:-PRODUCTION}
- PORT=4002
- API_ENCRYPTION_KEY=$SERVICE_BASE64_64_BUDIBASE
- JWT_SECRET=$SERVICE_BASE64_64_BUDIBASE
- API_ENCRYPTION_KEY=$SERVICE_BASE64_64_BUDIBASEAPI
- ENCRYPTION_KEY=$SERVICE_BASE64_64_BUDIBASE
- JWT_SECRET=$SERVICE_BASE64_64_BUDIBASEJWT
- LOG_LEVEL=info
- ENABLE_ANALYTICS=${ENABLE_ANALYTICS:-true}
- REDIS_URL=redis-service:6379
@@ -81,7 +83,7 @@ services:
proxy-service:
image: budibase/proxy
environment:
- SERVICE_FQDN_BUDIBASE_10000
- SERVICE_URL_BUDIBASE_10000
- PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND=10
- PROXY_RATE_LIMIT_API_PER_SECOND=20
- APPS_UPSTREAM_URL=http://app-service:4002
+5 -3
View File
@@ -1,5 +1,6 @@
# documentation: https://www.bugsink.com/docs/
# slogan: Self-hosted Error Tracking
# slogan: Self-hosted Error Tracking.
# category: monitoring
# tags: python, error-tracking, django, mysql
# logo: svgs/bugsink.svg
# port: 8000
@@ -31,9 +32,10 @@ services:
environment:
- SECRET_KEY=$SERVICE_PASSWORD_64_BUGSINK
- CREATE_SUPERUSER=admin:$SERVICE_PASSWORD_BUGSINK
- SERVICE_FQDN_BUGSINK_8000
- BASE_URL=$SERVICE_FQDN_BUGSINK_8000
- SERVICE_URL_BUGSINK_8000
- BASE_URL=$SERVICE_URL_BUGSINK_8000
- DATABASE_URL=mysql://${SERVICE_USER_BUGSINK}:$SERVICE_PASSWORD_BUGSINK@mysql:3306/${MYSQL_DATABASE:-bugsink}
- BEHIND_HTTPS_PROXY=True
depends_on:
mysql:
condition: service_healthy
+6 -5
View File
@@ -1,5 +1,6 @@
# documentation: https://cal.com/docs/developing/introduction
# slogan: Scheduling infrastructure for everyone.
# category: productivity
# tags: calcom,calendso,scheduling,open,source
# logo: svgs/calcom.svg
# port: 3000
@@ -12,14 +13,14 @@ services:
# Some variables still uses Calcom previous name, Calendso
#
# Full list https://github.com/calcom/cal.com/blob/main/.env.example
- SERVICE_FQDN_CALCOM_3000
- SERVICE_URL_CALCOM_3000
- NEXT_PUBLIC_LICENSE_CONSENT=agree
- NODE_ENV=production
- NEXT_PUBLIC_WEBAPP_URL=${SERVICE_FQDN_CALCOM}
- NEXT_PUBLIC_API_V2_URL=${SERVICE_FQDN_CALCOM}/api/v2
- NEXT_PUBLIC_WEBAPP_URL=${SERVICE_URL_CALCOM}
- NEXT_PUBLIC_API_V2_URL=${SERVICE_URL_CALCOM}/api/v2
# https://next-auth.js.org/configuration/options#nextauth_url
# From https://github.com/calcom/docker?tab=readme-ov-file#important-run-time-variables, it should be ${NEXT_PUBLIC_WEBAPP_URL}/api/auth
- NEXTAUTH_URL=${SERVICE_FQDN_CALCOM}/api/auth
- NEXTAUTH_URL=${SERVICE_URL_CALCOM}/api/auth
# It is highly recommended that the NEXTAUTH_SECRET must be overridden and very unique
# Use `openssl rand -base64 32` to generate a key
- NEXTAUTH_SECRET=${SERVICE_BASE64_CALCOMSECRET}
@@ -47,7 +48,7 @@ services:
- EMAIL_SERVER_PASSWORD=${EMAIL_SERVER_PASSWORD}
- NEXT_PUBLIC_APP_NAME="Cal.com"
# More info on ALLOWED_HOSTNAMES https://github.com/calcom/cal.com/issues/12201
- ALLOWED_HOSTNAMES=["${SERVICE_FQDN_CALCOM}"]
- ALLOWED_HOSTNAMES=["${SERVICE_URL_CALCOM}"]
depends_on:
- postgresql
postgresql:
+3 -2
View File
@@ -1,6 +1,7 @@
# documentation: https://github.com/linuxserver/docker-calibre-web
# slogan: Calibre-web is a web app providing a clean interface for browsing, reading and downloading eBooks.
# tags: calibre,calibre-web,ebook,library,epub,ereader,kindle,book,reader
# category: media
# tags: calibre,calibre-web,ebook,library,epub,ereader,kindle,book,reader
# logo: svgs/calibre-web.svg
# port: 8083
@@ -8,7 +9,7 @@ services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
environment:
- SERVICE_FQDN_CALIBRE_8083
- SERVICE_URL_CALIBRE_8083
- PUID=1000
- PGID=1000
- TZ=${TZ:-Etc/UTC}
+75
View File
@@ -0,0 +1,75 @@
# documentation: https://cap.so
# slogan: Cap is the open source alternative to Loom. Lightweight, powerful, and cross-platform. Record and share in seconds.
# tags: cap,loom,open,source,low,code
# logo: svgs/cap.svg
# port: 5679
# Storage Configuration:
# Option 1: Remote S3-compatible storage (AWS S3, Cloudflare R2, etc.)
# Set these environment variables:
# - CAP_AWS_ACCESS_KEY: Your S3/R2 access key
# - CAP_AWS_SECRET_KEY: Your S3/R2 secret key
# - CAP_AWS_BUCKET: Your S3/R2 bucket name
# - CAP_AWS_REGION: Your S3/R2 region (e.g., us-east-1, auto for R2)
# - CAP_AWS_ENDPOINT: Your S3/R2 endpoint URL
# - S3_PUBLIC_ENDPOINT: Public endpoint for your bucket (same as CAP_AWS_ENDPOINT for most cases)
# - S3_INTERNAL_ENDPOINT: Internal endpoint (same as CAP_AWS_ENDPOINT for most cases)
# - S3_PATH_STYLE: true for R2/most S3-compatible, false for AWS S3 virtual-hosted style
#
# Option 2: Local MinIO storage
# Deploy MinIO as a separate service in the same network and set:
# - CAP_AWS_ACCESS_KEY: MinIO root user
# - CAP_AWS_SECRET_KEY: MinIO root password
# - CAP_AWS_BUCKET: Your bucket name (e.g., capso)
# - CAP_AWS_REGION: us-east-1 (or any region)
# - CAP_AWS_ENDPOINT: http://minio:9000 (internal MinIO endpoint)
# - S3_PUBLIC_ENDPOINT: http://your-minio-domain:9000 (public MinIO endpoint)
# - S3_INTERNAL_ENDPOINT: http://minio:9000 (internal MinIO endpoint)
# - S3_PATH_STYLE: true
services:
cap-web:
image: 'ghcr.io/capsoftware/cap-web:latest'
environment:
- SERVICE_URL_CAP_3000
- 'DATABASE_URL=mysql://$SERVICE_USER_MYSQL:$SERVICE_PASSWORD_MYSQL@cap-db:3306/${MYSQL_DATABASE:-planetscale}'
- 'WEB_URL=${SERVICE_URL_CAP}'
- 'NEXTAUTH_URL=${SERVICE_URL_CAP}'
- 'DATABASE_ENCRYPTION_KEY=${SERVICE_PASSWORD_64_DATABASEENCRYPTIONKEY}'
- 'NEXTAUTH_SECRET=${SERVICE_PASSWORD_64_NEXTAUTHSECRET}'
- 'CAP_AWS_ACCESS_KEY=${CAP_AWS_ACCESS_KEY:?}'
- 'CAP_AWS_SECRET_KEY=${CAP_AWS_SECRET_KEY:?}'
- 'CAP_AWS_BUCKET=${CAP_AWS_BUCKET:?}'
- 'CAP_AWS_REGION=${CAP_AWS_REGION:?}'
- 'S3_PUBLIC_ENDPOINT=${S3_PUBLIC_ENDPOINT:?}'
- 'S3_INTERNAL_ENDPOINT=${S3_INTERNAL_ENDPOINT:?}'
- 'NEXT_RUNTIME=nodejs'
- 'S3_PATH_STYLE=${S3_PATH_STYLE:-true}'
- 'CAP_AWS_ENDPOINT=${CAP_AWS_ENDPOINT:?}'
depends_on:
cap-db:
condition: service_healthy
cap-db:
image: 'mysql:8.0'
environment:
- 'MYSQL_USER=${SERVICE_USER_MYSQL}'
- 'MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}'
- 'MYSQL_DATABASE=${MYSQL_DATABASE:-planetscale}'
- 'MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT}'
- 'MYSQL_ALLOW_EMPTY_PASSWORD=${MYSQL_ALLOW_EMPTY_PASSWORD:-yes}'
command:
- '--max_connections=1000'
- '--default-authentication-plugin=mysql_native_password'
healthcheck:
test:
- CMD
- mysqladmin
- ping
- '-h'
- 127.0.0.1
interval: 10s
timeout: 10s
retries: 5
volumes:
- 'cap_db:/var/lib/mysql'
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation:https://docs.castopod.org/main/en/
# slogan: Castopod is a free & open-source hosting platform made for podcasters who want engage and interact with their audience.
# category: media
# tags: podcast, media, audio, video, streaming, hosting, platform, castopod
# logo: svgs/castopod.svg
# port: 8000
@@ -10,12 +11,12 @@ services:
volumes:
- castopod-media:/var/www/castopod/public/media
environment:
- SERVICE_FQDN_CASTOPOD_8000
- SERVICE_URL_CASTOPOD_8000
- MYSQL_DATABASE=castopod
- MYSQL_USER=$SERVICE_USER_MYSQL
- MYSQL_PASSWORD=$SERVICE_PASSWORD_MYSQL
- CP_DISABLE_HTTPS=${CP_DISABLE_HTTPS:-1}
- CP_BASEURL=$SERVICE_FQDN_CASTOPOD
- CP_BASEURL=$SERVICE_URL_CASTOPOD
- CP_ANALYTICS_SALT=$SERVICE_REALBASE64_64_SALT
- CP_CACHE_HANDLER=redis
- CP_REDIS_HOST=redis
+28 -22
View File
@@ -1,5 +1,6 @@
# documentation: https://github.com/dgtlmoon/changedetection.io/
# slogan: Website change detection monitor and notifications.
# category: monitoring
# tags: web, alert, monitor
# logo: svgs/changedetection.png
# port: 5000
@@ -10,32 +11,37 @@ services:
volumes:
- changedetection-data:/datastore
environment:
- SERVICE_FQDN_CHANGEDETECTION_5000
- PUID=1000
- PGID=1000
- BASE_URL=$SERVICE_FQDN_CHANGEDETECTION
- PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000/?stealth=1&--disable-web-security=true
# Hides the `Referer` header so that monitored websites can't see the changedetection.io hostname.
- HIDE_REFERER=true
- SERVICE_URL_CHANGEDETECTION_5000
- BASE_URL=${SERVICE_URL_CHANGEDETECTION}
- PUID=${PUID:-1000}
- PGID=${PGID:-1000}
- PLAYWRIGHT_DRIVER_URL=${PLAYWRIGHT_DRIVER_URL:-ws://browser-sockpuppet-chrome:3000}
- HIDE_REFERER=${HIDE_REFERER:-true}
- FETCH_WORKERS=${FETCH_WORKERS:-10}
- MINIMUM_SECONDS_RECHECK_TIME=${MINIMUM_SECONDS_RECHECK_TIME:-3}
- DISABLE_VERSION_CHECK=${DISABLE_VERSION_CHECK:-true}
- SCREENSHOT_MAX_HEIGHT=${SCREENSHOT_MAX_HEIGHT:-16000}
- TZ=${TZ:-UTC}
- LOGGER_LEVEL=${LOGGER_LEVEL:-DEBUG}
healthcheck:
test: ["CMD", "echo", "ok"]
interval: 5s
timeout: 20s
retries: 10
depends_on:
playwright-chrome:
browser-sockpuppet-chrome:
condition: service_started
healthcheck:
test: ["CMD", "echo", "ok"]
interval: 5s
timeout: 20s
retries: 10
playwright-chrome:
browser-sockpuppet-chrome:
hostname: browser-sockpuppet-chrome
image: dgtlmoon/sockpuppetbrowser:latest
# cap_add:
# - SYS_ADMIN
# SYS_ADMIN might be too much, but it can be needed on your platform https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#running-puppeteer-on-gitlabci
restart: unless-stopped
cap_add:
- SYS_ADMIN
environment:
- SCREEN_WIDTH=1920
- SCREEN_HEIGHT=1024
- SCREEN_DEPTH=16
- MAX_CONCURRENT_CHROME_PROCESSES=10
- SCREEN_WIDTH=${SCREEN_WIDTH:-1920}
- SCREEN_HEIGHT=${SCREEN_HEIGHT:-1024}
- SCREEN_DEPTH=${SCREEN_DEPTH:-16}
- MAX_CONCURRENT_CHROME_PROCESSES=${MAX_CONCURRENT_CHROME_PROCESSES:-10}
healthcheck:
test: ["CMD", "echo", "ok"]
interval: 5s
+6 -5
View File
@@ -1,5 +1,6 @@
# documentation: https://chaskiq.io
# slogan: Chaskiq is an messaging platform for marketing, support & sales
# category: cms
# tags: chaskiq,messaging,chat,marketing,support,sales,open,source,rails,redis,postgresql,sidekiq
# logo: svgs/chaskiq.png
# port: 3000
@@ -8,13 +9,13 @@ services:
chaskiq:
image: chaskiq/chaskiq:latest
environment:
- SERVICE_FQDN_CHASKIQ_3000
- SERVICE_URL_CHASKIQ_3000
- REDIS_URL=redis://redis:6379/
- DATABASE_URL=postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/${POSTGRES_DB:-chaskiq}
- POSTGRES_USER=$SERVICE_USER_POSTGRES
- SERVICE_URL=${SERVICE_URL_CHASKIQ}
- HOST=${SERVICE_FQDN_CHASKIQ_3000}
- ASSET_HOST=${SERVICE_FQDN_CHASKIQ_3000}
- HOST=${SERVICE_URL_CHASKIQ_3000}
- ASSET_HOST=${SERVICE_URL_CHASKIQ_3000}
- WS=wss://${SERVICE_URL_CHASKIQ}/cable
- SNS_CONFIGURATION_SET=metrics
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-}
@@ -80,8 +81,8 @@ services:
- REDIS_URL=redis://redis:6379/
- DATABASE_URL=postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/${POSTGRES_DB:-chaskiq}
- POSTGRES_USER=$SERVICE_USER_POSTGRES
- HOST=${SERVICE_FQDN_CHASKIQ_3000}
- ASSET_HOST=${SERVICE_FQDN_CHASKIQ_3000}
- HOST=${SERVICE_URL_CHASKIQ_3000}
- ASSET_HOST=${SERVICE_URL_CHASKIQ_3000}
- WS=wss://${SERVICE_URL_CHASKIQ}/cable
- SNS_CONFIGURATION_SET=metrics
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-}
+4 -3
View File
@@ -1,5 +1,6 @@
# documentation: https://www.chatwoot.com/docs/self-hosted/
# slogan: Delightful customer relationships at scale.
# category: cms
# tags: chatwoot,chat,api,open,source,rails,redis,postgresql,sidekiq
# logo: svgs/chatwoot.svg
# port: 3000
@@ -11,9 +12,9 @@ services:
- postgres
- redis
environment:
- SERVICE_FQDN_CHATWOOT_3000
- SERVICE_URL_CHATWOOT_3000
- SECRET_KEY_BASE=$SERVICE_PASSWORD_CHATWOOT
- FRONTEND_URL=${SERVICE_FQDN_CHATWOOT}
- FRONTEND_URL=${SERVICE_URL_CHATWOOT}
- DEFAULT_LOCALE=${CHATWOOT_DEFAULT_LOCALE}
- FORCE_SSL=${FORCE_SSL:-false}
- ENABLE_ACCOUNT_SIGNUP=${ENABLE_ACCOUNT_SIGNUP:-false}
@@ -54,7 +55,7 @@ services:
- redis
environment:
- SECRET_KEY_BASE=$SERVICE_PASSWORD_CHATWOOT
- FRONTEND_URL=${SERVICE_FQDN_CHATWOOT}
- FRONTEND_URL=${SERVICE_URL_CHATWOOT}
- DEFAULT_LOCALE=${CHATWOOT_DEFAULT_LOCALE}
- FORCE_SSL=${FORCE_SSL:-false}
- ENABLE_ACCOUNT_SIGNUP=${ENABLE_ACCOUNT_SIGNUP:-false}
+4 -3
View File
@@ -1,5 +1,6 @@
# documentation: https://bluewavelabs.gitbook.io/checkmate
# slogan: An open source server monitoring application
# category: monitoring
# tags: monitoring,server,uptime,healthcheck
# logo: svgs/checkmate.png
# port: 80
@@ -8,14 +9,14 @@ services:
client:
image: bluewaveuptime/uptime_client:latest
environment:
- SERVICE_FQDN_CHECKMATE_80
- UPTIME_APP_API_BASE_URL=${SERVICE_FQDN_CHECKMATESERVER_5000}/api/v1
- SERVICE_URL_CHECKMATE_80
- UPTIME_APP_API_BASE_URL=${SERVICE_URL_CHECKMATESERVER_5000}/api/v1
depends_on:
- server
server:
image: bluewaveuptime/uptime_server:latest
environment:
- SERVICE_FQDN_CHECKMATESERVER_5000
- SERVICE_URL_CHECKMATESERVER_5000
- JWT_SECRET=${SERVICE_PASSWORD_64_JWT}
- REFRESH_TOKEN_SECRET=${SERVICE_PASSWORD_64_REFRESH}
- SYSTEM_EMAIL_ADDRESS=${SYSTEM_EMAIL_ADDRESS:-test@example.com}
+21
View File
@@ -0,0 +1,21 @@
# documentation: https://cookbook.chromadb.dev/
# slogan: Chroma is the open-source search and retrieval database for AI applications.
# category: ai
# tags: ai,vector-database,semantic-search,machine-learning,bm25,embeddings,llm
# logo: svgs/chroma.svg
# port: 8000
services:
chromadb:
image: chromadb/chroma:1.0.15
volumes:
- chroma-data:/data
environment:
- SERVICE_URL_CHROMA_8000
- IS_PERSISTENT=TRUE
- PERSIST_DIRECTORY=/data
healthcheck:
test: [ "CMD", "/bin/bash", "-c", "cat < /dev/null > /dev/tcp/localhost/8000" ]
interval: 30s
timeout: 10s
retries: 3
@@ -1,5 +1,6 @@
# documentation: https://www.classicpress.net/
# slogan: A lightweight, stable, instantly familiar free open-source content management system, based on WordPress without the block editor (Gutenberg).
# category: cms
# tags: cms, blog, content, management
# logo: svgs/classicpress.svg
@@ -9,7 +10,7 @@ services:
volumes:
- classicpress-files:/var/www/html
environment:
- SERVICE_FQDN_CLASSICPRESS
- SERVICE_URL_CLASSICPRESS
- CLASSICPRESS_DB_HOST=mariadb
- CLASSICPRESS_DB_USER=$SERVICE_USER_CLASSICPRESS
- CLASSICPRESS_DB_PASSWORD=$SERVICE_PASSWORD_CLASSICPRESS
@@ -1,5 +1,6 @@
# documentation: https://www.classicpress.net/
# slogan: A lightweight, stable, instantly familiar free open-source content management system, based on WordPress without the block editor (Gutenberg).
# category: cms
# tags: cms, blog, content, management
# logo: svgs/classicpress.svg
@@ -9,7 +10,7 @@ services:
volumes:
- classicpress-files:/var/www/html
environment:
- SERVICE_FQDN_CLASSICPRESS
- SERVICE_URL_CLASSICPRESS
- CLASSICPRESS_DB_HOST=mysql
- CLASSICPRESS_DB_USER=$SERVICE_USER_CLASSICPRESS
- CLASSICPRESS_DB_PASSWORD=$SERVICE_PASSWORD_CLASSICPRESS
@@ -1,5 +1,6 @@
# documentation: https://www.classicpress.net/
# slogan: A lightweight, stable, instantly familiar free open-source content management system, based on WordPress without the block editor (Gutenberg).
# category: cms
# tags: cms, blog, content, management
# logo: svgs/classicpress.svg
@@ -9,7 +10,7 @@ services:
volumes:
- classicpress-files:/var/www/html
environment:
- SERVICE_FQDN_CLASSICPRESS
- SERVICE_URL_CLASSICPRESS
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1"]
interval: 2s
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://dbeaver.com/docs/cloudbeaver/
# slogan: CloudBeaver is a lightweight web application designed for comprehensive data management.
# category: devtools
# tags: dbeaver, data management, data, database, mysql, postgres, sqlite, sql, mongodb
# logo: svgs/cloudbeaver.svg
# port: 8978
@@ -10,7 +11,7 @@ services:
volumes:
- cloudbeaver-data:/opt/cloudbeaver/workspace
environment:
- SERVICE_FQDN_CLOUDBEAVER_8978
- SERVICE_URL_CLOUDBEAVER_8978
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8978/"]
interval: 5s
+1
View File
@@ -1,5 +1,6 @@
# documentation: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/
# slogan: Client for Cloudflare Tunnel, a daemon that exposes private services through the Cloudflare edge.
# category: proxy
# logo: svgs/cloudflared.svg
services:
+1
View File
@@ -1,5 +1,6 @@
# documentation: https://getcockpit.com/documentation/
# slogan: Cockpit is a headless content platform that is lightweight, fast and ready for takeoff.
# category: cms
# tags: cockpit, headless, cms, database, nosql
# logo: svgs/cockpit.svg
# port: 80
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://coder.com/docs/code-server/latest
# slogan: Code-Server is a web-based code editor that enables remote coding and collaboration from any device, anywhere.
# category: devtools
# tags: code, editor, remote, collaboration
# logo: svgs/code-server.svg
# port: 8443
@@ -8,7 +9,7 @@ services:
code-server:
image: lscr.io/linuxserver/code-server:latest
environment:
- SERVICE_FQDN_CODESERVER_8443
- SERVICE_URL_CODESERVER_8443
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
+3 -2
View File
@@ -1,6 +1,7 @@
# ignore: true
# documentation: https://coder.com/docs
# slogan: Coder is an open-source platform for creating and managing cloud development environments on your infrastructure, with the tools and IDEs your developers already love.
# category: devtools
# tags: coder,development,environment,self-hosted,postgres
# logo: svgs/coder.svg
# port: 7080
@@ -9,10 +10,10 @@ services:
coder:
image: ghcr.io/coder/coder:latest
environment:
- SERVICE_FQDN_CODER_7080
- SERVICE_URL_CODER_7080
- CODER_PG_CONNECTION_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@coder-database/${POSTGRES_DB:-coder-db}?sslmode=disable
- CODER_HTTP_ADDRESS=0.0.0.0:7080
- CODER_ACCESS_URL=${SERVICE_FQDN_CODER}
- CODER_ACCESS_URL=${SERVICE_URL_CODER}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://hackmd.io/c/codimd-documentation
# slogan: Realtime collaborative markdown notes on all platforms
# category: productivity
# tags: markdown, md, editor, opensource, collaborative, realtime-collaboration, notes
# logo: svgs/codimd.png
# port: 3000
@@ -8,7 +9,7 @@ services:
codimd:
image: nabo.codimd.dev/hackmdio/hackmd:latest
environment:
- SERVICE_FQDN_CODIMD_3000
- SERVICE_URL_CODIMD_3000
- CMD_DOMAIN=${SERVICE_URL_CODIMD}
- CMD_PROTOCOL_USESSL=${CMD_PROTOCOL_USESSL:-false}
- CMD_SESSION_SECRET=${SERVICE_PASSWORD_SESSIONSECRET}
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://github.com/C4illin/ConvertX
# slogan: A self-hosted online file converter. Supports over a thousand different formats.
# category: backend
# tags: converter,file,documents,files,directories
# logo: svgs/convertx.png
# port: 3000
@@ -8,7 +9,7 @@ services:
convertx:
image: ghcr.io/c4illin/convertx:latest
environment:
- SERVICE_FQDN_CONVERTX
- SERVICE_URL_CONVERTX
- ACCOUNT_REGISTRATION=${ACCOUNT_REGISTRATION:-false}
- HTTP_ALLOWED=${HTTP_ALLOWED:-true}
- ALLOW_UNAUTHENTICATED=${ALLOW_UNAUTHENTICATED:-false}
+33 -12
View File
@@ -1,36 +1,57 @@
# documentation: https://docs.convex.dev/
# documentation: https://github.com/get-convex/convex-backend/blob/main/self-hosted/README.md
# slogan: Convex is the open-source reactive database for app developers.
# category: backend
# tags: database, reactive, database, ai, agents, chatbot, api, team, bot, flows
# logo: svgs/convex.svg
# port: 6791
services:
backend:
image: ghcr.io/get-convex/convex-backend:5143fec81f146ca67495c12c6b7a15c5802c37e2
image: ghcr.io/get-convex/convex-backend:00bd92723422f3bff968230c94ccdeb8c1719832
volumes:
- data:/convex/data
environment:
- SERVICE_FQDN_BACKEND_3210
- SERVICE_URL_BACKEND_3210
- INSTANCE_NAME=${INSTANCE_NAME:-self-hosted-convex}
- INSTANCE_SECRET=${SERVICE_HEX_32_SECRET}
- CONVEX_RELEASE_VERSION_DEV=${CONVEX_RELEASE_VERSION_DEV:-}
- ACTIONS_USER_TIMEOUT_SECS=${ACTIONS_USER_TIMEOUT_SECS:-}
- CONVEX_CLOUD_ORIGIN=${SERVICE_URL_CONVEX_3210}
- CONVEX_SITE_ORIGIN=${SERVICE_URL_CONVEX_3211}
# URL of the Convex API as accessed by the client/frontend.
- CONVEX_CLOUD_ORIGIN=${SERVICE_URL_CONVEX}
# URL of Convex HTTP actions as accessed by the client/frontend.
- CONVEX_SITE_ORIGIN=${SERVICE_URL_BACKEND}
- DATABASE_URL=${DATABASE_URL:-}
- DISABLE_BEACON=${DISABLE_BEACON:-}
- REDACT_LOGS_TO_CLIENT=${REDACT_LOGS_TO_CLIENT:-}
- CONVEX_SELF_HOSTED_URL=${SERVICE_FQDN_CONVEX_6791}
- DISABLE_BEACON=${DISABLE_BEACON:?false}
- REDACT_LOGS_TO_CLIENT=${REDACT_LOGS_TO_CLIENT:?false}
- DO_NOT_REQUIRE_SSL=${DO_NOT_REQUIRE_SSL:?true}
- POSTGRES_URL=${POSTGRES_URL:-}
- MYSQL_URL=${MYSQL_URL:-}
- RUST_LOG=${RUST_LOG:-info}
- RUST_BACKTRACE=${RUST_BACKTRACE:-}
- AWS_REGION=${AWS_REGION:-}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-}
- AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN:-}
- AWS_S3_FORCE_PATH_STYLE=${AWS_S3_FORCE_PATH_STYLE:-}
- AWS_S3_DISABLE_SSE=${AWS_S3_DISABLE_SSE:-}
- AWS_S3_DISABLE_CHECKSUMS=${AWS_S3_DISABLE_CHECKSUMS:-}
- S3_STORAGE_EXPORTS_BUCKET=${S3_STORAGE_EXPORTS_BUCKET:-}
- S3_STORAGE_SNAPSHOT_IMPORTS_BUCKET=${S3_STORAGE_SNAPSHOT_IMPORTS_BUCKET:-}
- S3_STORAGE_MODULES_BUCKET=${S3_STORAGE_MODULES_BUCKET:-}
- S3_STORAGE_FILES_BUCKET=${S3_STORAGE_FILES_BUCKET:-}
- S3_STORAGE_SEARCH_BUCKET=${S3_STORAGE_SEARCH_BUCKET:-}
- S3_ENDPOINT_URL=${S3_ENDPOINT_URL:-}
healthcheck:
test: curl -f http://127.0.0.1:3210/version
interval: 5s
start_period: 5s
start_period: 10s
dashboard:
image: ghcr.io/get-convex/convex-dashboard:5143fec81f146ca67495c12c6b7a15c5802c37e2
image: ghcr.io/get-convex/convex-dashboard:33cef775a8a6228cbacee4a09ac2c4073d62ed13
environment:
- SERVICE_FQDN_CONVEX_6791
- NEXT_PUBLIC_DEPLOYMENT_URL=$SERVICE_FQDN_BACKEND_3210
- SERVICE_URL_CONVEX_6791
# URL of the Convex API as accessed by the dashboard (browser).
- NEXT_PUBLIC_DEPLOYMENT_URL=${SERVICE_URL_BACKEND}
depends_on:
backend:
condition: service_healthy
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://github.com/cupcakearmy/cryptgeon
# slogan: Secure note / file sharing service inspired by PrivNote.
# category: security
# tags: cryptgeon, secure, note, sharing, privnote, file, sharing
# logo: svgs/cryptgeon.png
# port: 8000
@@ -8,7 +9,7 @@ services:
app:
image: cupcakearmy/cryptgeon:latest
environment:
- SERVICE_FQDN_CRYPTGEON_8000
- SERVICE_URL_CRYPTGEON_8000
- SIZE_LIMIT=${SIZE_LIMIT:-4 MiB}
- MAX_VIEWS=${MAX_VIEWS:-100}
- MAX_EXPIRATION=${MAX_EXPIRATION:-360}
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://github.com/gchq/CyberChef
# slogan: The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis
# category: security
# tags: encryption, encoding, compression, data analysis, tools, development
# logo: svgs/cyberchef.jpeg
# port: 80
@@ -9,7 +10,7 @@ services:
image: ghcr.io/gchq/cyberchef:latest
platform: linux/amd64
environment:
- SERVICE_FQDN_CYBERCHEF_80
- SERVICE_URL_CYBERCHEF_80
volumes:
- cyberchef-data:/app/data
healthcheck:
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://dashy.to/docs
# slogan:A self-hostable personal dashboard built for you. Includes status-checking, widgets, themes, icon packs, a UI editor and tons more!
# category: productivity
# tags: dashboard, personal, self-hostable
# logo: svgs/dashy.png
# port: 8080
@@ -8,7 +9,7 @@ services:
dashy:
image: lissy93/dashy
environment:
- SERVICE_FQDN_DASHY_8080
- SERVICE_URL_DASHY_8080
- PUID=1000
- PGID=1000
- TZ=${TIMEZONE:-UTC}
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.deno.com/deploy/kv/manual/
# slogan: The Denoland key-value database
# category: database
# tags: deno, kv, key-value, database
# logo: svgs/denokv.svg
# port: 4512
@@ -9,7 +10,7 @@ services:
image: ghcr.io/denoland/denokv:latest
environment:
- 'ACCESS_TOKEN=${SERVICE_PASSWORD_DENOKV}'
- SERVICE_FQDN_DENOKV_4512
- SERVICE_URL_DENOKV_4512
volumes:
- '${COOLIFY_VOLUME_APP}:/data'
command: '--sqlite-path /data/denokv.sqlite serve --access-token ${SERVICE_PASSWORD_DENOKV}'
+5 -4
View File
@@ -1,6 +1,7 @@
# ignore: true
# documentation: https://docs.dify.ai
# slogan: Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.
# category: ai
# tags: ai, weaviate, openai, gpt, llm, lmops, dify, redis, postgres, qdrant, RAG, agent
# logo: svgs/dify.png
# port: 3000
@@ -210,9 +211,9 @@ services:
web:
image: langgenius/dify-web:latest
environment:
- SERVICE_FQDN_WEB_3000
- CONSOLE_API_URL=${SERVICE_FQDN_WEB}
- APP_API_URL=${SERVICE_FQDN_API}
- SERVICE_URL_WEB_3000
- CONSOLE_API_URL=${SERVICE_URL_WEB}
- APP_API_URL=${SERVICE_URL_API}
- SENTRY_DSN=${WEB_SENTRY_DSN:-}
- NEXT_TELEMETRY_DISABLED=${NEXT_TELEMETRY_DISABLED:-0}
healthcheck:
@@ -574,7 +575,7 @@ services:
- './volumes/certbot/www:/var/www/html'
entrypoint: [ "sh", "-c", "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh" ]
environment:
NGINX_SERVER_NAME: $SERVICE_FQDN_NGINX
NGINX_SERVER_NAME: $SERVICE_URL_NGINX
NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false}
NGINX_SSL_PORT: ${NGINX_SSL_PORT:-443}
NGINX_PORT: ${NGINX_PORT:-80}
@@ -1,5 +1,6 @@
# documentation: https://directus.io
# slogan: Directus wraps databases with a dynamic API, and provides an intuitive app for managing its content.
# category: cms
# tags: directus, cms, database, sql
# logo: svgs/directus.svg
# port: 8055
@@ -12,7 +13,7 @@ services:
- directus-extensions:/directus/extensions
- directus-templates:/directus/templates
environment:
- SERVICE_FQDN_DIRECTUS_8055
- SERVICE_URL_DIRECTUS_8055
- KEY=$SERVICE_BASE64_64_KEY
- SECRET=$SERVICE_BASE64_64_SECRET
- ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com}
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://directus.io
# slogan: Directus wraps databases with a dynamic API, and provides an intuitive app for managing its content.
# category: cms
# tags: directus, cms, database, sql
# logo: svgs/directus.svg
# port: 8055
@@ -13,7 +14,7 @@ services:
- directus-extensions:/directus/extensions
- directus-templates:/directus/templates
environment:
- SERVICE_FQDN_DIRECTUS_8055
- SERVICE_URL_DIRECTUS_8055
- KEY=$SERVICE_BASE64_64_KEY
- SECRET=$SERVICE_BASE64_64_SECRET
- ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com}
+1
View File
@@ -1,5 +1,6 @@
# documentation: https://crazymax.dev/diun/
# slogan: Docker Image Update Notifier is a CLI application to receive notifications when a Docker image is updated on a Docker registry.
# category: automation
# tags: docker, notifier, slack
# logo: svgs/diun.svg
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.docker.com/registry/
# slogan: The Docker Registry lets you distribute Docker images.
# category: devtools
# tags: registry,images,docker
# logo: svgs/docker-registry.png
# port: 5000
@@ -8,7 +9,7 @@ services:
registry:
image: registry:2
environment:
- SERVICE_FQDN_REGISTRY_5000
- SERVICE_URL_REGISTRY_5000
- REGISTRY_AUTH=htpasswd
- REGISTRY_AUTH_HTPASSWD_REALM=Registry
- REGISTRY_AUTH_HTPASSWD_PATH=/auth/registry.password
+12 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://docmost.com/docs/
# slogan: Open-source collaborative wiki and documentation software
# category: productivity
# tags: documentation, opensource, wiki, confluence, knowledge-base, notion, realtime-collaboration, notion-alternative
# logo: svgs/docmost.png
# port: 3000
@@ -13,11 +14,20 @@ services:
redis:
condition: service_healthy
environment:
- SERVICE_FQDN_DOCMOST_3000
- SERVICE_URL_DOCMOST_3000
- APP_SECRET=$SERVICE_BASE64_APPKEY
- APP_URL=$SERVICE_FQDN_DOCMOST_3000
- APP_URL=$SERVICE_URL_DOCMOST_3000
- DATABASE_URL=postgresql://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql/docmost?schema=public
- REDIS_URL=redis://redis:6379
- MAIL_DRIVER=${MAIL_DRIVER}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_USERNAME=${SMTP_USERNAME}
- SMTP_PASSWORD=${SMTP_PASSWORD}
- SMTP_SECURE=${SMTP_SECURE}
- MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS}
- MAIL_FROM_NAME=${MAIL_FROM_NAME}
- POSTMARK_TOKEN=${POSTMARK_TOKEN}
volumes:
- "docmost:/app/data/storage"
healthcheck:
+65 -4
View File
@@ -1,22 +1,24 @@
# documentation: https://docs.documenso.com/
# slogan: Document signing, finally open source
# category: productivity
# tags: signing, opensource, document, pdf, e-signature, digital-signature, document-signing, pdf-signing, docusign
# logo: svgs/documenso.png
# port: 3000
services:
documenso:
image: documenso/documenso
image: documenso/documenso:v1.12.10 # Released at Oct 9, 2025
depends_on:
database:
condition: service_healthy
environment:
- SERVICE_FQDN_DOCUMENSO_3000
- NEXTAUTH_URL=${SERVICE_FQDN_DOCUMENSO}
- SERVICE_URL_DOCUMENSO_3000
- NEXTAUTH_URL=${SERVICE_URL_DOCUMENSO}
- NEXTAUTH_SECRET=${SERVICE_BASE64_AUTHSECRET}
- NEXT_PRIVATE_ENCRYPTION_KEY=${SERVICE_BASE64_ENCRYPTIONKEY}
- NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY=${SERVICE_BASE64_SECONDARYENCRYPTIONKEY}
- NEXT_PUBLIC_WEBAPP_URL=${SERVICE_FQDN_DOCUMENSO}
- NEXT_PUBLIC_WEBAPP_URL=${SERVICE_URL_DOCUMENSO}
- NEXT_PRIVATE_RESEND_API_KEY=${NEXT_PRIVATE_RESEND_API_KEY}
- NEXT_PRIVATE_SMTP_TRANSPORT=${NEXT_PRIVATE_SMTP_TRANSPORT}
- NEXT_PRIVATE_SMTP_HOST=${NEXT_PRIVATE_SMTP_HOST}
- NEXT_PRIVATE_SMTP_PORT=${NEXT_PRIVATE_SMTP_PORT}
@@ -26,6 +28,16 @@ services:
- NEXT_PRIVATE_SMTP_FROM_ADDRESS=${NEXT_PRIVATE_SMTP_FROM_ADDRESS}
- NEXT_PRIVATE_DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@database/${POSTGRES_DB:-documenso-db}?schema=public
- NEXT_PRIVATE_DIRECT_DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@database/${POSTGRES_DB:-documenso-db}?schema=public
- NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH=/app/apps/remix/certs/certificate.p12
- NEXT_PRIVATE_SIGNING_PASSPHRASE=${SERVICE_PASSWORD_DOCUMENSO}
- CERT_VALID_DAYS=${CERT_VALID_DAYS:-365}
- CERT_INFO_COUNTRY_NAME=${CERT_INFO_COUNTRY_NAME:-DO}
- CERT_INFO_STATE_OR_PROVIDENCE=${CERT_INFO_STATE_OR_PROVIDENCE:-Santiago}
- CERT_INFO_LOCALITY_NAME=${CERT_INFO_LOCALITY_NAME:-Santiago}
- CERT_INFO_ORGANIZATION_NAME=${CERT_INFO_ORGANIZATION_NAME:-Example INC}
- CERT_INFO_ORGANIZATIONAL_UNIT=${CERT_INFO_ORGANIZATIONAL_UNIT:-IT Department}
- CERT_INFO_EMAIL=${CERT_INFO_EMAIL:-example@gmail.com}
- NEXT_PUBLIC_DISABLE_SIGNUP=${DISABLE_LOGIN:-false}
healthcheck:
test:
- CMD-SHELL
@@ -33,6 +45,55 @@ services:
interval: 2s
timeout: 10s
retries: 20
entrypoint:
- /bin/sh
- -c
- |
echo "./certs" > /tmp/certs_dir_path
echo "./make-certs.sh" > /tmp/cert_script_path
echo "${SERVICE_PASSWORD_DOCUMENSO}" > /tmp/cert_pass
touch /tmp/cert_info_path
cat <<EOF > /tmp/cert_info_path
[ req ]
distinguished_name = req_distinguished_name
prompt = no
[ req_distinguished_name ]
C = ${CERT_INFO_COUNTRY_NAME}
ST = ${CERT_INFO_STATE_OR_PROVIDENCE}
L = ${CERT_INFO_LOCALITY_NAME}
O = ${CERT_INFO_ORGANIZATION_NAME}
OU = ${CERT_INFO_ORGANIZATIONAL_UNIT}
CN = ${SERVICE_URL_DOCUMENSO}
emailAddress = ${CERT_INFO_EMAIL}
EOF
cat <<EOF > "$(cat /tmp/cert_script_path)"
mkdir -p "$(cat /tmp/certs_dir_path)" && cd "$(cat /tmp/certs_dir_path)"
openssl genrsa -out private.key 2048
openssl req \
-new \
-x509 \
-key private.key \
-out certificate.crt \
-days ${CERT_VALID_DAYS} \
-config /tmp/cert_info_path
openssl pkcs12 \
-export \
-out certificate.p12 \
-inkey private.key \
-in certificate.crt \
-legacy \
-password file:/tmp/cert_pass
EOF
chmod +x "$(cat /tmp/cert_script_path)"
sh "$(cat /tmp/cert_script_path)"
./start.sh
database:
image: postgres:17
@@ -1,5 +1,6 @@
# documentation: https://www.docuseal.co/
# slogan: Document Signing for Everyone free forever for individuals, extensible for businesses and developers. Open Source Alternative to DocuSign, PandaDoc and more.
# category: productivity
# tags: documentation
# logo: svgs/docuseal.png
# port: 3000
@@ -8,8 +9,8 @@ services:
docuseal:
image: docuseal/docuseal:latest
environment:
- SERVICE_FQDN_DOCUSEAL_3000
- HOST=${SERVICE_FQDN_DOCUSEAL}
- SERVICE_URL_DOCUSEAL_3000
- HOST=${SERVICE_URL_DOCUSEAL}
- DATABASE_URL=postgresql://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/${POSTGRES_DB}
volumes:
- docuseal-data:/data
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://www.docuseal.co/
# slogan: Document Signing for Everyone free forever for individuals, extensible for businesses and developers. Open Source Alternative to DocuSign, PandaDoc and more.
# category: productivity
# tags: documentation
# logo: svgs/docuseal.png
# port: 3000
@@ -8,8 +9,8 @@ services:
docuseal:
image: docuseal/docuseal:latest
environment:
- SERVICE_FQDN_DOCUSEAL_3000
- HOST=${SERVICE_FQDN_DOCUSEAL}
- SERVICE_URL_DOCUSEAL_3000
- HOST=${SERVICE_URL_DOCUSEAL}
volumes:
- docuseal-data:/data
healthcheck:
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://www.dokuwiki.org/
# slogan: A lightweight and easy-to-use wiki platform for creating and managing documentation and knowledge bases.
# category: cms
# tags: wiki, documentation, knowledge, base
# logo: svgs/dokuwiki.png
@@ -7,7 +8,7 @@ services:
dokuwiki:
image: lscr.io/linuxserver/dokuwiki:latest
environment:
- SERVICE_FQDN_DOKUWIKI
- SERVICE_URL_DOKUWIKI
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://www.dolibarr.org/documentation-home.php
# slogan: Dolibarr is a modern software package to manage your organization's activity (contacts, quotes, invoices, orders, stocks, agenda, hr, expense reports, accountancy, ecm, manufacturing, ...).
# category: cms
# tags: crm,ERP
# logo: svgs/dolibarr.png
# port: 80
@@ -8,7 +9,7 @@ services:
dolibarr:
image: dolibarr/dolibarr:latest
environment:
- SERVICE_FQDN_DOLIBARR_80
- SERVICE_URL_DOLIBARR_80
- WWW_USER_ID=${WWW_USER_ID:-1000}
- WWW_GROUP_ID=${WWW_GROUP_ID:-1000}
- DOLI_DB_HOST=mariadb
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://dozzle.dev/
# slogan: Dozzle is a simple and lightweight web UI for Docker logs.
# category: devtools
# tags: dozzle,docker,logs,web-ui
# logo: svgs/dozzle.svg
# port: 8080
@@ -8,7 +9,7 @@ services:
dozzle:
image: amir20/dozzle:latest
environment:
- SERVICE_FQDN_DOZZLE_8080
- SERVICE_URL_DOZZLE_8080
- DOZZLE_AUTH_PROVIDER=simple
volumes:
- /var/run/docker.sock:/var/run/docker.sock
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://dozzle.dev/guide/getting-started#running-with-docker
# slogan: Dozzle is a simple and lightweight web UI for Docker logs.
# category: devtools
# tags: dozzle,docker,logs,web-ui
# logo: svgs/dozzle.svg
# port: 8080
@@ -8,7 +9,7 @@ services:
dozzle:
image: amir20/dozzle:latest
environment:
- SERVICE_FQDN_DOZZLE_8080
- SERVICE_URL_DOZZLE_8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock
healthcheck:
+16
View File
@@ -0,0 +1,16 @@
# documentation: https://gateway.drizzle.team/
# slogan: Free self-hosted Drizzle Studio on steroids
# category: backend
# tags: drizzle,gateway,self-hosted,open-source,low-code
# logo: svgs/drizzle.jpeg
# port: 4983
services:
drizzle-gateway:
image: ghcr.io/drizzle-team/gateway:latest
environment:
- SERVICE_URL_DRIZZLE_4983
- STORE_PATH=/app
- MASTERPASS=$SERVICE_PASSWORD_DRIZZLE
volumes:
- drizzle-gateway-data:/app
@@ -1,5 +1,6 @@
# documentation: https://www.drupal.org/about
# slogan: Drupal is a free and open-source web content management system written in PHP and distributed under the GNU General Public License.
# category: cms
# tags: cms, blog, content, management, postgresql
# logo: svgs/drupal.svg
@@ -7,7 +8,7 @@ services:
drupal:
image: "drupal:10-apache"
environment:
- SERVICE_FQDN_DRUPAL
- SERVICE_URL_DRUPAL
- DB_HOST=postgres
- DB_NAME=postgres
- DB_USER=postgres
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://duplicati.readthedocs.io
# slogan: Duplicati is a backup solution, allowing you to make scheduled backups with encryption.
# category: storage
# tags: backup, encryption
# logo: svgs/duplicati.webp
# port: 8200
@@ -8,7 +9,7 @@ services:
duplicati:
image: lscr.io/linuxserver/duplicati:latest
environment:
- SERVICE_FQDN_DUPLICATI_8200
- SERVICE_URL_DUPLICATI_8200
- PUID=1000
- PGID=1000
- TZ=${TZ:-Europe/London}
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://easyappointments.org/
# slogan: Schedule Anything. Let's start with easy! Get the best free online appointment scheduler on your server, today.
# category: productivity
# tags: calendar, scheduling, database
# logo: svgs/easyappointments.png
# port: 80
@@ -8,8 +9,8 @@ services:
easyappointments:
image: alextselegidis/easyappointments:latest
environment:
- SERVICE_FQDN_EASYAPPOINTMENTS_80
- BASE_URL=${SERVICE_FQDN_EASYAPPOINTMENTS}
- SERVICE_URL_EASYAPPOINTMENTS_80
- BASE_URL=${SERVICE_URL_EASYAPPOINTMENTS}
- DB_HOST=mysql
- DB_NAME=easyappointments
- DB_USERNAME=root
+3 -2
View File
@@ -1,7 +1,8 @@
# ignore: true
# documentation: https://www.edgedb.com
# slogan: An open-source database designed as a spiritual successor to SQL and the relational paradigm. Powered by the Postgres query engine under the hood.
# tags: db database sql
# category: database
# tags: db, database, sql
# logo: svgs/edgedb.svg
# port: 5656
@@ -9,7 +10,7 @@ services:
edgedb:
image: edgedb/edgedb
environment:
- SERVICE_FQDN_EDGEDB_5656
- SERVICE_URL_EDGEDB_5656
- EDGEDB_SERVER_ADMIN_UI=${EDGEDB_SERVER_ADMIN_UI:-enabled}
- EDGEDB_SERVER_BACKEND_DSN=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgresql:5432/${POSTGRES_DB:-edgedb}
- EDGEDB_SERVER_SECURITY=${EDGEDB_SERVER_SECURITY:-strict}
@@ -0,0 +1,88 @@
# documentation: https://www.elastic.co/docs/deploy-manage/deploy/self-managed/install-kibana-with-docker
# slogan: Elastic + Kibana is a Free and Open Source Search, Monitoring, and Visualization Stack
# tags: elastic,kibana,elasticsearch,search,visualization,logging,monitoring,observability,analytics,stack,devops
# logo: svgs/elasticsearch.svg
# port: 5601
services:
elasticsearch:
image: 'elastic/elasticsearch:9.1.2'
container_name: elasticsearch
restart: unless-stopped
environment:
- ELASTIC_PASSWORD=${SERVICE_PASSWORD_ELASTICSEARCH}
- 'ES_JAVA_OPTS=-Xms512m -Xmx512m'
- discovery.type=single-node
- bootstrap.memory_lock=true
- xpack.security.enabled=true
- xpack.security.http.ssl.enabled=false
- xpack.security.transport.ssl.enabled=false
volumes:
- '/etc/localtime:/etc/localtime:ro'
- 'elasticsearch-data:/usr/share/elasticsearch/data'
healthcheck:
test:
- CMD-SHELL
- 'curl --user elastic:${SERVICE_PASSWORD_ELASTICSEARCH} --silent --fail http://localhost:9200/_cluster/health || exit 1'
interval: 10s
timeout: 10s
retries: 24
kibana:
image: 'kibana:9.1.2'
container_name: kibana
restart: unless-stopped
environment:
- SERVICE_URL_KIBANA_5601
- 'SERVER_NAME=${SERVICE_URL_KIBANA}'
- 'SERVER_PUBLICBASEURL=${SERVICE_URL_KIBANA}'
- 'ELASTICSEARCH_HOSTS=http://elasticsearch:9200'
- 'ELASTICSEARCH_USERNAME=kibana_system'
- 'ELASTICSEARCH_PASSWORD=${SERVICE_PASSWORD_KIBANA}'
- 'XPACK_SECURITY_ENCRYPTIONKEY=${SERVICE_PASSWORD_XPACKSECURITY}'
- 'XPACK_REPORTING_ENCRYPTIONKEY=${SERVICE_PASSWORD_XPACKREPORTING}'
- 'XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY=${SERVICE_PASSWORD_XPACKENCRYPTEDSAVEDOBJECTS}'
- 'TELEMETRY_OPTIN=${TELEMETRY_OPTIN:-false}'
volumes:
- '/etc/localtime:/etc/localtime:ro'
- 'kibana-data:/usr/share/kibana/data'
depends_on:
setup:
condition: service_completed_successfully
healthcheck:
test:
- CMD-SHELL
- "curl -s http://localhost:5601/api/status | grep -q '\"level\":\"available\"' || exit 1"
interval: 10s
timeout: 10s
retries: 120
setup:
image: 'elastic/elasticsearch:9.1.2'
container_name: kibana-setup
depends_on:
elasticsearch:
condition: service_healthy
exclude_from_hc: true
environment:
- 'ELASTIC_PASSWORD=${SERVICE_PASSWORD_ELASTICSEARCH}'
- 'KIBANA_PASSWORD=${SERVICE_PASSWORD_KIBANA}'
entrypoint:
- sh
- '-c'
- |
echo "Setting up Kibana user password..."
until curl -s -u "elastic:${ELASTIC_PASSWORD}" http://elasticsearch:9200/_cluster/health | grep -q '"status":"green\|yellow"'; do
echo "Waiting for Elasticsearch..."
sleep 2
done
echo "Setting password for kibana_system user..."
curl -s -X POST -u "elastic:${ELASTIC_PASSWORD}" \
-H "Content-Type: application/json" \
http://elasticsearch:9200/_security/user/kibana_system/_password \
-d "{\"password\":\"${KIBANA_PASSWORD}\"}" || exit 1
echo "Kibana setup completed successfully"
restart: 'no'
+28
View File
@@ -0,0 +1,28 @@
# documentation: https://www.elastic.co/products/elasticsearch
# slogan: Elasticsearch is free and Open Source, Distributed, RESTful Search Engine.
# tags: search,engine,fulltext,full,text,elasticsearch
# category: search
# logo: svgs/elasticsearch.svg
# port: 9200
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-wolfi:8.19.0
environment:
- SERVICE_URL_ELASTICSEARCH_9200
- ELASTIC_PASSWORD=${SERVICE_PASSWORD_ELASTICSEARCH}
- ES_JAVA_OPTS=-Xms512m -Xmx512m # memory set to 512MB
- discovery.type=single-node
- bootstrap.memory_lock=true
- xpack.security.http.ssl.enabled=false # Coolify handles SSL
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
healthcheck:
test:
[
"CMD-SHELL",
"curl --user elastic:${SERVICE_PASSWORD_ELASTICSEARCH} --silent --fail http://localhost:9200/_cluster/health",
]
interval: 10s
timeout: 10s
retries: 24
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://emby.media/support/articles/Home.html
# slogan: A media server software that allows you to organize, stream, and access your multimedia content effortlessly.
# category: media
# tags: media, server, movies, tv, music
# logo: svgs/emby.png
# port: 8096
@@ -8,7 +9,7 @@ services:
emby:
image: lscr.io/linuxserver/emby:latest
environment:
- SERVICE_FQDN_EMBY_8096
- SERVICE_URL_EMBY_8096
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://github.com/mregni/EmbyStat
# slogan: EmbyStat is a web analytics tool, designed to provide insight into website traffic and user behavior.
# category: media
# tags: media, server, movies, tv, music
# port: 6555
@@ -7,7 +8,7 @@ services:
embystat:
image: lscr.io/linuxserver/embystat:latest
environment:
- SERVICE_FQDN_EMBYSTAT_6555
- SERVICE_URL_EMBYSTAT_6555
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
+132
View File
@@ -0,0 +1,132 @@
# documentation: https://help.ente.io/self-hosting/installation/compose
# slogan: Ente Photos is a fully open source, End to End Encrypted alternative to Google Photos and Apple Photos.
# category: media
# tags: photos,gallery,backup,encryption,privacy,self-hosted,google-photos,alternative
# logo: svgs/ente-photos.svg
# port: 8080
services:
museum:
image: 'ghcr.io/ente-io/server:613c6a96390d7a624cf30b946955705d632423cc' # Released at 2025-09-14T22:16:37-07:00
environment:
- SERVICE_URL_MUSEUM_8080
- ENTE_DB_HOST=postgres
- ENTE_DB_PORT=5432
- 'ENTE_DB_NAME=${POSTGRES_DB:-ente_db}'
- 'ENTE_DB_USER=${SERVICE_USER_POSTGRES}'
- 'ENTE_DB_PASSWORD=${SERVICE_PASSWORD_POSTGRES}'
- 'ENTE_HTTP_USE_TLS=${ENTE_HTTP_USE_TLS:-false}'
- ENTE_S3_ARE_LOCAL_BUCKETS=false
- ENTE_S3_USE_PATH_STYLE_URLS=true
- 'ENTE_S3_B2_EU_CEN_KEY=${SERVICE_USER_MINIO}'
- 'ENTE_S3_B2_EU_CEN_SECRET=${SERVICE_PASSWORD_MINIO}'
- 'ENTE_S3_B2_EU_CEN_ENDPOINT=${SERVICE_FQDN_MINIO_9000}'
- ENTE_S3_B2_EU_CEN_REGION=eu-central-2
- ENTE_S3_B2_EU_CEN_BUCKET=b2-eu-cen
- 'ENTE_KEY_ENCRYPTION=${SERVICE_REALBASE64_ENCRYPTION}'
- 'ENTE_KEY_HASH=${SERVICE_REALBASE64_64_HASH}'
- 'ENTE_JWT_SECRET=${SERVICE_REALBASE64_JWT}'
- 'ENTE_INTERNAL_ADMIN=${ENTE_INTERNAL_ADMIN:-1580559962386438}'
- 'ENTE_INTERNAL_DISABLE_REGISTRATION=${ENTE_INTERNAL_DISABLE_REGISTRATION:-false}'
- 'ENTE_SMTP_HOST=${ENTE_SMTP_HOST:-smtp.gmail.com}'
- 'ENTE_SMTP_PORT=${ENTE_SMTP_PORT:-587}'
- 'ENTE_SMTP_USERNAME=${ENTE_SMTP_USERNAME}'
- 'ENTE_SMTP_PASSWORD=${ENTE_SMTP_PASSWORD}'
- 'ENTE_SMTP_EMAIL=${ENTE_SMTP_EMAIL}'
- 'ENTE_SMTP_SENDER_NAME=${ENTE_SMTP_SENDER_NAME}'
- 'ENTE_SMTP_ENCRYPTION=${ENTE_SMTP_ENCRYPTION:-tls}'
volumes:
- 'museum-data:/data'
- 'museum-config:/config'
depends_on:
postgres:
condition: service_healthy
minio:
condition: service_started
healthcheck:
test:
- CMD
- wget
- '--spider'
- 'http://127.0.0.1:8080/ping'
interval: 30s
timeout: 10s
retries: 3
web:
image: 'ghcr.io/ente-io/web:ca03165f5e7f2a50105e6e40019c17ae6cdd934f' # Released at 2025-10-08T00:57:05-07:00
environment:
- SERVICE_URL_WEB_3000
- 'ENTE_API_ORIGIN=${SERVICE_URL_MUSEUM}'
healthcheck:
test:
- CMD
- curl
- '--fail'
- 'http://localhost:3000'
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
postgres:
image: 'postgres:15-alpine'
environment:
- 'POSTGRES_USER=${SERVICE_USER_POSTGRES}'
- 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}'
- 'POSTGRES_DB=${POSTGRES_DB:-ente_db}'
volumes:
- 'postgres-data:/var/lib/postgresql/data'
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -U ${SERVICE_USER_POSTGRES} -d ${POSTGRES_DB:-ente_db}'
interval: 10s
timeout: 5s
retries: 5
minio:
image: 'quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Z' # Released at 2025-09-07T16-13-09Z
command: 'server /data --console-address ":9001"'
environment:
- MINIO_SERVER_URL=$MINIO_SERVER_URL
- MINIO_BROWSER_REDIRECT_URL=$MINIO_BROWSER_REDIRECT_URL
- MINIO_ROOT_USER=$SERVICE_USER_MINIO
- MINIO_ROOT_PASSWORD=$SERVICE_PASSWORD_MINIO
volumes:
- 'minio-data:/data'
healthcheck:
test:
- CMD
- mc
- ready
- local
interval: 5s
timeout: 20s
retries: 10
minio-init:
image: 'minio/mc:RELEASE.2025-08-13T08-35-41Z' # Released at 2025-08-13T08-35-41Z
depends_on:
minio:
condition: service_started
restart: on-failure
exclude_from_hc: true
environment:
- 'MINIO_ROOT_USER=${SERVICE_USER_MINIO}'
- 'MINIO_ROOT_PASSWORD=${SERVICE_PASSWORD_MINIO}'
- 'MINIO_CORS_URLS=$SERVICE_URL_MUSEUM,$SERVICE_URL_WEB'
entrypoint: |-
/bin/sh -c "
echo \"MINIO_CORS_URLS: \$${MINIO_CORS_URLS}\";
sleep 5;
until mc alias set minio http://minio:9000 \$${MINIO_ROOT_USER} \$${MINIO_ROOT_PASSWORD}; do
echo 'Waiting for MinIO...';
sleep 2;
done;
mc admin config set minio api cors_allow_origin='$MINIO_CORS_URLS' || true;
mc mb minio/b2-eu-cen --ignore-existing;
mc mb minio/wasabi-eu-central-2-v3 --ignore-existing;
mc mb minio/scw-eu-fr-v3 --ignore-existing;
echo 'MinIO buckets and CORS configured';
"
+87
View File
@@ -0,0 +1,87 @@
# documentation: https://help.ente.io/self-hosting/installation/compose
# slogan: Ente Photos is a fully open source, End to End Encrypted alternative to Google Photos and Apple Photos.
# category: media
# tags: photos,gallery,backup,encryption,privacy,self-hosted,google-photos,alternative
# logo: svgs/ente-photos.svg
# port: 8080
services:
museum:
image: ghcr.io/ente-io/server:latest
environment:
- SERVICE_URL_MUSEUM_8080
- ENTE_HTTP_USE_TLS=${ENTE_HTTP_USE_TLS:-false}
- ENTE_APPS_PUBLIC_ALBUMS=${SERVICE_URL_WEB_3002}
- ENTE_APPS_CAST=${SERVICE_URL_WEB_3004}
- ENTE_APPS_ACCOUNTS=${SERVICE_URL_WEB_3001}
- ENTE_DB_HOST=${ENTE_DB_HOST:-postgres}
- ENTE_DB_PORT=${ENTE_DB_PORT:-5432}
- ENTE_DB_NAME=${ENTE_DB_NAME:-ente_db}
- ENTE_DB_USER=${SERVICE_USER_POSTGRES:-pguser}
- ENTE_DB_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- ENTE_KEY_ENCRYPTION=${SERVICE_REALBASE64_ENCRYPTION}
- ENTE_KEY_HASH=${SERVICE_REALBASE64_64_HASH}
- ENTE_JWT_SECRET=${SERVICE_REALBASE64_JWT}
- ENTE_INTERNAL_ADMIN=${ENTE_INTERNAL_ADMIN:-1580559962386438}
- ENTE_INTERNAL_DISABLE_REGISTRATION=${ENTE_INTERNAL_DISABLE_REGISTRATION:-false}
- ENTE_S3_B2_EU_CEN_ARE_LOCAL_BUCKETS=${PRIMARY_STORAGE_ARE_LOCAL_BUCKETS:-false}
- ENTE_S3_B2_EU_CEN_USE_PATH_STYLE_URLS=${PRIMARY_STORAGE_USE_PATH_STYLE_URLS:-true}
- ENTE_S3_B2_EU_CEN_KEY=${S3_STORAGE_KEY:?}
- ENTE_S3_B2_EU_CEN_SECRET=${S3_STORAGE_SECRET:?}
- ENTE_S3_B2_EU_CEN_ENDPOINT=${S3_STORAGE_ENDPOINT:?}
- ENTE_S3_B2_EU_CEN_REGION=${S3_STORAGE_REGION:-us-east-1}
- ENTE_S3_B2_EU_CEN_BUCKET=${S3_STORAGE_BUCKET:?}
- ENTE_SMTP_HOST=${ENTE_SMTP_HOST:-smtp.gmail.com}
- ENTE_SMTP_PORT=${ENTE_SMTP_PORT:-587}
- ENTE_SMTP_USERNAME=${ENTE_SMTP_USERNAME}
- ENTE_SMTP_PASSWORD=${ENTE_SMTP_PASSWORD}
- ENTE_SMTP_EMAIL=${ENTE_SMTP_EMAIL}
- ENTE_SMTP_SENDER_NAME=${ENTE_SMTP_SENDER_NAME}
- ENTE_SMTP_ENCRYPTION=${ENTE_SMTP_ENCRYPTION:-tls}
depends_on:
postgres:
condition: service_healthy
volumes:
- museum-data:/data
- museum-config:/config
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8080/ping"]
interval: 5s
timeout: 5s
retries: 10
web:
image: ghcr.io/ente-io/web
environment:
- SERVICE_URL_WEB_3000
- ENTE_API_ORIGIN=${SERVICE_URL_MUSEUM}
- ENTE_ALBUMS_ORIGIN=${SERVICE_URL_WEB_3002}
healthcheck:
test: ["CMD", "curl", "--fail", "http://127.0.0.1:3000"]
interval: 5s
timeout: 5s
retries: 10
postgres:
image: postgres:15
environment:
- POSTGRES_USER=${SERVICE_USER_POSTGRES:-pguser}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_DB=${SERVICE_DB_NAME:-ente_db}
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 10
+6 -4
View File
@@ -1,5 +1,6 @@
# documentation: https://doc.evolution-api.com/v1/pt/get-started/introduction
# slogan: Evolution API Installation with Postgres and Redis
# category: backend
# tags: evolution-api,evo-api,evolution,whatsapp,api,postgres,redis
# logo: svgs/evolution-api.svg
# port: 8080
@@ -7,14 +8,14 @@
version: '3.8'
services:
api:
image: 'atendai/evolution-api:latest' # Change to specific version if needed.
image: 'evoapicloud/evolution-api:latest' # Change to specific version if needed.
restart: always
depends_on:
- redis
- postgres
environment:
- SERVICE_FQDN_EVO_8080
- SERVER_URL=$SERVICE_FQDN_EVO
- SERVICE_URL_EVO_8080
- SERVER_URL=$SERVICE_URL_EVO
- DB_TYPE=${DB_TYPE:-postgresdb}
- 'DB_POSTGRESDB_DATABASE=${POSTGRES_DB:-postgres}'
- DB_POSTGRESDB_HOST=${DB_POSTGRESDB_HOST:-postgres}
@@ -105,10 +106,11 @@ services:
- WEBHOOK_EVENTS_ERRORS_WEBHOOK=${WEBHOOK_EVENTS_ERRORS_WEBHOOK:-}
- 'CONFIG_SESSION_PHONE_CLIENT=${CONFIG_SESSION_PHONE_CLIENT:-Evolution API V2}'
- CONFIG_SESSION_PHONE_NAME=${CONFIG_SESSION_PHONE_NAME:-Chrome}
- CONFIG_SESSION_PHONE_VERSION=${CONFIG_SESSION_PHONE_VERSION:-2.3000.1015901307}
- QRCODE_LIMIT=${QRCODE_LIMIT:-30}
- OPENAI_ENABLED=${OPENAI_ENABLED:-true}
- DIFY_ENABLED=${DIFY_ENABLED:-true}
- FLOWISE_ENABLED=${FLOWISE_ENABLED:-true}
- N8N_ENABLED=${N8N_ENABLED:-true}
- TYPEBOT_ENABLED=${TYPEBOT_ENABLED:-true}
- TYPEBOT_API_VERSION=${TYPEBOT_API_VERSION:-latest}
- CHATWOOT_ENABLED=${CHATWOOT_ENABLED:-true}
+22
View File
@@ -0,0 +1,22 @@
# documentation: https://docs.excalidraw.com/docs
# slogan: Virtual whiteboard for sketching hand-drawn like diagrams
# category: productivity
# tags: canvas,diagrams,drawing,productivity,whiteboard
# logo: svgs/excalidraw.svg
# port: 80
services:
excalidraw:
image: excalidraw/excalidraw:latest
environment:
- SERVICE_URL_EXCALIDRAW_80
healthcheck:
test:
- CMD
- wget
- '--spider'
- '--quiet'
- 'http://localhost'
interval: 10s
timeout: 5s
retries: 10
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://faradaysec.com/
# slogan: Faraday is a powerful, open-source, web-based vulnerability management tool.
# category: security
# tags: vulnerability, management, tool
# logo: svgs/faraday.png
# port: 5985
@@ -37,7 +38,7 @@ services:
image: faradaysec/faraday:latest
entrypoint: /entrypoint.sh
environment:
- SERVICE_FQDN_FARADAY_5985
- SERVICE_URL_FARADAY_5985
- AUTHENTIK_POSTGRESQL__PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
- PGSQL_USER=${SERVICE_USER_POSTGRESQL}
- PGSQL_PASSWD=${SERVICE_PASSWORD_POSTGRESQL}
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://fider.io
# slogan: Fider is a feedback platform for collecting and managing user feedback.
# category: productivity
# tags: feedback, user-feedback
# logo: svgs/fider.svg
# port: 3000
@@ -8,8 +9,8 @@ services:
fider:
image: getfider/fider:stable
environment:
- SERVICE_FQDN_FIDER_3000
- BASE_URL=$SERVICE_FQDN_FIDER_3000
- SERVICE_URL_FIDER_3000
- BASE_URL=$SERVICE_URL_FIDER_3000
- DATABASE_URL=postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@database:5432/fider?sslmode=disable
- JWT_SECRET=$SERVICE_PASSWORD_64_FIDER
- EMAIL_NOREPLY=${EMAIL_NOREPLY:-noreply@example.com}
+2 -6
View File
@@ -1,5 +1,6 @@
# documentation: https://filebrowser.org
# slogan: FileBrowser is a web-based file manager and file explorer with a user-friendly interface.
# category: storage
# tags: file-management, storage-access, data-organization, file-utilization, administration-tool
# logo: svgs/filebrowser.svg
# port: 80
@@ -8,7 +9,7 @@ services:
filebrowser:
image: filebrowser/filebrowser:latest
environment:
- SERVICE_FQDN_FILEBROWSER_80
- SERVICE_URL_FILEBROWSER_80
volumes:
- type: bind
source: ./srv
@@ -28,8 +29,3 @@ services:
"address": "0.0.0.0",
"port": 80
}
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
interval: 2s
timeout: 10s
retries: 15
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://fileflows.com/docs/
# slogan: FileFlows can drastically reduce your files, up to 90%, saving you space and money. No need to buy more hard drives, just shrink your files and start saving.
# category: media
# tags: media, transcode, convert, h265
# logo: svgs/fileflows.svg
# port: 5000
@@ -8,8 +9,8 @@ services:
fileflows:
image: revenz/fileflows
environment:
- SERVICE_FQDN_FILEFLOWS_5000
- _APP_URL=$SERVICE_FQDN_FILE_FLOWS
- SERVICE_URL_FILEFLOWS_5000
- _APP_URL=$SERVICE_URL_FILE_FLOWS
- PUID=1000
- PGID=1000
- TZ=${TZ:-America/Toronto}
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://firefly-iii.org
# slogan: A personal finances manager that can help you save money.
# category: productivity
# tags: finance, money, personal, manager
# logo: svgs/firefly.svg
# port: 8080
@@ -8,7 +9,7 @@ services:
firefly:
image: fireflyiii/core:latest
environment:
- SERVICE_FQDN_FIREFLY_8080
- SERVICE_URL_FIREFLY_8080
- APP_KEY=$SERVICE_BASE64_APPKEY
- DB_HOST=mysql
- DB_PORT=3306
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://github.com/jlesage/docker-firefox
# slogan: Fast, private, and self-hosted secure browser for browsing without limits.
# category: productivity
# tags: browser, web, privacy
# logo: svgs/firefox.svg
# port: 5800
@@ -8,7 +9,7 @@ services:
firefox:
image: jlesage/firefox
environment:
- SERVICE_FQDN_FIREFOX_5800
- SERVICE_URL_FIREFOX_5800
volumes:
- firefox_config:/config
healthcheck:
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.flipt.io/cloud/overview
# slogan: Flipt is a fully managed feature flag solution that enables you to keep your feature flags and remote config next to your code in Git.
# category: backend
# tags: feature flags,devops, CI, CD
# logo: svgs/flipt.svg
# port: 8080
@@ -10,7 +11,7 @@ services:
volumes:
- 'flipt-data:/var/opt/flipt'
environment:
- SERVICE_FQDN_FLIPT_8080
- SERVICE_URL_FLIPT_8080
healthcheck:
test:
- CMD
@@ -20,4 +21,4 @@ services:
- 'http://127.0.0.1:8080'
interval: 2s
timeout: 10s
retries: 15
retries: 15
@@ -1,5 +1,6 @@
# documentation: https://docs.flowiseai.com/
# slogan: Flowise is an open source low-code tool for developers to build customized LLM orchestration flows & AI agents. Also deploys Redis, Postgres and other services.
# category: ai
# tags: lowcode, nocode, ai, llm, openai, anthropic, machine-learning, rag, agents, chatbot, api, team, bot, flows
# logo: svgs/flowise.png
# port: 3001
@@ -15,7 +16,7 @@ services:
qdrant:
condition: service_healthy
environment:
- SERVICE_FQDN_FLOWISE_3001
- SERVICE_URL_FLOWISE_3001
- DEBUG=${DEBUG:-false}
- DISABLE_FLOWISE_TELEMETRY=${DISABLE_FLOWISE_TELEMETRY:-true}
- PORT=${PORT:-3001}
@@ -66,7 +67,7 @@ services:
qdrant:
image: qdrant/qdrant:latest
environment:
- SERVICE_FQDN_QDRANT_6333
- SERVICE_URL_QDRANT_6333
- QDRANT__SERVICE__API_KEY=${SERVICE_PASSWORD_QDRANTAPIKEY}
volumes:
- flowise-qdrant-data:/qdrant/storage
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.flowiseai.com/
# slogan: Flowise is an open source low-code tool for developers to build customized LLM orchestration flows & AI agents.
# category: ai
# tags: lowcode, nocode, ai, llm, openai, anthropic, machine-learning, rag, agents, chatbot, api, team, bot, flows
# logo: svgs/flowise.png
# port: 3001
@@ -8,7 +9,7 @@ services:
flowise:
image: flowiseai/flowise:latest
environment:
- SERVICE_FQDN_FLOWISE_3001
- SERVICE_URL_FLOWISE_3001
- DEBUG=${DEBUG:-false}
- DISABLE_FLOWISE_TELEMETRY=${DISABLE_FLOWISE_TELEMETRY:-true}
- PORT=${PORT:-3001}
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://forgejo.org/docs
# slogan: Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.
# category: git
# tags: version control, collaboration, code, hosting, lightweight, mariadb
# logo: svgs/forgejo.svg
# port: 3000
@@ -8,8 +9,8 @@ services:
forgejo:
image: codeberg.org/forgejo/forgejo:8
environment:
- SERVICE_FQDN_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_FQDN_FORGEJO_3000}
- SERVICE_URL_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
- USER_UID=1000
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://forgejo.org/docs
# slogan: Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.
# category: git
# tags: version control, collaboration, code, hosting, lightweight, mysql
# logo: svgs/forgejo.svg
# port: 3000
@@ -8,8 +9,8 @@ services:
forgejo:
image: codeberg.org/forgejo/forgejo:8
environment:
- SERVICE_FQDN_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_FQDN_FORGEJO_3000}
- SERVICE_URL_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
- USER_UID=1000
@@ -1,5 +1,6 @@
# documentation: https://forgejo.org/docs
# slogan: Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.
# category: git
# tags: version control, collaboration, code, hosting, lightweight, postgresql
# logo: svgs/forgejo.svg
# port: 3000
@@ -8,8 +9,8 @@ services:
forgejo:
image: codeberg.org/forgejo/forgejo:8
environment:
- SERVICE_FQDN_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_FQDN_FORGEJO_3000}
- SERVICE_URL_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
- USER_UID=1000
@@ -1,6 +1,7 @@
# ignore: true
# documentation: https://forgejo.org/docs
# slogan: Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.
# category: git
# tags: version control, collaboration, code, hosting, lightweight, runner, mariadb, actions, cicd, ci
# logo: svgs/forgejo.svg
# port: 3000
@@ -9,8 +10,8 @@ services:
forgejo:
image: codeberg.org/forgejo/forgejo:8
environment:
- SERVICE_FQDN_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_FQDN_FORGEJO_3000}
- SERVICE_URL_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
- USER_UID=1000
@@ -1,6 +1,7 @@
# ignore: true
# documentation: https://forgejo.org/docs
# slogan: Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.
# category: git
# tags: version control, collaboration, code, hosting, lightweight, runner, mysql, actions, cicd, ci
# logo: svgs/forgejo.svg
# port: 3000
@@ -9,8 +10,8 @@ services:
forgejo:
image: codeberg.org/forgejo/forgejo:8
environment:
- SERVICE_FQDN_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_FQDN_FORGEJO_3000}
- SERVICE_URL_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
- USER_UID=1000
@@ -1,6 +1,7 @@
# ignore: true
# documentation: https://forgejo.org/docs
# slogan: Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.
# category: git
# tags: version control, collaboration, code, hosting, lightweight, runner, postresql, actions, cicd, ci
# logo: svgs/forgejo.svg
# port: 3000
@@ -9,8 +10,8 @@ services:
forgejo:
image: codeberg.org/forgejo/forgejo:8
environment:
- SERVICE_FQDN_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_FQDN_FORGEJO_3000}
- SERVICE_URL_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
- USER_UID=1000
+4 -3
View File
@@ -1,6 +1,7 @@
# ignore: true
# documentation: https://forgejo.org/docs
# slogan: Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.
# category: git
# tags: version control, collaboration, code, hosting, lightweight, runner, actions, cicd, ci
# logo: svgs/forgejo.svg
# port: 3000
@@ -9,8 +10,8 @@ services:
forgejo:
image: codeberg.org/forgejo/forgejo:8
environment:
- SERVICE_FQDN_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_FQDN_FORGEJO_3000}
- SERVICE_URL_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS:-false}
- USER_UID=1000
@@ -72,7 +73,7 @@ services:
command: >-
bash -ec '
while : ; do
forgejo-runner create-runner-file --connect --instance ${SERVICE_FQDN_FORGEJO}:3000 --name runner --secret ${RUNNER_SHARED_SECRET} && break ;
forgejo-runner create-runner-file --connect --instance ${SERVICE_URL_FORGEJO}:3000 --name runner --secret ${RUNNER_SHARED_SECRET} && break ;
sleep 1 ;
done ;
sed -i -e "s|\"labels\": null|\"labels\": [\"docker:docker://node:20-bookworm\", \"ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04\"]|" .runner ;
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://forgejo.org/docs
# slogan: Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.
# category: git
# tags: version control, collaboration, code, hosting, lightweight
# logo: svgs/forgejo.svg
# port: 3000
@@ -8,8 +9,8 @@ services:
forgejo:
image: codeberg.org/forgejo/forgejo:8
environment:
- SERVICE_FQDN_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_FQDN_FORGEJO_3000}
- SERVICE_URL_FORGEJO_3000
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
- USER_UID=1000
+4 -3
View File
@@ -1,5 +1,6 @@
# documentation: https://formbricks.com/docs/self-hosting/configuration
# slogan: Open Source Survey Platform
# category: analytics
# tags: form, builder, forms, survey, open source, experience, management, self-hosted, docker
# logo: svgs/formbricks.png
# port: 3000
@@ -8,12 +9,12 @@ services:
formbricks:
image: ghcr.io/formbricks/formbricks:latest
environment:
- SERVICE_FQDN_FORMBRICKS_3000
- WEBAPP_URL=$SERVICE_FQDN_FORMBRICKS
- SERVICE_URL_FORMBRICKS_3000
- WEBAPP_URL=$SERVICE_URL_FORMBRICKS
- DATABASE_URL=postgres://$SERVICE_USER_POSTGRESQL:$SERVICE_PASSWORD_POSTGRESQL@postgresql:5432/${POSTGRESQL_DATABASE:-formbricks}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
- NEXTAUTH_SECRET=$SERVICE_BASE64_NEXTAUTH
- NEXTAUTH_URL=$SERVICE_FQDN_FORMBRICKS
- NEXTAUTH_URL=$SERVICE_URL_FORMBRICKS
- ENCRYPTION_KEY=$SERVICE_BASE64_ENCRYPTION
- CRON_SECRET=$SERVICE_BASE64_CRON
- ENTERPRISE_LICENSE_KEY=${ENTERPRISE_LICENSE_KEY}
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://foundryvtt.com/kb/
# slogan: Foundry Virtual Tabletop is a self-hosted & modern roleplaying platform
# category: media
# tags: foundryvtt,foundry,vtt,ttrpg,roleplaying
# logo: svgs/foundryvtt.png
# port: 30000
@@ -10,7 +11,7 @@ services:
expose:
- 30000
environment:
- SERVICE_FQDN_FOUNDRY_30000
- SERVICE_URL_FOUNDRY_30000
# Account username or email address for foundryvtt.com. Required for downloading an application distribution.
- FOUNDRY_USERNAME=${FOUNDRY_USERNAME}
# Account password for foundryvtt.com. Required for downloading an application distribution.
@@ -19,7 +20,7 @@ services:
- FOUNDRY_RELEASE_URL=${FOUNDRY_RELEASE_URL}
# The license key to install. e.g.; AAAA-BBBB-CCCC-DDDD-EEEE-FFFF If left unset, a license key will be fetched when using account authentication.
- FOUNDRY_LICENSE_KEY=${FOUNDRY_LICENSE_KEY}
# Admin password to be applied at startup. If omitted the admin password will be cleared.
# Admin password to be applied at startup. If omitted the admin password will be cleared.
- FOUNDRY_ADMIN_KEY=${FOUNDRY_ADMIN:-atropos}
# A custom hostname to use in place of the host machine's public IP address when displaying the address of the game session. This allows for reverse proxies or DNS servers to modify the public address. Example: foundry.example.com
- FOUNDRY_HOSTNAME=${FOUNDRY_HOSTNAME}
+4 -3
View File
@@ -1,5 +1,6 @@
# documentation: https://github.com/freescout-help-desk/freescout/wiki/
# slogan: FreeScout is the super lightweight and powerful free open source help desk and shared inbox written in PHP (Laravel framework).
# category: cms
# tags: helpdesk, support, ticketing, customer-support
# logo: svgs/freescout.png
# port: 80
@@ -14,12 +15,12 @@ services:
mariadb:
condition: service_healthy
environment:
- SERVICE_FQDN_FREESCOUT_80
- SERVICE_URL_FREESCOUT_80
- DB_HOST=mariadb
- DB_NAME=${MARIADB_DATABASE:-freescout}
- DB_USER=${SERVICE_USER_MARIADB:-freescout}
- DB_PASS=${SERVICE_PASSWORD_MARIADB}
- SITE_URL=${SERVICE_FQDN_FREESCOUT}
- SITE_URL=${SERVICE_URL_FREESCOUT}
- ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com}
- ADMIN_PASS=${SERVICE_PASSWORD_ADMIN}
- DISPLAY_ERRORS=${DISPLAY_ERRORS:-FALSE}
@@ -44,4 +45,4 @@ services:
start_period: 10s
interval: 5s
timeout: 10s
retries: 15
retries: 15
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://freshrss.org/index.html
# slogan: A free, self-hostable feed aggregator.
# category: cms
# tags: rss, feed
# logo: svgs/freshrss.png
# port: 80
@@ -8,7 +9,7 @@ services:
freshrss:
image: freshrss/freshrss:latest
environment:
- SERVICE_FQDN_FRESHRSS_80
- SERVICE_URL_FRESHRSS_80
- CRON_MIN=${CRON_MIN:-1,31}
- MARIADB_DB=${MARIADB_DATABASE:-freshrss}
- MARIADB_USER=${SERVICE_USER_MARIADB}
@@ -24,7 +25,7 @@ services:
interval: 5s
timeout: 20s
retries: 3
freshrss-db:
image: mariadb:11
volumes:
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://freshrss.org/index.html
# slogan: A free, self-hostable feed aggregator.
# category: cms
# tags: rss, feed
# logo: svgs/freshrss.png
# port: 80
@@ -8,7 +9,7 @@ services:
freshrss:
image: freshrss/freshrss:latest
environment:
- SERVICE_FQDN_FRESHRSS_80
- SERVICE_URL_FRESHRSS_80
- CRON_MIN=${CRON_MIN:-1,31}
- MYSQL_DB=${MYSQL_DATABASE:-freshrss}
- MYSQL_USER=${SERVICE_USER_MYSQL}
@@ -24,7 +25,7 @@ services:
interval: 5s
timeout: 20s
retries: 3
freshrss-db:
image: mysql:8
volumes:
@@ -1,5 +1,6 @@
# documentation: https://freshrss.org/index.html
# slogan: A free, self-hostable feed aggregator.
# category: cms
# tags: rss, feed
# logo: svgs/freshrss.png
# port: 80
@@ -8,7 +9,7 @@ services:
freshrss:
image: freshrss/freshrss:latest
environment:
- SERVICE_FQDN_FRESHRSS_80
- SERVICE_URL_FRESHRSS_80
- CRON_MIN=${CRON_MIN:-1,31}
- POSTGRES_DB=${POSTGRESQL_DATABASE:-freshrss}
- POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
@@ -25,7 +26,7 @@ services:
interval: 5s
timeout: 20s
retries: 3
freshrss-db:
image: postgres:16
volumes:
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://freshrss.org/index.html
# slogan: A free, self-hostable feed aggregator.
# category: cms
# tags: rss, feed
# logo: svgs/freshrss.png
# port: 80
@@ -8,7 +9,7 @@ services:
freshrss:
image: freshrss/freshrss:latest
environment:
- SERVICE_FQDN_FRESHRSS_80
- SERVICE_URL_FRESHRSS_80
- CRON_MIN=${CRON_MIN:-1,31}
volumes:
- freshrss-data:/var/www/FreshRSS/data
+5 -4
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.getoutline.com/s/hosting/doc/hosting-outline-nipGaCRBDu
# slogan: Your team’s knowledge base
# category: productivity
# tags: knowledge base, documentation
# logo: svgs/getoutline.jpeg
# port: 3000
@@ -15,13 +16,13 @@ services:
redis:
condition: service_healthy
environment:
- SERVICE_FQDN_OUTLINE_3000
- SERVICE_URL_OUTLINE_3000
- NODE_ENV=production
- SECRET_KEY=${SERVICE_BASE64_OUTLINE}
- SECRET_KEY=${SERVICE_HEX_32_OUTLINE}
- UTILS_SECRET=${SERVICE_PASSWORD_64_OUTLINE}
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_64_POSTGRES}@postgres:5432/${POSTGRES_DATABASE:-outline}
- REDIS_URL=redis://:${SERVICE_PASSWORD_64_REDIS}@redis:6379
- URL=${SERVICE_FQDN_OUTLINE_3000}
- URL=${SERVICE_URL_OUTLINE_3000}
- PORT=${OUTLINE_PORT:-3000}
- FILE_STORAGE=${FILE_STORAGE:-local}
- FILE_STORAGE_LOCAL_ROOT_DIR=${FILE_STORAGE_LOCAL_ROOT_DIR:-/var/lib/outline/data}
@@ -52,7 +53,7 @@ services:
- OIDC_USERNAME_CLAIM=${OIDC_USERNAME_CLAIM}
- OIDC_DISPLAY_NAME=${OIDC_DISPLAY_NAME}
- OIDC_SCOPES=${OIDC_SCOPES}
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
- GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
- GITHUB_APP_NAME=${GITHUB_APP_NAME}
- GITHUB_APP_ID=${GITHUB_APP_ID}
+3 -2
View File
@@ -1,5 +1,6 @@
# documentation: https://ghost.org
# slogan: Ghost is a content management system (CMS) and blogging platform.
# category: cms
# tags: cms, blog, content, management, system
# logo: svgs/ghost.svg
# port: 2368
@@ -10,8 +11,8 @@ services:
volumes:
- ghost-content-data:/var/lib/ghost/content
environment:
- SERVICE_FQDN_GHOST_2368
- url=$SERVICE_FQDN_GHOST_2368
- SERVICE_URL_GHOST_2368
- url=$SERVICE_URL_GHOST_2368
- database__client=mysql
- database__connection__host=mysql
- database__connection__user=$SERVICE_USER_MYSQL
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.gitea.com
# slogan: Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.
# category: git
# tags: version control, collaboration, code, hosting, lightweight, mariadb
# logo: svgs/gitea.svg
@@ -7,7 +8,7 @@ services:
gitea:
image: gitea/gitea:latest
environment:
- SERVICE_FQDN_GITEA_3000
- SERVICE_URL_GITEA_3000
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.gitea.com
# slogan: Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.
# category: git
# tags: version control, collaboration, code, hosting, lightweight, mysql
# logo: svgs/gitea.svg
@@ -7,7 +8,7 @@ services:
gitea:
image: gitea/gitea:latest
environment:
- SERVICE_FQDN_GITEA_3000
- SERVICE_URL_GITEA_3000
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.gitea.com
# slogan: Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.
# category: git
# tags: version control, collaboration, code, hosting, lightweight, postgresql
# logo: svgs/gitea.svg
@@ -7,7 +8,7 @@ services:
gitea:
image: gitea/gitea:latest
environment:
- SERVICE_FQDN_GITEA_3000
- SERVICE_URL_GITEA_3000
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
+2 -1
View File
@@ -1,5 +1,6 @@
# documentation: https://docs.gitea.com
# slogan: Gitea is a self-hosted, lightweight Git service, offering version control, collaboration, and code hosting.
# category: git
# tags: version control, collaboration, code, hosting, lightweight
# logo: svgs/gitea.svg
@@ -7,7 +8,7 @@ services:
gitea:
image: gitea/gitea:latest
environment:
- SERVICE_FQDN_GITEA_3000
- SERVICE_URL_GITEA_3000
- USER_UID=1000
- USER_GID=1000
ports:
Loaded 100 of 1172 files, more files were not shown because too many files have changed in this diff. Show more