mirror of
https://github.com/tiennm99/coolify.git
synced 2026-10-20 00:15:06 +00:00
Merge branch 'coollabsio:v4.x' into cloudflare-ddns
This commit is contained in:
913 files changed
+70150
-16923
No files matched your search
@@ -28,6 +28,7 @@ services:
|
||||
- AP_TELEMETRY_ENABLED=${AP_TELEMETRY_ENABLED:-false}
|
||||
- AP_TEMPLATES_SOURCE_URL=${AP_TEMPLATES_SOURCE_URL:-https://cloud.activepieces.com/api/v1/flow-templates}
|
||||
- AP_TRIGGER_DEFAULT_POLL_INTERVAL=${AP_TRIGGER_DEFAULT_POLL_INTERVAL:-5}
|
||||
- AP_SIGN_UP_ENABLED=${AP_SIGN_UP_ENABLED:-true}
|
||||
- AP_WEBHOOK_TIMEOUT_SECONDS=${AP_WEBHOOK_TIMEOUT_SECONDS:-30}
|
||||
depends_on:
|
||||
postgres:
|
||||
@@ -47,7 +48,7 @@ services:
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
|
||||
volumes:
|
||||
- "pg-data:/var/lib/postgresql/data"
|
||||
- 'pg-data:/var/lib/postgresql'
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 5s
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://actualbudget.org/docs/install/docker
|
||||
# slogan: A local-first personal finance app.
|
||||
# category: productivity
|
||||
# category: finance
|
||||
# tags: budgeting,actual,finance,budget,money,expenses,income
|
||||
# logo: svgs/actualbudget.png
|
||||
# port: 5006
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
services:
|
||||
frontend:
|
||||
image: ghcr.io/smaug6739/alexandrie-frontend:v8.4.1
|
||||
image: ghcr.io/smaug6739/alexandrie-frontend:v8.7.2
|
||||
environment:
|
||||
- SERVICE_URL_FRONTEND_8200
|
||||
- PORT=8200
|
||||
@@ -21,7 +21,7 @@ services:
|
||||
- backend
|
||||
|
||||
backend:
|
||||
image: ghcr.io/smaug6739/alexandrie-backend:v8.4.1
|
||||
image: ghcr.io/smaug6739/alexandrie-backend:v8.7.2
|
||||
environment:
|
||||
- SERVICE_URL_BACKEND_8201
|
||||
- BACKEND_PORT=8201
|
||||
@@ -74,7 +74,7 @@ services:
|
||||
retries: 5
|
||||
|
||||
rustfs:
|
||||
image: rustfs/rustfs:1.0.0-alpha.81
|
||||
image: rustfs/rustfs:1.0.0-alpha.90
|
||||
environment:
|
||||
- SERVICE_URL_RUSTFS_9000
|
||||
- RUSTFS_ACCESS_KEY=${SERVICE_USER_RUSTFS}
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
# 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:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# documentation: https://autobase.tech/docs/
|
||||
# slogan: Autobase for PostgreSQL® is an open-source alternative to cloud-managed databases (self-hosted DBaaS).
|
||||
# category: database
|
||||
# tags: database, postgres, automation, self-hosted, dbaas
|
||||
# logo: svgs/autobase.svg
|
||||
# port: 80
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# documentation: https://bentopdf.com/docs
|
||||
# slogan: Process PDFs entirely in your browser. No uploads. No servers. Complete privacy.
|
||||
# category: productivity
|
||||
# tags: pdf, manipulation, web, tool
|
||||
# logo: svgs/bento-pdf.png
|
||||
# port: 8080
|
||||
|
||||
services:
|
||||
bento-pdf:
|
||||
image: ghcr.io/alam00000/bentopdf:v1.16.1
|
||||
environment:
|
||||
- SERVICE_URL_BENTOPDF_8080
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8080"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
@@ -6,13 +6,26 @@
|
||||
|
||||
services:
|
||||
beszel-agent:
|
||||
image: 'henrygd/beszel-agent:0.16.1' # Released on 14 Nov 2025
|
||||
image: 'henrygd/beszel-agent:0.18.7' # Released on 6 April 2026
|
||||
network_mode: host # Network stats graphs won't work if agent cannot access host system network stack
|
||||
environment:
|
||||
# Required
|
||||
- LISTEN=/beszel_socket/beszel.sock
|
||||
- HUB_URL=${HUB_URL?}
|
||||
- 'TOKEN=${TOKEN?}'
|
||||
- 'KEY=${KEY?}'
|
||||
- HUB_URL=$SERVICE_URL_BESZEL
|
||||
- TOKEN=${TOKEN} # From hub token settings
|
||||
- KEY=${KEY} # SSH public key(s) from hub
|
||||
# Optional
|
||||
- DISABLE_SSH=${DISABLE_SSH:-false} # Disable SSH
|
||||
- LOG_LEVEL=${LOG_LEVEL:-warn} # Logging level
|
||||
- SKIP_GPU=${SKIP_GPU:-false} # Skip GPU monitoring
|
||||
- SYSTEM_NAME=${SYSTEM_NAME} # Custom system name
|
||||
volumes:
|
||||
- beszel_agent_data:/var/lib/beszel-agent
|
||||
- beszel_socket:/beszel_socket
|
||||
- '/var/run/docker.sock:/var/run/docker.sock:ro'
|
||||
healthcheck:
|
||||
test: ['CMD', '/agent', 'health']
|
||||
interval: 60s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
start_period: 5s
|
||||
@@ -9,21 +9,41 @@
|
||||
# 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:0.16.1' # Released on 14 Nov 2025
|
||||
image: 'henrygd/beszel:0.18.7' # Released on 6 April 2026
|
||||
environment:
|
||||
- SERVICE_URL_BESZEL_8090
|
||||
- CONTAINER_DETAILS=${CONTAINER_DETAILS:-true}
|
||||
- SHARE_ALL_SYSTEMS=${SHARE_ALL_SYSTEMS:-false}
|
||||
volumes:
|
||||
- 'beszel_data:/beszel_data'
|
||||
- 'beszel_socket:/beszel_socket'
|
||||
healthcheck:
|
||||
test: ['CMD', '/beszel', 'health', '--url', 'http://localhost:8090']
|
||||
interval: 30s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
start_period: 5s
|
||||
beszel-agent:
|
||||
image: 'henrygd/beszel-agent:0.16.1' # Released on 14 Nov 2025
|
||||
image: 'henrygd/beszel-agent:0.18.7' # Released on 6 April 2026
|
||||
network_mode: host # Network stats graphs won't work if agent cannot access host system network stack
|
||||
environment:
|
||||
# Required
|
||||
- LISTEN=/beszel_socket/beszel.sock
|
||||
- HUB_URL=http://beszel:8090
|
||||
- 'TOKEN=${TOKEN}'
|
||||
- 'KEY=${KEY}'
|
||||
- HUB_URL=$SERVICE_URL_BESZEL
|
||||
- TOKEN=${TOKEN} # From hub token settings
|
||||
- KEY=${KEY} # SSH public key(s) from hub
|
||||
# Optional
|
||||
- DISABLE_SSH=${DISABLE_SSH:-false} # Disable SSH
|
||||
- LOG_LEVEL=${LOG_LEVEL:-warn} # Logging level
|
||||
- SKIP_GPU=${SKIP_GPU:-false} # Skip GPU monitoring
|
||||
- SYSTEM_NAME=${SYSTEM_NAME} # Custom system name
|
||||
volumes:
|
||||
- beszel_agent_data:/var/lib/beszel-agent
|
||||
- beszel_socket:/beszel_socket
|
||||
- '/var/run/docker.sock:/var/run/docker.sock:ro'
|
||||
|
||||
healthcheck:
|
||||
test: ['CMD', '/agent', 'health']
|
||||
interval: 60s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
start_period: 5s
|
||||
@@ -12,7 +12,7 @@ services:
|
||||
- pds-data:/pds
|
||||
environment:
|
||||
- SERVICE_URL_PDS_3000
|
||||
- 'PDS_HOSTNAME=${SERVICE_FQDN_PDS_3000}'
|
||||
- 'PDS_HOSTNAME=${SERVICE_FQDN_PDS}'
|
||||
- 'PDS_JWT_SECRET=${SERVICE_HEX_32_JWTSECRET}'
|
||||
- 'PDS_ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN}'
|
||||
- 'PDS_ADMIN_EMAIL=${PDS_ADMIN_EMAIL}'
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# ignore: true
|
||||
# documentation: https://booklore.org/docs/getting-started
|
||||
# slogan: Booklore is an open-source library management system for your digital book collection.
|
||||
# tags: media, books, kobo, epub, ebook, KOreader
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://github.com/linuxserver/budge
|
||||
# slogan: A budgeting personal finance app.
|
||||
# category: productivity
|
||||
# category: finance
|
||||
# tags: personal finance, budgeting, expense tracking
|
||||
# logo: svgs/budge.png
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ services:
|
||||
- SECRET_KEY=$SERVICE_PASSWORD_64_BUGSINK
|
||||
- CREATE_SUPERUSER=admin:$SERVICE_PASSWORD_BUGSINK
|
||||
- SERVICE_URL_BUGSINK_8000
|
||||
- BASE_URL=$SERVICE_URL_BUGSINK_8000
|
||||
- BASE_URL=$SERVICE_URL_BUGSINK
|
||||
- DATABASE_URL=mysql://${SERVICE_USER_BUGSINK}:$SERVICE_PASSWORD_BUGSINK@mysql:3306/${MYSQL_DATABASE:-bugsink}
|
||||
- BEHIND_HTTPS_PROXY=True
|
||||
depends_on:
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
# ignore: true
|
||||
# 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
|
||||
# amd_only: true
|
||||
|
||||
services:
|
||||
calcom:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# documentation: https://github.com/calibrain/calibre-web-automated-book-downloader
|
||||
# slogan: An intuitive web interface for searching and requesting book downloads, designed to work seamlessly with Calibre-Web-Automated.
|
||||
# category: media
|
||||
# tags: calibre,calibre-web,ebook,library,epub,ereader,kindle,book,reader,download,downloader
|
||||
# logo: svgs/calibre-web-automated-with-downloader.png
|
||||
# port: 8083
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
# documentation: https://capjs.js.org/guide/
|
||||
# slogan: The self-hosted CAPTCHA for the modern web.
|
||||
# category: security
|
||||
# tags: captcha,security,privacy,proof-of-work
|
||||
# logo: svgs/cap-captcha.png
|
||||
# port: 3000
|
||||
|
||||
services:
|
||||
cap:
|
||||
image: tiago2/cap:3.0.4 # Released on 22nd April 2026
|
||||
environment:
|
||||
- SERVICE_URL_CAP_3000
|
||||
- ADMIN_KEY=$SERVICE_PASSWORD_ADMIN
|
||||
- REDIS_URL=redis://valkey:6379
|
||||
healthcheck:
|
||||
test: ["CMD", "bun", "-e", "fetch('http://localhost:3000').then(r => { if (!r.ok) process.exit(1) }).catch(() => process.exit(1))"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 5s
|
||||
depends_on:
|
||||
valkey:
|
||||
condition: service_healthy
|
||||
|
||||
valkey:
|
||||
image: valkey/valkey:9-alpine
|
||||
volumes:
|
||||
- valkey-data:/data
|
||||
command: valkey-server --save 60 1 --loglevel warning --maxmemory-policy noeviction
|
||||
healthcheck:
|
||||
test: ["CMD", "valkey-cli", "ping"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
@@ -1,5 +1,6 @@
|
||||
# documentation: https://cap.so
|
||||
# slogan: Cap is the open source alternative to Loom. Lightweight, powerful, and cross-platform. Record and share in seconds.
|
||||
# category: media
|
||||
# tags: cap,loom,open,source,low,code
|
||||
# logo: svgs/cap.svg
|
||||
# port: 5679
|
||||
@@ -72,4 +73,4 @@ services:
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
volumes:
|
||||
- 'cap_db:/var/lib/mysql'
|
||||
- 'cap_db:/var/lib/mysql'
|
||||
@@ -3,15 +3,15 @@
|
||||
# category: media
|
||||
# tags: podcast, media, audio, video, streaming, hosting, platform, castopod
|
||||
# logo: svgs/castopod.svg
|
||||
# port: 8000
|
||||
# port: 8080
|
||||
|
||||
services:
|
||||
castopod:
|
||||
image: castopod/castopod:latest
|
||||
image: castopod/castopod:1.15.4
|
||||
volumes:
|
||||
- castopod-media:/var/www/castopod/public/media
|
||||
environment:
|
||||
- SERVICE_URL_CASTOPOD_8000
|
||||
- SERVICE_URL_CASTOPOD_8080
|
||||
- MYSQL_DATABASE=castopod
|
||||
- MYSQL_USER=$SERVICE_USER_MYSQL
|
||||
- MYSQL_PASSWORD=$SERVICE_PASSWORD_MYSQL
|
||||
@@ -27,7 +27,7 @@ services:
|
||||
"CMD",
|
||||
"curl",
|
||||
"-f",
|
||||
"http://localhost:8000/health"
|
||||
"http://localhost:8080/health"
|
||||
]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://chaskiq.io
|
||||
# slogan: Chaskiq is an messaging platform for marketing, support & sales
|
||||
# category: cms
|
||||
# category: helpdesk
|
||||
# tags: chaskiq,messaging,chat,marketing,support,sales,open,source,rails,redis,postgresql,sidekiq
|
||||
# logo: svgs/chaskiq.png
|
||||
# port: 3000
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://www.chatwoot.com/docs/self-hosted/
|
||||
# slogan: Delightful customer relationships at scale.
|
||||
# category: cms
|
||||
# category: helpdesk
|
||||
# tags: chatwoot,chat,api,open,source,rails,redis,postgresql,sidekiq
|
||||
# logo: svgs/chatwoot.svg
|
||||
# port: 3000
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# documentation: https://chibisafe.app/docs/intro
|
||||
# slogan: A beautiful and performant vault to save all your files in the cloud.
|
||||
# category: storage
|
||||
# tags: storage,file-sharing,upload,sharing
|
||||
# logo: svgs/chibisafe.svg
|
||||
# port: 80
|
||||
|
||||
@@ -38,7 +38,7 @@ services:
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
- POSTGRES_DB=${POSTGRES_DB:-cloudreve-db}
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
- postgres-data:/var/lib/postgresql
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 10s
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
services:
|
||||
backend:
|
||||
image: ghcr.io/get-convex/convex-backend:00bd92723422f3bff968230c94ccdeb8c1719832
|
||||
image: ghcr.io/get-convex/convex-backend:a9a760ca10399ed42e1b4bb87c78539a235488c7
|
||||
volumes:
|
||||
- data:/convex/data
|
||||
environment:
|
||||
@@ -47,7 +47,7 @@ services:
|
||||
start_period: 10s
|
||||
|
||||
dashboard:
|
||||
image: ghcr.io/get-convex/convex-dashboard:33cef775a8a6228cbacee4a09ac2c4073d62ed13
|
||||
image: ghcr.io/get-convex/convex-dashboard:a9a760ca10399ed42e1b4bb87c78539a235488c7
|
||||
environment:
|
||||
- SERVICE_URL_DASHBOARD_6791
|
||||
# URL of the Convex API as accessed by the dashboard (browser).
|
||||
@@ -56,6 +56,6 @@ services:
|
||||
backend:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: wget -qO- http://127.0.0.1:6791/
|
||||
test: curl -f http://127.0.0.1:6791/
|
||||
interval: 5s
|
||||
start_period: 5s
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
services:
|
||||
databasus:
|
||||
image: 'databasus/databasus:v2.18.0' # Released on 28 Dec, 2025
|
||||
image: 'databasus/databasus:v3.16.2' # Released on 23 February, 2026
|
||||
environment:
|
||||
- SERVICE_URL_DATABASUS_4005
|
||||
volumes:
|
||||
|
||||
@@ -27,6 +27,11 @@ services:
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- WEBSOCKETS_ENABLED=true
|
||||
- CORS_ENABLED=${CORS_ENABLED:-true}
|
||||
- CORS_ORIGIN=${CORS_ORIGIN}
|
||||
- CORS_METHODS=${CORS_METHODS:-GET,POST,PATCH,DELETE,OPTIONS}
|
||||
- CORS_ALLOWED_HEADERS=${CORS_ALLOWED_HEADERS:-Content-Type,Authorization}
|
||||
- CORS_CREDENTIALS=${CORS_CREDENTIALS:-true}
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8055/admin/login"]
|
||||
interval: 5s
|
||||
|
||||
@@ -22,6 +22,11 @@ services:
|
||||
- DB_CLIENT=sqlite3
|
||||
- DB_FILENAME=/directus/database/data.db
|
||||
- WEBSOCKETS_ENABLED=true
|
||||
- CORS_ENABLED=${CORS_ENABLED:-true}
|
||||
- CORS_ORIGIN=${CORS_ORIGIN}
|
||||
- CORS_METHODS=${CORS_METHODS:-GET,POST,PATCH,DELETE,OPTIONS}
|
||||
- CORS_ALLOWED_HEADERS=${CORS_ALLOWED_HEADERS:-Content-Type,Authorization}
|
||||
- CORS_CREDENTIALS=${CORS_CREDENTIALS:-true}
|
||||
healthcheck:
|
||||
test:
|
||||
["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8055/admin/login"]
|
||||
|
||||
@@ -1,6 +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
|
||||
# category: productivity
|
||||
# tags: crm,ERP
|
||||
# logo: svgs/dolibarr.png
|
||||
# port: 80
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://gateway.drizzle.team/
|
||||
# slogan: Free self-hosted Drizzle Studio on steroids
|
||||
# category: backend
|
||||
# category: devtools
|
||||
# tags: drizzle,gateway,self-hosted,open-source,low-code
|
||||
# logo: svgs/drizzle.jpeg
|
||||
# port: 4983
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# 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
|
||||
# category: monitoring
|
||||
# tags: elastic,kibana,elasticsearch,search,visualization,logging,monitoring,observability,analytics,stack,devops
|
||||
# logo: svgs/elasticsearch.svg
|
||||
# port: 5601
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
# documentation: https://electric-sql.com/docs/guides/deployment
|
||||
# slogan: Sync shape-based subsets of your Postgres data over HTTP.
|
||||
# category: backend
|
||||
# tags: electric,electricsql,realtime,sync,postgresql
|
||||
# logo: svgs/electricsql.svg
|
||||
# port: 3000
|
||||
|
||||
## This template intentionally does not deploy PostgreSQL.
|
||||
## Set DATABASE_URL to an existing Postgres instance with logical replication enabled.
|
||||
## If ELECTRIC_SECRET is set, your own backend/proxy must append it to shape requests.
|
||||
|
||||
services:
|
||||
electric:
|
||||
image: electricsql/electric:1.4.2
|
||||
environment:
|
||||
- SERVICE_URL_ELECTRIC_3000
|
||||
- DATABASE_URL=${DATABASE_URL:?}
|
||||
- ELECTRIC_SECRET=${SERVICE_PASSWORD_64_ELECTRIC}
|
||||
- ELECTRIC_STORAGE_DIR=/app/persistent
|
||||
- ELECTRIC_USAGE_REPORTING=${ELECTRIC_USAGE_REPORTING:-false}
|
||||
volumes:
|
||||
- electric_data:/app/persistent
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:3000/v1/health"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
@@ -16,6 +16,7 @@ services:
|
||||
- ENTE_APPS_PUBLIC_ALBUMS=${SERVICE_URL_WEB_3002}
|
||||
- ENTE_APPS_CAST=${SERVICE_URL_WEB_3004}
|
||||
- ENTE_APPS_ACCOUNTS=${SERVICE_URL_WEB_3001}
|
||||
- ENTE_PHOTOS_ORIGIN=${SERVICE_URL_WEB}
|
||||
|
||||
- ENTE_DB_HOST=${ENTE_DB_HOST:-postgres}
|
||||
- ENTE_DB_PORT=${ENTE_DB_PORT:-5432}
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
# documentation: https://docs.espocrm.com
|
||||
# slogan: EspoCRM is a free and open-source CRM platform.
|
||||
# category: productivity
|
||||
# tags: crm, self-hosted, open-source, workflow, automation, project management
|
||||
# logo: svgs/espocrm.svg
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
espocrm:
|
||||
image: espocrm/espocrm:9
|
||||
environment:
|
||||
- SERVICE_URL_ESPOCRM
|
||||
- ESPOCRM_ADMIN_USERNAME=${ESPOCRM_ADMIN_USERNAME:-admin}
|
||||
- ESPOCRM_ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN}
|
||||
- ESPOCRM_DATABASE_PLATFORM=Mysql
|
||||
- ESPOCRM_DATABASE_HOST=espocrm-db
|
||||
- ESPOCRM_DATABASE_NAME=${MARIADB_DATABASE:-espocrm}
|
||||
- ESPOCRM_DATABASE_USER=${SERVICE_USER_MARIADB}
|
||||
- ESPOCRM_DATABASE_PASSWORD=${SERVICE_PASSWORD_MARIADB}
|
||||
- ESPOCRM_SITE_URL=${SERVICE_URL_ESPOCRM}
|
||||
volumes:
|
||||
- espocrm:/var/www/html
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
||||
interval: 2s
|
||||
start_period: 60s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
depends_on:
|
||||
espocrm-db:
|
||||
condition: service_healthy
|
||||
|
||||
espocrm-daemon:
|
||||
image: espocrm/espocrm:9
|
||||
container_name: espocrm-daemon
|
||||
volumes:
|
||||
- espocrm:/var/www/html
|
||||
restart: always
|
||||
entrypoint: docker-daemon.sh
|
||||
depends_on:
|
||||
espocrm:
|
||||
condition: service_healthy
|
||||
|
||||
espocrm-websocket:
|
||||
image: espocrm/espocrm:9
|
||||
container_name: espocrm-websocket
|
||||
environment:
|
||||
- SERVICE_URL_ESPOCRM_WEBSOCKET_8080
|
||||
- ESPOCRM_CONFIG_USE_WEB_SOCKET=true
|
||||
- ESPOCRM_CONFIG_WEB_SOCKET_URL=$SERVICE_URL_ESPOCRM_WEBSOCKET
|
||||
- ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN=tcp://*:7777
|
||||
- ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN=tcp://espocrm-websocket:7777
|
||||
volumes:
|
||||
- espocrm:/var/www/html
|
||||
restart: always
|
||||
entrypoint: docker-websocket.sh
|
||||
depends_on:
|
||||
espocrm:
|
||||
condition: service_healthy
|
||||
|
||||
espocrm-db:
|
||||
image: mariadb:11.8
|
||||
environment:
|
||||
- MARIADB_DATABASE=${MARIADB_DATABASE:-espocrm}
|
||||
- MARIADB_USER=${SERVICE_USER_MARIADB}
|
||||
- MARIADB_PASSWORD=${SERVICE_PASSWORD_MARIADB}
|
||||
- MARIADB_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT}
|
||||
volumes:
|
||||
- espocrm-db:/var/lib/mysql
|
||||
healthcheck:
|
||||
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||
interval: 20s
|
||||
start_period: 10s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://firefly-iii.org
|
||||
# slogan: A personal finances manager that can help you save money.
|
||||
# category: productivity
|
||||
# category: finance
|
||||
# tags: finance, money, personal, manager
|
||||
# logo: svgs/firefly.svg
|
||||
# port: 8080
|
||||
|
||||
@@ -10,7 +10,7 @@ services:
|
||||
image: codeberg.org/forgejo/forgejo:8
|
||||
environment:
|
||||
- SERVICE_URL_FORGEJO_3000
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO}
|
||||
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
|
||||
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
|
||||
- USER_UID=1000
|
||||
|
||||
@@ -10,7 +10,7 @@ services:
|
||||
image: codeberg.org/forgejo/forgejo:8
|
||||
environment:
|
||||
- SERVICE_URL_FORGEJO_3000
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO}
|
||||
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
|
||||
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
|
||||
- USER_UID=1000
|
||||
|
||||
@@ -10,7 +10,7 @@ services:
|
||||
image: codeberg.org/forgejo/forgejo:8
|
||||
environment:
|
||||
- SERVICE_URL_FORGEJO_3000
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO}
|
||||
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
|
||||
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
|
||||
- USER_UID=1000
|
||||
|
||||
@@ -11,7 +11,7 @@ services:
|
||||
image: codeberg.org/forgejo/forgejo:8
|
||||
environment:
|
||||
- SERVICE_URL_FORGEJO_3000
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO}
|
||||
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
|
||||
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
|
||||
- USER_UID=1000
|
||||
|
||||
@@ -11,7 +11,7 @@ services:
|
||||
image: codeberg.org/forgejo/forgejo:8
|
||||
environment:
|
||||
- SERVICE_URL_FORGEJO_3000
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO}
|
||||
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
|
||||
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
|
||||
- USER_UID=1000
|
||||
|
||||
@@ -11,7 +11,7 @@ services:
|
||||
image: codeberg.org/forgejo/forgejo:8
|
||||
environment:
|
||||
- SERVICE_URL_FORGEJO_3000
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO}
|
||||
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
|
||||
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
|
||||
- USER_UID=1000
|
||||
|
||||
@@ -11,7 +11,7 @@ services:
|
||||
image: codeberg.org/forgejo/forgejo:8
|
||||
environment:
|
||||
- SERVICE_URL_FORGEJO_3000
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO}
|
||||
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
|
||||
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS:-false}
|
||||
- USER_UID=1000
|
||||
|
||||
@@ -10,7 +10,7 @@ services:
|
||||
image: codeberg.org/forgejo/forgejo:8
|
||||
environment:
|
||||
- SERVICE_URL_FORGEJO_3000
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO_3000}
|
||||
- FORGEJO__server__ROOT_URL=${SERVICE_URL_FORGEJO}
|
||||
- FORGEJO__migrations__ALLOWED_DOMAINS=${FORGEJO__migrations__ALLOWED_DOMAINS}
|
||||
- FORGEJO__migrations__ALLOW_LOCALNETWORKS=${FORGEJO__migrations__ALLOW_LOCALNETWORKS-false}
|
||||
- USER_UID=1000
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://formbricks.com/docs/self-hosting/setup/docker
|
||||
# slogan: Open Source Survey Platform
|
||||
# category: analytics
|
||||
# category: productivity
|
||||
# tags: form, builder, forms, survey
|
||||
# logo: svgs/formbricks.png
|
||||
# port: 3000
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://foundryvtt.com/kb/
|
||||
# slogan: Foundry Virtual Tabletop is a self-hosted & modern roleplaying platform
|
||||
# category: media
|
||||
# category: games
|
||||
# tags: foundryvtt,foundry,vtt,ttrpg,roleplaying
|
||||
# logo: svgs/foundryvtt.png
|
||||
# port: 30000
|
||||
|
||||
@@ -1,6 +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
|
||||
# category: helpdesk
|
||||
# tags: helpdesk, support, ticketing, customer-support
|
||||
# logo: svgs/freescout.png
|
||||
# port: 80
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://freshrss.org/index.html
|
||||
# slogan: A free, self-hostable feed aggregator.
|
||||
# category: cms
|
||||
# category: RSS
|
||||
# tags: rss, feed
|
||||
# logo: svgs/freshrss.png
|
||||
# port: 80
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://freshrss.org/index.html
|
||||
# slogan: A free, self-hostable feed aggregator.
|
||||
# category: cms
|
||||
# category: RSS
|
||||
# tags: rss, feed
|
||||
# logo: svgs/freshrss.png
|
||||
# port: 80
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://freshrss.org/index.html
|
||||
# slogan: A free, self-hostable feed aggregator.
|
||||
# category: cms
|
||||
# category: RSS
|
||||
# tags: rss, feed
|
||||
# logo: svgs/freshrss.png
|
||||
# port: 80
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://freshrss.org/index.html
|
||||
# slogan: A free, self-hostable feed aggregator.
|
||||
# category: cms
|
||||
# category: RSS
|
||||
# tags: rss, feed
|
||||
# logo: svgs/freshrss.png
|
||||
# port: 80
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://github.com/glanceapp/glance
|
||||
# slogan: A self-hosted dashboard that puts all your feeds in one place.
|
||||
# category: monitoring
|
||||
# category: productivity
|
||||
# tags: dashboard, server, applications, interface, rrss
|
||||
# logo: svgs/glance.png
|
||||
# port: 8080
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# documentation: https://glitchtip.com
|
||||
# slogan: GlitchTip is a self-hosted, open-source error tracking system.
|
||||
# slogan: GlitchTip is a error tracking system.
|
||||
# category: monitoring
|
||||
# tags: error, tracking, open-source, self-hosted, sentry
|
||||
# tags: error, tracking, sentry
|
||||
# logo: svgs/glitchtip.png
|
||||
# port: 8080
|
||||
# port: 8000
|
||||
|
||||
services:
|
||||
postgres:
|
||||
@@ -29,14 +29,14 @@ services:
|
||||
retries: 10
|
||||
|
||||
web:
|
||||
image: glitchtip/glitchtip
|
||||
image: glitchtip/glitchtip:6.0
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- SERVICE_URL_GLITCHTIP_8080
|
||||
- SERVICE_URL_GLITCHTIP_8000
|
||||
- DATABASE_URL=postgres://$SERVICE_USER_POSTGRESQL:$SERVICE_PASSWORD_POSTGRESQL@postgres:5432/${POSTGRESQL_DATABASE:-glitchtip}
|
||||
- SECRET_KEY=$SERVICE_BASE64_64_ENCRYPTION
|
||||
- EMAIL_URL=${EMAIL_URL:-consolemail://}
|
||||
@@ -53,7 +53,7 @@ services:
|
||||
retries: 10
|
||||
|
||||
worker:
|
||||
image: glitchtip/glitchtip
|
||||
image: glitchtip/glitchtip:6.0
|
||||
command: ./bin/run-celery-with-beat.sh
|
||||
depends_on:
|
||||
postgres:
|
||||
@@ -77,7 +77,7 @@ services:
|
||||
retries: 10
|
||||
|
||||
migrate:
|
||||
image: glitchtip/glitchtip
|
||||
image: glitchtip/glitchtip:6.0
|
||||
restart: "no"
|
||||
depends_on:
|
||||
postgres:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://gotify.net/docs/install
|
||||
# slogan: Gotify is an open-source self-hosted notification server.
|
||||
# category: productivity
|
||||
# category: messaging
|
||||
# tags: productivity,notification,collaboration
|
||||
# logo: svgs/gotify.png
|
||||
# port: 80
|
||||
@@ -26,4 +26,4 @@ services:
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://github.com/aldinokemal/go-whatsapp-web-multidevice
|
||||
# slogan: Golang WhatsApp - Built with Go for efficient memory use
|
||||
# category: cms
|
||||
# category: messaging
|
||||
# tags: whatsapp,golang,multidevice,api,go-whatsapp
|
||||
# logo: svgs/gowa.svg
|
||||
# port: 3000
|
||||
|
||||
@@ -11,7 +11,7 @@ services:
|
||||
environment:
|
||||
- SERVICE_URL_GRAFANA_3000
|
||||
- GF_SERVER_ROOT_URL=${SERVICE_URL_GRAFANA}
|
||||
- GF_SERVER_DOMAIN=${SERVICE_URL_GRAFANA}
|
||||
- GF_SERVER_DOMAIN=${SERVICE_FQDN_GRAFANA}
|
||||
- GF_SECURITY_ADMIN_PASSWORD=${SERVICE_PASSWORD_GRAFANA}
|
||||
- GF_DATABASE_TYPE=postgres
|
||||
- GF_DATABASE_HOST=postgresql
|
||||
|
||||
@@ -11,7 +11,7 @@ services:
|
||||
environment:
|
||||
- SERVICE_URL_GRAFANA_3000
|
||||
- GF_SERVER_ROOT_URL=${SERVICE_URL_GRAFANA}
|
||||
- GF_SERVER_DOMAIN=${SERVICE_URL_GRAFANA}
|
||||
- GF_SERVER_DOMAIN=${SERVICE_FQDN_GRAFANA}
|
||||
- GF_SECURITY_ADMIN_PASSWORD=${SERVICE_PASSWORD_GRAFANA}
|
||||
volumes:
|
||||
- grafana-data:/var/lib/grafana
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# documentation: https://github.com/grimmory-tools/grimmory
|
||||
# slogan: Grimmory is a self-hosted application for managing your entire book collection in one place. Organize, read, annotate, sync across devices, and share without relying on third-party services.
|
||||
# tags: books,ebooks,library,reader
|
||||
# logo: svgs/grimmory.svg
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
grimmory:
|
||||
image: 'grimmory/grimmory:nightly-20260403-3a371f7' # Released on April 3 2026
|
||||
environment:
|
||||
- SERVICE_URL_GRIMMORY_80
|
||||
- 'USER_ID=${GRIMMORY_USER_ID:-0}'
|
||||
- 'GROUP_ID=${GRIMMORY_GROUP_ID:-0}'
|
||||
- 'TZ=${TZ:-UTC}'
|
||||
- 'DATABASE_URL=jdbc:mariadb://mariadb:3306/${MARIADB_DATABASE:-grimmory-db}'
|
||||
- 'DATABASE_USERNAME=${SERVICE_USER_MARIADB}'
|
||||
- 'DATABASE_PASSWORD=${SERVICE_PASSWORD_MARIADB}'
|
||||
- BOOKLORE_PORT=80
|
||||
volumes:
|
||||
- 'grimmory-data:/app/data'
|
||||
- 'grimmory-books:/books'
|
||||
- 'grimmory-bookdrop:/bookdrop'
|
||||
healthcheck:
|
||||
test: 'wget --no-verbose --tries=1 --spider http://127.0.0.1/health || exit 1'
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
depends_on:
|
||||
mariadb:
|
||||
condition: service_healthy
|
||||
|
||||
mariadb:
|
||||
image: 'mariadb:12'
|
||||
environment:
|
||||
- 'MARIADB_USER=${SERVICE_USER_MARIADB}'
|
||||
- 'MARIADB_PASSWORD=${SERVICE_PASSWORD_MARIADB}'
|
||||
- 'MARIADB_ROOT_PASSWORD=${SERVICE_PASSWORD_MARIADBROOT}'
|
||||
- 'MARIADB_DATABASE=${MARIADB_DATABASE:-grimmory-db}'
|
||||
volumes:
|
||||
- 'mariadb-data:/var/lib/mysql'
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- healthcheck.sh
|
||||
- '--connect'
|
||||
- '--innodb_initialized'
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
@@ -3,16 +3,16 @@
|
||||
# category: productivity
|
||||
# tags: lowcode, nocode, spreadsheet, database, relational
|
||||
# logo: svgs/grist.svg
|
||||
# port: 443
|
||||
# port: 8484
|
||||
|
||||
services:
|
||||
grist:
|
||||
image: gristlabs/grist:latest
|
||||
environment:
|
||||
- SERVICE_URL_GRIST_443
|
||||
- SERVICE_URL_GRIST_8484
|
||||
- APP_HOME_URL=${SERVICE_URL_GRIST}
|
||||
- APP_DOC_URL=${SERVICE_URL_GRIST}
|
||||
- GRIST_DOMAIN=${SERVICE_URL_GRIST}
|
||||
- GRIST_DOMAIN=${SERVICE_FQDN_GRIST}
|
||||
- TZ=${TZ:-UTC}
|
||||
- GRIST_SUPPORT_ANON=${SUPPORT_ANON:-false}
|
||||
- GRIST_FORCE_LOGIN=${FORCE_LOGIN:-true}
|
||||
@@ -20,7 +20,7 @@ services:
|
||||
- GRIST_PAGE_TITLE_SUFFIX=${PAGE_TITLE_SUFFIX:- - Suffix}
|
||||
- GRIST_HIDE_UI_ELEMENTS=${HIDE_UI_ELEMENTS:-billing,sendToDrive,supportGrist,multiAccounts,tutorials}
|
||||
- GRIST_UI_FEATURES=${UI_FEATURES:-helpCenter,billing,templates,createSite,multiSite,sendToDrive,tutorials,supportGrist}
|
||||
- GRIST_DEFAULT_EMAIL=${DEFAULT_EMAIL:-test@example.com}
|
||||
- GRIST_DEFAULT_EMAIL=${DEFAULT_EMAIL:-?}
|
||||
- GRIST_ORG_IN_PATH=${ORG_IN_PATH:-true}
|
||||
- GRIST_OIDC_SP_HOST=${SERVICE_URL_GRIST}
|
||||
- GRIST_OIDC_IDP_SCOPES=${OIDC_IDP_SCOPES:-openid profile email}
|
||||
@@ -37,7 +37,7 @@ services:
|
||||
- TYPEORM_DATABASE=${POSTGRES_DATABASE:-grist-db}
|
||||
- TYPEORM_USERNAME=${SERVICE_USER_POSTGRES}
|
||||
- TYPEORM_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
- TYPEORM_HOST=${TYPEORM_HOST}
|
||||
- TYPEORM_HOST=${TYPEORM_HOST:-postgres}
|
||||
- TYPEORM_PORT=${TYPEORM_PORT:-5432}
|
||||
- TYPEORM_LOGGING=${TYPEORM_LOGGING:-false}
|
||||
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# documentation: https://docs.hatchet.run/self-hosting/docker-compose
|
||||
# slogan: Hatchet allows you to run background tasks at scale with a high-throughput, low-latency computing service built on an open-source, fault-tolerant queue.
|
||||
# category: automation
|
||||
# tags: ai-agents,background-tasks,data-pipelines,scheduling
|
||||
# logo: svgs/hatchet.svg
|
||||
# port: 80
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# category: productivity
|
||||
# tags: form, builder, forms, survey, quiz, open source, self-hosted, docker
|
||||
# logo: svgs/heyform.svg
|
||||
# port: 8000
|
||||
# port: 9157
|
||||
|
||||
services:
|
||||
heyform:
|
||||
@@ -16,7 +16,7 @@ services:
|
||||
keydb:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- SERVICE_URL_HEYFORM_8000
|
||||
- SERVICE_URL_HEYFORM_9157
|
||||
- APP_HOMEPAGE_URL=${SERVICE_URL_HEYFORM}
|
||||
- SESSION_KEY=${SERVICE_BASE64_64_SESSION}
|
||||
- FORM_ENCRYPTION_KEY=${SERVICE_BASE64_64_FORM}
|
||||
@@ -25,7 +25,7 @@ services:
|
||||
- REDIS_PORT=6379
|
||||
- REDIS_PASSWORD=${SERVICE_PASSWORD_KEYDB}
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8000 || exit 1"]
|
||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:9157 || exit 1"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://github.com/sysadminsmedia/homebox
|
||||
# slogan: Homebox is the inventory and organization system built for the Home User.
|
||||
# category: storage
|
||||
# category: productivity
|
||||
# tags: inventory, home, organize
|
||||
# logo: svgs/homebox.svg
|
||||
# port: 7745
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
services:
|
||||
backend:
|
||||
image: hoppscotch/hoppscotch:latest
|
||||
image: hoppscotch/hoppscotch:2026.2.1
|
||||
environment:
|
||||
- SERVICE_URL_HOPPSCOTCH_80
|
||||
- VITE_ALLOWED_AUTH_PROVIDERS=${VITE_ALLOWED_AUTH_PROVIDERS:-GOOGLE,GITHUB,MICROSOFT,EMAIL}
|
||||
@@ -34,7 +34,7 @@ services:
|
||||
retries: 10
|
||||
|
||||
hoppscotch-db:
|
||||
image: postgres:latest
|
||||
image: postgres:15
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
environment:
|
||||
@@ -51,7 +51,7 @@ services:
|
||||
|
||||
db-migration:
|
||||
exclude_from_hc: true
|
||||
image: hoppscotch/hoppscotch:latest
|
||||
image: hoppscotch/hoppscotch:2026.2.1
|
||||
depends_on:
|
||||
hoppscotch-db:
|
||||
condition: service_healthy
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# documentation: https://imgcompress.karimzouine.com
|
||||
# slogan: Offline image compression, conversion, and AI background removal for Docker homelabs.
|
||||
# category: media
|
||||
# tags: compress,photo,server,metadata
|
||||
# logo: svgs/imgcompress.png
|
||||
# port: 5000
|
||||
|
||||
services:
|
||||
imgcompress:
|
||||
image: karimz1/imgcompress:0.6.0
|
||||
environment:
|
||||
- SERVICE_URL_IMGCOMPRESS_5000
|
||||
- DISABLE_LOGO=${DISABLE_LOGO:-false}
|
||||
- DISABLE_STORAGE_MANAGEMENT=${DISABLE_STORAGE_MANAGEMENT:-false}
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:5000"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://invoiceninja.github.io/selfhost.html
|
||||
# slogan: The leading open-source invoicing platform
|
||||
# category: productivity
|
||||
# category: finance
|
||||
# tags: invoicing, billing, accounting, finance, self-hosted
|
||||
# logo: svgs/invoiceninja.png
|
||||
# port: 9000
|
||||
|
||||
@@ -1,127 +1,139 @@
|
||||
# ignore: true
|
||||
# documentation: https://jitsi.github.io/handbook/docs/intro
|
||||
# documentation: https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/
|
||||
# slogan: Self-hosted Jitsi Meet — open-source video conferencing platform
|
||||
# tags: jitsi,video,conference,webrtc,meeting,self-hosted
|
||||
# category: productivity
|
||||
# slogan: World's easiest way to add meetings to your apps
|
||||
# logo: svgs/jitsi.svg
|
||||
# tags: video, conferencing, meetings, communication, open-source
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
jitsi-web:
|
||||
image: "jitsi/web:${JITSI_IMAGE_VERSION:-unstable}"
|
||||
container_name: jitsi-web
|
||||
image: "jitsi/web:stable-10888"
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8001:80"
|
||||
- "8443:443"
|
||||
volumes:
|
||||
- ~/.jitsi-meet-cfg/web:/config:Z
|
||||
- ~/.jitsi-meet-cfg/web/crontabs:/var/spool/cron/crontabs:Z
|
||||
- ~/.jitsi-meet-cfg/transcripts:/usr/share/jitsi-meet/transcripts:Z
|
||||
environment:
|
||||
- SERVICE_URL_JITSI
|
||||
- PUBLIC_URL=$SERVICE_URL_JITSI
|
||||
- JITSI_IMAGE_VERSION=unstable
|
||||
- JIBRI_RECORDER_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||
- JIBRI_XMPP_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||
- JICOFO_AUTH_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||
- JIGASI_XMPP_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||
- JVB_AUTH_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||
- TZ=UTC
|
||||
- ENABLE_AUTH=0
|
||||
- ENABLE_GUESTS=1
|
||||
- ENABLE_LETSENCRYPT=0
|
||||
- ENABLE_HTTP_REDIRECT=0
|
||||
- DISABLE_HTTPS=1
|
||||
- XMPP_DOMAIN=meet.jitsi
|
||||
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||
- XMPP_GUEST_DOMAIN=guest.meet.jitsi
|
||||
- XMPP_MUC_DOMAIN=conference.meet.jitsi
|
||||
- XMPP_INTERNAL_MUC_DOMAIN=internal.auth.meet.jitsi
|
||||
- XMPP_BOSH_URL_BASE=http://prosody:5280
|
||||
- JVB_BREWERY_MUC=jvbbrewery
|
||||
- JICOFO_COMPONENT_SECRET=${SERVICE_PASSWORD_JICOFO}
|
||||
- JICOFO_AUTH_PASSWORD=${SERVICE_PASSWORD_JICOFO}
|
||||
- JVB_AUTH_PASSWORD=${SERVICE_PASSWORD_JVB}
|
||||
- TZ=${TZ:-UTC}
|
||||
depends_on:
|
||||
- prosody
|
||||
- jicofo
|
||||
- jvb
|
||||
volumes:
|
||||
- jitsi-web:/config
|
||||
networks:
|
||||
meet.jitsi:
|
||||
aliases:
|
||||
- meet.jitsi
|
||||
depends_on:
|
||||
- jvb
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost"]
|
||||
interval: 2s
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
prosody:
|
||||
image: "jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable}"
|
||||
expose:
|
||||
- '5222'
|
||||
- '5347'
|
||||
- '5280'
|
||||
container_name: jitsi-xmpp
|
||||
image: "jitsi/prosody:stable-10888"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ~/.jitsi-meet-cfg/prosody/config:/config:Z
|
||||
- ~/.jitsi-meet-cfg/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
|
||||
environment:
|
||||
- JICOFO_AUTH_PASSWORD
|
||||
- JVB_AUTH_PASSWORD
|
||||
- AUTH_TYPE=internal
|
||||
- ENABLE_AUTH=0
|
||||
- ENABLE_GUESTS=1
|
||||
- XMPP_DOMAIN=meet.jitsi
|
||||
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||
- XMPP_GUEST_DOMAIN=guest.meet.jitsi
|
||||
- XMPP_MUC_DOMAIN=conference.meet.jitsi
|
||||
- XMPP_INTERNAL_MUC_DOMAIN=internal.auth.meet.jitsi
|
||||
- JICOFO_COMPONENT_SECRET=${SERVICE_PASSWORD_JICOFO}
|
||||
- JICOFO_AUTH_PASSWORD=${SERVICE_PASSWORD_JICOFO}
|
||||
- JVB_AUTH_PASSWORD=${SERVICE_PASSWORD_JVB}
|
||||
- PUBLIC_URL=$SERVICE_URL_JITSI
|
||||
- TZ
|
||||
- TZ=${TZ:-UTC}
|
||||
- LOG_LEVEL=${LOG_LEVEL:-info}
|
||||
volumes:
|
||||
- jitsi-prosody:/config
|
||||
networks:
|
||||
meet.jitsi:
|
||||
aliases:
|
||||
- xmpp.meet.jitsi
|
||||
- auth.meet.jitsi
|
||||
- guest.meet.jitsi
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:5280/http-bind"]
|
||||
interval: 2s
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
jicofo:
|
||||
image: "jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable}"
|
||||
container_name: jitsi-jicofo
|
||||
image: "jitsi/jicofo:stable-10888"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ~/.jitsi-meet-cfg/jicofo:/config:Z
|
||||
environment:
|
||||
- AUTH_TYPE=internal
|
||||
- ENABLE_AUTH=0
|
||||
- XMPP_DOMAIN=meet.jitsi
|
||||
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||
- XMPP_INTERNAL_MUC_DOMAIN=internal.auth.meet.jitsi
|
||||
- XMPP_MUC_DOMAIN=conference.meet.jitsi
|
||||
- XMPP_SERVER=prosody
|
||||
- JICOFO_AUTH_PASSWORD
|
||||
- TZ
|
||||
- JICOFO_COMPONENT_SECRET=${SERVICE_PASSWORD_JICOFO}
|
||||
- JICOFO_AUTH_PASSWORD=${SERVICE_PASSWORD_JICOFO}
|
||||
- JVB_BREWERY_MUC=jvbbrewery
|
||||
- JICOFO_ENABLE_HEALTH_CHECKS=1
|
||||
- TZ=${TZ:-UTC}
|
||||
depends_on:
|
||||
- prosody
|
||||
volumes:
|
||||
- jitsi-jicofo:/config
|
||||
networks:
|
||||
meet.jitsi:
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8888/about/health"]
|
||||
interval: 2s
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
jvb:
|
||||
image: "jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable}"
|
||||
container_name: jitsi-jvb
|
||||
image: "jitsi/jvb:stable-10888"
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- '10000:10000/udp'
|
||||
- '8080:8080'
|
||||
- '10000'
|
||||
volumes:
|
||||
- ~/.jitsi-meet-cfg/jvb:/config:Z
|
||||
ports:
|
||||
- "10000:10000/udp"
|
||||
environment:
|
||||
- JVB_ADVERTISE_IPS
|
||||
- JVB_AUTH_PASSWORD
|
||||
- PUBLIC_URL=$SERVICE_URL_JITSI
|
||||
- TZ
|
||||
- XMPP_SERVER=prosody
|
||||
- XMPP_DOMAIN=meet.jitsi
|
||||
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||
- XMPP_INTERNAL_MUC_DOMAIN=internal.auth.meet.jitsi
|
||||
- XMPP_MUC_DOMAIN=conference.meet.jitsi
|
||||
- JVB_AUTH_USER=jvb
|
||||
- JVB_AUTH_PASSWORD=${SERVICE_PASSWORD_JVB}
|
||||
- JVB_BREWERY_MUC=jvbbrewery
|
||||
- JVB_PORT=10000
|
||||
- JVB_ADVERTISE_IPS=${JVB_ADVERTISE_IPS:-} #Optional: set your public IP only if STUN auto-detection fails or the server is behind NAT / multiple interfaces
|
||||
- JVB_STUN_SERVERS=${JVB_STUN_SERVERS:-stun.l.google.com:19302}
|
||||
- PUBLIC_URL=$SERVICE_URL_JITSI
|
||||
- TZ=${TZ:-UTC}
|
||||
depends_on:
|
||||
- prosody
|
||||
volumes:
|
||||
- jitsi-jvb:/config
|
||||
networks:
|
||||
meet.jitsi:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.udp.routers.my-udp-router.entrypoints=video"
|
||||
- "traefik.udp.routers.my-udp-router.service=my-udp-service"
|
||||
- "traefik.udp.services.my-udp-service.loadbalancer.server.port=10000"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080/about/health"]
|
||||
interval: 2s
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
networks:
|
||||
meet.jitsi:
|
||||
|
||||
volumes:
|
||||
jitsi-web:
|
||||
jitsi-xmpp:
|
||||
jitsi-jicofo:
|
||||
jitsi-jvb:
|
||||
@@ -88,6 +88,11 @@ services:
|
||||
environment:
|
||||
<<: *app-env
|
||||
depends_on: *langfuse-depends-on
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:3030/api/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
postgres:
|
||||
image: postgres:17-alpine
|
||||
@@ -119,7 +124,7 @@ services:
|
||||
retries: 10
|
||||
|
||||
clickhouse:
|
||||
image: clickhouse/clickhouse-server:latest
|
||||
image: clickhouse/clickhouse-server:26.2.4.23
|
||||
user: "101:101"
|
||||
environment:
|
||||
- CLICKHOUSE_DB=${CLICKHOUSE_DB:-default}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
services:
|
||||
librechat:
|
||||
image: ghcr.io/danny-avila/librechat-dev-api:latest
|
||||
image: ghcr.io/danny-avila/librechat-dev-api:6ecd1b510faaa593ad954fb6276c18e5f12a8e53 # Released on April 2
|
||||
environment:
|
||||
- SERVICE_URL_LIBRECHAT_3080
|
||||
- DOMAIN_CLIENT=${SERVICE_URL_LIBRECHAT}
|
||||
@@ -64,7 +64,7 @@ services:
|
||||
"--no-verbose",
|
||||
"--tries=1",
|
||||
"--spider",
|
||||
"http://127.0.0.1:3080/api/health",
|
||||
"http://127.0.0.1:3080/health",
|
||||
]
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
@@ -92,7 +92,7 @@ services:
|
||||
retries: 3
|
||||
|
||||
meilisearch:
|
||||
image: getmeili/meilisearch:v1.12.3
|
||||
image: getmeili/meilisearch:v1.35.1
|
||||
environment:
|
||||
- MEILI_MASTER_KEY=${SERVICE_PASSWORD_MEILI}
|
||||
- MEILI_NO_ANALYTICS=${MEILI_NO_ANALYTICS:-false}
|
||||
@@ -107,7 +107,7 @@ services:
|
||||
retries: 15
|
||||
|
||||
vectordb:
|
||||
image: ankane/pgvector:latest
|
||||
image: ankane/pgvector:v0.5.1 # pgvector by ankane is archived and not maintained, in future we have to swap this image to something else that is well maintained
|
||||
environment:
|
||||
- POSTGRES_DB=rag
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||
@@ -129,7 +129,7 @@ services:
|
||||
start_period: 10s
|
||||
|
||||
rag-api:
|
||||
image: ghcr.io/danny-avila/librechat-rag-api-dev-lite:latest
|
||||
image: ghcr.io/danny-avila/librechat-rag-api-dev-lite:v0.7.3
|
||||
environment:
|
||||
- POSTGRES_DB=rag
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# documentation: https://github.com/librespeed/speedtest
|
||||
# slogan: Self-hosted lightweight Speed Test.
|
||||
# category: devtools
|
||||
# tags: speedtest, internet-speed
|
||||
# logo: svgs/librespeed.png
|
||||
# port: 82
|
||||
|
||||
services:
|
||||
librespeed:
|
||||
container_name: librespeed
|
||||
image: 'ghcr.io/librespeed/speedtest:latest'
|
||||
environment:
|
||||
- SERVICE_URL_LIBRESPEED_82
|
||||
- MODE=standalone
|
||||
- TELEMETRY=false
|
||||
- DISTANCE=km
|
||||
- WEBPORT=82
|
||||
healthcheck:
|
||||
test: 'curl 127.0.0.1:82 || exit 1'
|
||||
timeout: 1s
|
||||
interval: 1m0s
|
||||
retries: 1
|
||||
@@ -12,7 +12,7 @@ services:
|
||||
- SERVICE_URL_LISTMONK_9000
|
||||
- LISTMONK_app__address=0.0.0.0:9000
|
||||
- LISTMONK_db__host=postgres
|
||||
- LISTMONK_db__name=listmonk
|
||||
- LISTMONK_db__database=listmonk
|
||||
- LISTMONK_db__user=$SERVICE_USER_POSTGRES
|
||||
- LISTMONK_db__password=$SERVICE_PASSWORD_POSTGRES
|
||||
- LISTMONK_db__port=5432
|
||||
@@ -37,7 +37,7 @@ services:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- LISTMONK_db__host=postgres
|
||||
- LISTMONK_db__name=listmonk
|
||||
- LISTMONK_db__database=listmonk
|
||||
- LISTMONK_db__user=$SERVICE_USER_POSTGRES
|
||||
- LISTMONK_db__password=$SERVICE_PASSWORD_POSTGRES
|
||||
- LISTMONK_db__port=5432
|
||||
|
||||
@@ -10,7 +10,7 @@ services:
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
entrypoint: ["sh", "-c", "npm run cli db seed -- --swe && npm start"]
|
||||
entrypoint: ["sh", "-c", "npm run cli db seed -- --swe && npm run alteration deploy latest && npm start"]
|
||||
environment:
|
||||
- SERVICE_URL_LOGTO
|
||||
- TRUST_PROXY_HEADER=1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://docs.mattermost.com
|
||||
# slogan: Mattermost is an open source, self-hosted Slack-alternative.
|
||||
# category: mattermost
|
||||
# category: messaging
|
||||
# tags: mattermost,slack,alternative
|
||||
# logo: svgs/mattermost.svg
|
||||
# port: 8065
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# ignore: true
|
||||
# documentation: https://www.mautic.org/
|
||||
# slogan: Mautic v5 Open Source Marketing Automation
|
||||
# category: analytics
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# ignore: true
|
||||
# documentation: https://github.com/maybe-finance/maybe
|
||||
# slogan: Maybe, the OS for your personal finances.
|
||||
# category: productivity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://github.com/itzg/docker-minecraft-server
|
||||
# slogan: Minecraft Server that will automatically download selected version at startup.
|
||||
# category: media
|
||||
# category: games
|
||||
# tags: minecraft
|
||||
# logo: svgs/minecraft.svg
|
||||
# port: 25565
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://miniflux.app/docs/index.html
|
||||
# slogan: Miniflux is a minimalist and opinionated feed reader.
|
||||
# category: cms
|
||||
# category: RSS
|
||||
# tags: miniflux,rss,feed,self,hosted
|
||||
# logo: svgs/miniflux.svg
|
||||
# port: 8080
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# ignore: true
|
||||
# documentation: https://github.com/coollabsio/minio?tab=readme-ov-file#minio-docker-images
|
||||
# slogan: MinIO is a high performance object storage server compatible with Amazon S3 APIs.
|
||||
# category: storage
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
services:
|
||||
n8n:
|
||||
image: n8nio/n8n:2.1.5
|
||||
image: n8nio/n8n:2.10.4
|
||||
environment:
|
||||
- SERVICE_URL_N8N_5678
|
||||
- N8N_EDITOR_BASE_URL=${SERVICE_URL_N8N}
|
||||
@@ -48,13 +48,13 @@ services:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:5678/"]
|
||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:5678/healthz"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
n8n-worker:
|
||||
image: n8nio/n8n:2.1.5
|
||||
image: n8nio/n8n:2.10.4
|
||||
command: worker
|
||||
environment:
|
||||
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE:-UTC}
|
||||
@@ -122,7 +122,7 @@ services:
|
||||
retries: 10
|
||||
|
||||
task-runners:
|
||||
image: n8nio/runners:2.1.5
|
||||
image: n8nio/runners:2.10.4
|
||||
environment:
|
||||
- N8N_RUNNERS_TASK_BROKER_URI=${N8N_RUNNERS_TASK_BROKER_URI:-http://n8n-worker:5679}
|
||||
- N8N_RUNNERS_AUTH_TOKEN=$SERVICE_PASSWORD_N8N
|
||||
@@ -133,7 +133,7 @@ services:
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- 'wget -qO- http://127.0.0.1:5680/'
|
||||
- 'wget -qO- http://127.0.0.1:5680/healthz'
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
services:
|
||||
n8n:
|
||||
image: n8nio/n8n:2.1.5
|
||||
image: n8nio/n8n:2.10.2
|
||||
environment:
|
||||
- SERVICE_URL_N8N_5678
|
||||
- N8N_EDITOR_BASE_URL=${SERVICE_URL_N8N}
|
||||
@@ -41,13 +41,13 @@ services:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:5678/"]
|
||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:5678/healthz"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
task-runners:
|
||||
image: n8nio/runners:2.1.5
|
||||
image: n8nio/runners:2.10.2
|
||||
environment:
|
||||
- N8N_RUNNERS_TASK_BROKER_URI=${N8N_RUNNERS_TASK_BROKER_URI:-http://n8n:5679}
|
||||
- N8N_RUNNERS_AUTH_TOKEN=$SERVICE_PASSWORD_N8N
|
||||
@@ -58,7 +58,7 @@ services:
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- 'wget -qO- http://127.0.0.1:5680/'
|
||||
- 'wget -qO- http://127.0.0.1:5680/healthz'
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
services:
|
||||
n8n:
|
||||
image: n8nio/n8n:2.1.5
|
||||
image: n8nio/n8n:2.10.2
|
||||
environment:
|
||||
- SERVICE_URL_N8N_5678
|
||||
- N8N_EDITOR_BASE_URL=${SERVICE_URL_N8N}
|
||||
@@ -32,13 +32,13 @@ services:
|
||||
volumes:
|
||||
- n8n-data:/home/node/.n8n
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:5678/"]
|
||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:5678/healthz"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
task-runners:
|
||||
image: n8nio/runners:2.1.5
|
||||
image: n8nio/runners:2.10.2
|
||||
environment:
|
||||
- N8N_RUNNERS_TASK_BROKER_URI=${N8N_RUNNERS_TASK_BROKER_URI:-http://n8n:5679}
|
||||
- N8N_RUNNERS_AUTH_TOKEN=${SERVICE_PASSWORD_N8N}
|
||||
@@ -49,7 +49,7 @@ services:
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- 'wget -qO- http://127.0.0.1:5680/'
|
||||
- 'wget -qO- http://127.0.0.1:5680/healthz'
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
@@ -13,7 +13,7 @@ services:
|
||||
- 'NB_ENABLE_ROSENPASS=${NB_ENABLE_ROSENPASS:-false}'
|
||||
- 'NB_ENABLE_EXPERIMENTAL_LAZY_CONN=${NB_ENABLE_EXPERIMENTAL_LAZY_CONN:-false}'
|
||||
volumes:
|
||||
- 'netbird-client:/etc/netbird'
|
||||
- 'netbird-client:/var/lib/netbird'
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- SYS_ADMIN
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# documentation: https://docs.digpangolin.com/manage/sites/install-site
|
||||
# slogan: Pangolin tunnels your services to the internet so you can access anything from anywhere.
|
||||
# category: proxy
|
||||
# tags: wireguard, reverse-proxy, zero-trust-network-access, open source
|
||||
# logo: svgs/pangolin-logo.png
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ services:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
||||
interval: 2s
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80/status.php"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ services:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
||||
interval: 2s
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80/status.php"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ services:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
||||
interval: 2s
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80/status.php"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ services:
|
||||
- nextcloud-config:/config
|
||||
- nextcloud-data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
||||
interval: 2s
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80/status.php"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://nocodb.com/
|
||||
# slogan: NocoDB is an open source Airtable alternative. Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet.
|
||||
# category: automation
|
||||
# category: productivity
|
||||
# tags: nocodb,airtable,mysql,postgresql,sqlserver,sqlite,mariadb
|
||||
# logo: svgs/nocodb.svg
|
||||
# port: 8080
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://www.odoo.com/
|
||||
# slogan: Odoo is a suite of open-source business apps that cover all your company needs.
|
||||
# category: cms
|
||||
# category: productivity
|
||||
# tags: business, apps, CRM, eCommerce, accounting, inventory, point of sale, project management, open-source
|
||||
# logo: svgs/odoo.svg
|
||||
# port: 8069
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# documentation: https://docs.openarchiver.com/
|
||||
# slogan: A self-hosted, open-source email archiving solution with full-text search capability.
|
||||
# category: email
|
||||
# tags: email archiving,email,compliance,search
|
||||
# logo: svgs/openarchiver.svg
|
||||
# port: 3000
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
# documentation: https://coolify.io/docs/services/openclaw
|
||||
# slogan: AI-powered coding assistant with multi-provider support and browser automation.
|
||||
# category: ai
|
||||
# tags: ai, coding, assistant, llm, anthropic, openai, automation
|
||||
# logo: svgs/openclaw.svg
|
||||
# port: 8080
|
||||
|
||||
services:
|
||||
openclaw:
|
||||
image: "coollabsio/openclaw:2026.2.6"
|
||||
environment:
|
||||
- SERVICE_FQDN_OPENCLAW_8080
|
||||
- AUTH_USERNAME=$SERVICE_USER_OPENCLAW
|
||||
- AUTH_PASSWORD=$SERVICE_PASSWORD_OPENCLAW
|
||||
- OPENCLAW_GATEWAY_TOKEN=$SERVICE_PASSWORD_64_GATEWAYTOKEN
|
||||
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
||||
- OPENAI_API_KEY=${OPENAI_API_KEY}
|
||||
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
|
||||
- GEMINI_API_KEY=${GEMINI_API_KEY}
|
||||
- XAI_API_KEY=${XAI_API_KEY}
|
||||
- GROQ_API_KEY=${GROQ_API_KEY}
|
||||
- MISTRAL_API_KEY=${MISTRAL_API_KEY}
|
||||
- CEREBRAS_API_KEY=${CEREBRAS_API_KEY}
|
||||
- VENICE_API_KEY=${VENICE_API_KEY}
|
||||
- MOONSHOT_API_KEY=${MOONSHOT_API_KEY}
|
||||
- KIMI_API_KEY=${KIMI_API_KEY}
|
||||
- MINIMAX_API_KEY=${MINIMAX_API_KEY}
|
||||
- ZAI_API_KEY=${ZAI_API_KEY}
|
||||
- AI_GATEWAY_API_KEY=${AI_GATEWAY_API_KEY}
|
||||
- OPENCODE_API_KEY=${OPENCODE_API_KEY}
|
||||
- SYNTHETIC_API_KEY=${SYNTHETIC_API_KEY}
|
||||
- COPILOT_GITHUB_TOKEN=${COPILOT_GITHUB_TOKEN}
|
||||
- XIAOMI_API_KEY=${XIAOMI_API_KEY}
|
||||
- OPENCLAW_PRIMARY_MODEL=${OPENCLAW_PRIMARY_MODEL}
|
||||
- DEEPGRAM_API_KEY=${DEEPGRAM_API_KEY}
|
||||
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
|
||||
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
|
||||
- AWS_REGION=${AWS_REGION:-us-east-1}
|
||||
- AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN}
|
||||
- BEDROCK_PROVIDER_FILTER=${BEDROCK_PROVIDER_FILTER:-anthropic}
|
||||
- OLLAMA_BASE_URL=${OLLAMA_BASE_URL}
|
||||
- PORT=8080
|
||||
- OPENCLAW_GATEWAY_PORT=18789
|
||||
- OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND:-loopback}
|
||||
- OPENCLAW_STATE_DIR=/data/.openclaw
|
||||
- OPENCLAW_WORKSPACE_DIR=/data/workspace
|
||||
- BROWSER_CDP_URL=http://browser:9223
|
||||
- BROWSER_DEFAULT_PROFILE=${BROWSER_DEFAULT_PROFILE:-openclaw}
|
||||
- BROWSER_EVALUATE_ENABLED=${BROWSER_EVALUATE_ENABLED:-true}
|
||||
- BROWSER_SNAPSHOT_MODE=${BROWSER_SNAPSHOT_MODE:-efficient}
|
||||
- BROWSER_REMOTE_TIMEOUT_MS=${BROWSER_REMOTE_TIMEOUT_MS:-1500}
|
||||
- BROWSER_REMOTE_HANDSHAKE_TIMEOUT_MS=${BROWSER_REMOTE_HANDSHAKE_TIMEOUT_MS:-3000}
|
||||
- HOOKS_ENABLED=${HOOKS_ENABLED:-false}
|
||||
- HOOKS_PATH=${HOOKS_PATH:-/hooks}
|
||||
- MOONSHOT_BASE_URL=${MOONSHOT_BASE_URL:-https://api.moonshot.ai/v1}
|
||||
- KIMI_BASE_URL=${KIMI_BASE_URL:-https://api.moonshot.ai/anthropic}
|
||||
- TELEGRAM_BOT_TOKEN=$TELEGRAM_BOT_TOKEN
|
||||
- DISCORD_BOT_TOKEN=$DISCORD_BOT_TOKEN
|
||||
- SLACK_BOT_TOKEN=$SLACK_BOT_TOKEN
|
||||
- SLACK_APP_TOKEN=$SLACK_APP_TOKEN
|
||||
- WHATSAPP_ENABLED=$WHATSAPP_ENABLED
|
||||
- OPENCLAW_DOCKER_APT_PACKAGES=$OPENCLAW_DOCKER_APT_PACKAGES
|
||||
volumes:
|
||||
- "openclaw-data:/data"
|
||||
depends_on:
|
||||
browser:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-sf", "http://127.0.0.1:8080/healthz"]
|
||||
interval: 10s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
browser:
|
||||
image: "coollabsio/openclaw-browser:latest"
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
- CHROME_CLI=--remote-debugging-port=9222
|
||||
volumes:
|
||||
- "browser-data:/config"
|
||||
shm_size: 2g
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/9222' || exit 1"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://openpanel.dev/docs
|
||||
# slogan: Open source alternative to Mixpanel and Plausible for product analytics
|
||||
# category: devtools
|
||||
# category: analytics
|
||||
# tags: analytics, insights, privacy, mixpanel, plausible, google, alternative
|
||||
# logo: svgs/openpanel.svg
|
||||
# port: 3000
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# documentation: https://docs.opnform.com/introduction
|
||||
# slogan: OpnForm is an open-source form builder that lets you create beautiful forms and share them anywhere. It's super fast, you don't need to know how to code
|
||||
# category: productivity
|
||||
# tags: opnform, form, survey, cloud, open-source, self-hosted, docker, no-code, embeddable
|
||||
# logo: svg/opnform.svg
|
||||
# port: 80
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://starterhelp.orangehrm.com/hc/en-us
|
||||
# slogan: OrangeHRM open source HR management software.
|
||||
# category: cms
|
||||
# category: productivity
|
||||
# tags: HR, HRIS, HRMS, human resource management, OrangeHRM, HR management
|
||||
# logo: svgs/orangehrm.svg
|
||||
# port: 80
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://docs.osticket.com/en/latest/
|
||||
# slogan: osTicket is a widely-used open source support ticket system.
|
||||
# category: cms
|
||||
# category: helpdesk
|
||||
# tags: helpdesk, ticketing, support, open-source
|
||||
# logo: svgs/osticket.png
|
||||
# port: 80
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# category: games
|
||||
services:
|
||||
palworld:
|
||||
image: thijsvanloef/palworld-server-docker:v1.4.6
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://paymenter.org/docs/guides/docker
|
||||
# slogan: Open-Source Billing, Built for Hosting
|
||||
# category: cms
|
||||
# category: finance
|
||||
# tags: automation, billing, open source
|
||||
# logo: svgs/paymenter.svg
|
||||
# port: 80
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# documentation: https://docs.plane.so/self-hosting/methods/docker-compose
|
||||
# slogan: The open source project management tool
|
||||
# category: productivity
|
||||
# port: 80
|
||||
# tags: plane,project-management,tool,open,source,api,nextjs,redis,postgresql,django,pm
|
||||
# logo: svgs/plane.svg
|
||||
|
||||
@@ -29,6 +30,12 @@ x-aws-s3-env: &aws-s3-env
|
||||
AWS_S3_ENDPOINT_URL: ${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}
|
||||
AWS_S3_BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads}
|
||||
|
||||
x-proxy-env: &proxy-env
|
||||
APP_DOMAIN: ${SERVICE_URL_PLANE}
|
||||
FILE_SIZE_LIMIT: ${FILE_SIZE_LIMIT:-5242880}
|
||||
BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads}
|
||||
SITE_ADDRESS: ${SITE_ADDRESS:-:80}
|
||||
|
||||
x-mq-env: &mq-env # RabbitMQ Settings
|
||||
RABBITMQ_HOST: plane-mq
|
||||
RABBITMQ_PORT: ${RABBITMQ_PORT:-5672}
|
||||
@@ -39,9 +46,10 @@ x-mq-env: &mq-env # RabbitMQ Settings
|
||||
|
||||
x-live-env: &live-env
|
||||
API_BASE_URL: ${API_BASE_URL:-http://api:8000}
|
||||
LIVE_SERVER_SECRET_KEY: $SERVICE_PASSWORD_64_LIVESECRET
|
||||
|
||||
x-app-env: &app-env
|
||||
APP_RELEASE: ${APP_RELEASE:-v1.0.0}
|
||||
APP_RELEASE: ${APP_RELEASE:-v1.3.0}
|
||||
WEB_URL: ${SERVICE_URL_PLANE}
|
||||
DEBUG: ${DEBUG:-0}
|
||||
CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS:-http://localhost}
|
||||
@@ -52,16 +60,20 @@ x-app-env: &app-env
|
||||
AMQP_URL: amqp://${SERVICE_USER_RABBITMQ}:${SERVICE_PASSWORD_RABBITMQ}@plane-mq:${RABBITMQ_PORT:-5672}/plane
|
||||
API_KEY_RATE_LIMIT: ${API_KEY_RATE_LIMIT:-60/minute}
|
||||
MINIO_ENDPOINT_SSL: ${MINIO_ENDPOINT_SSL:-0}
|
||||
LIVE_SERVER_SECRET_KEY: $SERVICE_PASSWORD_64_LIVESECRET
|
||||
|
||||
services:
|
||||
proxy:
|
||||
image: artifacts.plane.so/makeplane/plane-proxy:${APP_RELEASE:-v1.0.0}
|
||||
image: makeplane/plane-proxy:${APP_RELEASE:-v1.3.0}
|
||||
environment:
|
||||
- SERVICE_URL_PLANE
|
||||
- APP_DOMAIN=${SERVICE_URL_PLANE}
|
||||
- SITE_ADDRESS=:80
|
||||
- FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}
|
||||
- BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}
|
||||
volumes:
|
||||
- proxy_config:/config
|
||||
- proxy_data:/data
|
||||
depends_on:
|
||||
- web
|
||||
- api
|
||||
@@ -73,8 +85,9 @@ services:
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
web:
|
||||
image: artifacts.plane.so/makeplane/plane-frontend:${APP_RELEASE:-v1.0.0}
|
||||
image: makeplane/plane-frontend:${APP_RELEASE:-v1.3.0}
|
||||
depends_on:
|
||||
- api
|
||||
- worker
|
||||
@@ -85,7 +98,7 @@ services:
|
||||
retries: 15
|
||||
|
||||
space:
|
||||
image: artifacts.plane.so/makeplane/plane-space:${APP_RELEASE:-v1.0.0}
|
||||
image: makeplane/plane-space:${APP_RELEASE:-v1.3.0}
|
||||
depends_on:
|
||||
- api
|
||||
- worker
|
||||
@@ -97,7 +110,7 @@ services:
|
||||
retries: 15
|
||||
|
||||
admin:
|
||||
image: artifacts.plane.so/makeplane/plane-admin:${APP_RELEASE:-v1.0.0}
|
||||
image: makeplane/plane-admin:${APP_RELEASE:-v1.3.0}
|
||||
depends_on:
|
||||
- api
|
||||
- web
|
||||
@@ -108,13 +121,12 @@ services:
|
||||
retries: 15
|
||||
|
||||
live:
|
||||
image: artifacts.plane.so/makeplane/plane-live:${APP_RELEASE:-v1.0.0}
|
||||
image: makeplane/plane-live:${APP_RELEASE:-v1.3.0}
|
||||
environment:
|
||||
<<: [*live-env, *redis-env]
|
||||
depends_on:
|
||||
- api
|
||||
- web
|
||||
- plane-redis
|
||||
healthcheck:
|
||||
test: ["CMD", "echo", "hey whats up"]
|
||||
interval: 2s
|
||||
@@ -122,12 +134,12 @@ services:
|
||||
retries: 15
|
||||
|
||||
api:
|
||||
image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-v1.0.0}
|
||||
image: makeplane/plane-backend:${APP_RELEASE:-v1.3.0}
|
||||
command: ./bin/docker-entrypoint-api.sh
|
||||
volumes:
|
||||
- logs_api:/code/plane/logs
|
||||
environment:
|
||||
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *mq-env]
|
||||
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env]
|
||||
depends_on:
|
||||
- plane-db
|
||||
- plane-redis
|
||||
@@ -139,12 +151,12 @@ services:
|
||||
retries: 15
|
||||
|
||||
worker:
|
||||
image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-v1.0.0}
|
||||
image: makeplane/plane-backend:${APP_RELEASE:-v1.3.0}
|
||||
command: ./bin/docker-entrypoint-worker.sh
|
||||
volumes:
|
||||
- logs_worker:/code/plane/logs
|
||||
environment:
|
||||
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *mq-env]
|
||||
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env]
|
||||
depends_on:
|
||||
- api
|
||||
- plane-db
|
||||
@@ -157,12 +169,12 @@ services:
|
||||
retries: 15
|
||||
|
||||
beat-worker:
|
||||
image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-v1.0.0}
|
||||
image: makeplane/plane-backend:${APP_RELEASE:-v1.3.0}
|
||||
command: ./bin/docker-entrypoint-beat.sh
|
||||
volumes:
|
||||
- logs_beat-worker:/code/plane/logs
|
||||
environment:
|
||||
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *mq-env]
|
||||
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env]
|
||||
depends_on:
|
||||
- api
|
||||
- plane-db
|
||||
@@ -175,13 +187,13 @@ services:
|
||||
retries: 15
|
||||
|
||||
migrator:
|
||||
image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-v1.0.0}
|
||||
image: makeplane/plane-backend:${APP_RELEASE:-v1.3.0}
|
||||
restart: "no"
|
||||
command: ./bin/docker-entrypoint-migrator.sh
|
||||
volumes:
|
||||
- logs_migrator:/code/plane/logs
|
||||
environment:
|
||||
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *mq-env]
|
||||
<<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env]
|
||||
depends_on:
|
||||
- plane-db
|
||||
- plane-redis
|
||||
@@ -201,7 +213,7 @@ services:
|
||||
retries: 10
|
||||
|
||||
plane-redis:
|
||||
image: valkey/valkey:7.2.5-alpine
|
||||
image: valkey/valkey:7.2.11-alpine
|
||||
volumes:
|
||||
- redisdata:/data
|
||||
healthcheck:
|
||||
@@ -212,7 +224,6 @@ services:
|
||||
|
||||
plane-mq:
|
||||
image: rabbitmq:3.13.6-management-alpine
|
||||
restart: always
|
||||
environment:
|
||||
<<: *mq-env
|
||||
volumes:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# documentation: https://docs.useplunk.com/getting-started/introduction
|
||||
# slogan: Plunk, The Open-Source Email Platform for AWS
|
||||
# category: automation
|
||||
# category: email
|
||||
# tags: plunk,email,automation,aws
|
||||
# logo: svgs/plunk.svg
|
||||
# port: 3000
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# documentation: https://github.com/hoppscotch/proxyscotch
|
||||
# slogan: A simple proxy server created for https://hoppscotch.io - CORS proxy
|
||||
# category: proxy
|
||||
# tags: proxy,hoppscotch,cors
|
||||
# logo: svgs/hoppscotch.png
|
||||
# port: 9159
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# ignore: true
|
||||
# documentation: https://pterodactyl.io/
|
||||
# slogan: Pterodactyl is a free, open-source game server management panel
|
||||
# category: media
|
||||
@@ -102,4 +103,4 @@ services:
|
||||
- MAIL_PORT=$MAIL_PORT
|
||||
- MAIL_USERNAME=$MAIL_USERNAME
|
||||
- MAIL_PASSWORD=$MAIL_PASSWORD
|
||||
- MAIL_ENCRYPTION=$MAIL_ENCRYPTION
|
||||
- MAIL_ENCRYPTION=$MAIL_ENCRYPTION
|
||||
@@ -1,3 +1,4 @@
|
||||
# ignore: true
|
||||
# documentation: https://pterodactyl.io/
|
||||
# slogan: Pterodactyl is a free, open-source game server management panel
|
||||
# category: media
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
# documentation: https://docs.pydio.com/
|
||||
# slogan: High-performance large file sharing, native no-code automation, and a collaboration-centric architecture that simplifies access control without compromising security or compliance.
|
||||
# category: storage
|
||||
# tags: storage
|
||||
# logo: svgs/cells.svg
|
||||
# port: 8080
|
||||
|
||||
services:
|
||||
cells:
|
||||
image: pydio/cells:4.4
|
||||
environment:
|
||||
- SERVICE_URL_CELLS_8080
|
||||
- CELLS_SITE_EXTERNAL=${SERVICE_URL_CELLS}
|
||||
- CELLS_SITE_NO_TLS=1
|
||||
volumes:
|
||||
- cells_data:/var/cells
|
||||
mariadb:
|
||||
image: 'mariadb:11'
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-cells}
|
||||
- MYSQL_USER=${SERVICE_USER_MYSQL}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- healthcheck.sh
|
||||
- '--connect'
|
||||
- '--innodb_initialized'
|
||||
interval: 10s
|
||||
timeout: 20s
|
||||
retries: 5
|
||||
@@ -32,15 +32,14 @@ services:
|
||||
- SERVICE_URL_RALLLY_3000
|
||||
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@rallly_db:5432/${POSTGRES_DB:-rallly}
|
||||
- SECRET_PASSWORD=${SERVICE_PASSWORD_64_RALLLY}
|
||||
- NEXT_PUBLIC_BASE_URL=https://${SERVICE_URL_RALLLY}
|
||||
- NEXT_PUBLIC_BASE_URL=${SERVICE_URL_RALLLY}
|
||||
- ALLOWED_EMAILS=${ALLOWED_EMAILS}
|
||||
- SUPPORT_EMAIL=${SUPPORT_EMAIL:-support@example.com}
|
||||
- SMTP_HOST=${SMTP_HOST}
|
||||
- SMTP_PORT=${SMTP_PORT}
|
||||
- SMTP_SECURE=${SMTP_SECURE}
|
||||
- SMTP_SECURE=${SMTP_SECURE:-false}
|
||||
- SMTP_USER=${SMTP_USER}
|
||||
- SMTP_PWD=${SMTP_PWD}
|
||||
- SMTP_TLS_ENABLED=${SMTP_TLS_ENABLED}
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1"]
|
||||
interval: 5s
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# documentation: https://www.redmine.org/
|
||||
# slogan: Redmine is a flexible project management web application.
|
||||
# category: productivity
|
||||
# tags: redmine,project management
|
||||
# logo: svgs/redmine.svg
|
||||
# port: 3000
|
||||
|
||||
Loaded 100 of 913 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user