Merge branch 'next' into main

This commit is contained in:
basigabri
2025-01-15 18:47:59 +02:00
committed by GitHub
345 changed files with 59914 additions and 2876 deletions

View File

@@ -0,0 +1,19 @@
# documentation: https://actualbudget.org/docs/install/docker
# slogan: A local-first personal finance app.
# tags: budgeting,actual,finance,budget,money,expenses,income
# logo: svgs/actualbudget.png
# port: 5006
services:
actual_server:
image: actualbudget/actual-server:latest
environment:
- SERVICE_FQDN_ACTUAL_5006
- ACTUAL_LOGIN_METHOD=password
volumes:
- actual_data:/data
healthcheck:
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/5006' || exit 1"]
interval: 5s
timeout: 20s
retries: 3

View File

@@ -23,6 +23,7 @@ services:
- JWT_SECRET=${SERVICE_PASSWORD_JWTSECRET}
- AUTH_TOKEN=${SERVICE_PASSWORD_AUTHTOKEN}
- SERVER_PORT=${SERVER_PORT:-3001}
- VECTOR_DB=lancedb
cap_add:
- SYS_ADMIN
volumes:

View File

@@ -0,0 +1,28 @@
# 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
# logo: svgs/calibre-web.svg
# port: 8083
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
environment:
- SERVICE_FQDN_CALIBRE_8083
- PUID=1000
- PGID=1000
- TZ=${TZ:-Etc/UTC}
# optional & x86-64 only Adds the ability to perform ebook conversion
- 'DOCKER_MODS=${DOCKER_MODS:-linuxserver/mods:universal-calibre}'
volumes:
- calibre_web_data:/config
- calibre_library:/books
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://127.0.0.1:8083'
interval: 5s
timeout: 20s
retries: 10

View File

@@ -0,0 +1,19 @@
# documentation: https://getcockpit.com/documentation/
# slogan: Cockpit is a headless content platform that is lightweight, fast and ready for takeoff.
# tags: cockpit, headless, cms, database, nosql
# logo: svgs/cockpit.svg
# port: 80
services:
cockpit:
image: cockpithq/cockpit:core-latest
volumes:
- cockpit-config:/var/www/html/config
- cockpit-spaces:/var/www/html/.spaces
- cockpit-storage:/var/www/html/storage
healthcheck:
test:
["CMD", "wget", "-q", "--spider", "http://127.0.0.1/api/system/healthcheck"]
interval: 5s
timeout: 20s
retries: 10

View File

@@ -5,7 +5,7 @@
# port: 5000
services:
radarr:
fileflows:
image: revenz/fileflows
environment:
- SERVICE_FQDN_FILEFLOWS_5000

View File

@@ -57,6 +57,10 @@ services:
- GITHUB_APP_NAME=${GITHUB_APP_NAME}
- GITHUB_APP_ID=${GITHUB_APP_ID}
- GITHUB_APP_PRIVATE_KEY=${GITHUB_APP_PRIVATE_KEY}
- DISCORD_CLIENT_ID=${DISCORD_CLIENT_ID}
- DISCORD_CLIENT_SECRET=${DISCORD_CLIENT_SECRET}
- DISCORD_SERVER_ID=${DISCORD_SERVER_ID}
- DISCORD_SERVER_ROLES=${DISCORD_SERVER_ROLES}
- PGSSLMODE=${PGSSLMODE:-disable}
- FORCE_HTTPS=${FORCE_HTTPS:-true}
healthcheck:

View File

@@ -0,0 +1,26 @@
# documentation: https://gotenberg.dev/docs/getting-started/introduction
# slogan: Gotenberg is a Docker-powered stateless API for PDF files.
# tags: api,backend,pdf,tool
# logo: svgs/gotenberg.png
# port: 3000
services:
gotenberg:
image: gotenberg/gotenberg:latest
environment:
- SERVICE_FQDN_GOTENBERG_3000
# NOTE: requires the --api-enable-basic-auth option in "command"
- GOTENBERG_API_BASIC_AUTH_USERNAME=${SERVICE_USER_GOTENBERG}
- GOTENBERG_API_BASIC_AUTH_PASSWORD=${SERVICE_PASSWORD_GOTENBERG}
command: [
"gotenberg",
# See the full list of options at https://gotenberg.dev/docs/configuration
"--api-enable-basic-auth"
#"--api-timeout=60s",
#"--chromium-auto-start"
]
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:3000/version"]
interval: 5s
timeout: 20s
retries: 10

View File

@@ -1,3 +1,4 @@
# ignore: true
# documentation: https://jitsi.github.io/handbook/docs/intro
# slogan: World's easiest way to add meetings to your apps
# logo: svgs/jitsi.svg

View File

@@ -12,6 +12,8 @@ services:
condition: service_healthy
environment:
- SERVICE_FQDN_LABELSTUDIO_8080
- CSRF_TRUSTED_ORIGINS=${SERVICE_FQDN_LABELSTUDIO}
- EXPERIMENTAL_FEATURES=${EXPERIMENTAL_FEATURES:-false}
- DJANGO_DB=${DJANGO_DB:-default}
- POSTGRE_NAME=${POSTGRES_DB:-labelstudio}
- POSTGRE_USER=${SERVICE_USER_POSTGRES}

View File

@@ -12,8 +12,8 @@ services:
- N8N_EDITOR_BASE_URL=${SERVICE_FQDN_N8N}
- WEBHOOK_URL=${SERVICE_FQDN_N8N}
- N8N_HOST=${SERVICE_URL_N8N}
- GENERIC_TIMEZONE=Europe/Berlin
- TZ=Europe/Berlin
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE:-Europe/Berlin}
- TZ=${TZ:-Europe/Berlin}
- DB_TYPE=postgresdb
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB:-n8n}
- DB_POSTGRESDB_HOST=postgresql

View File

@@ -12,8 +12,8 @@ services:
- N8N_EDITOR_BASE_URL=${SERVICE_FQDN_N8N}
- WEBHOOK_URL=${SERVICE_FQDN_N8N}
- N8N_HOST=${SERVICE_URL_N8N}
- GENERIC_TIMEZONE=Europe/Berlin
- TZ=Europe/Berlin
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE:-Europe/Berlin}
- TZ=${TZ:-Europe/Berlin}
volumes:
- n8n-data:/home/node/.n8n
healthcheck:

View File

@@ -12,7 +12,7 @@ services:
volumes:
- nocodb-data:/usr/app/data/
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8080"]
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8080/api/v1/health"]
interval: 5s
timeout: 20s
retries: 10

View File

@@ -0,0 +1,54 @@
# documentation: https://docs.nodebb.org/
# slogan: A next-generation discussion platform.
# tags: communication, forums, discussion
# logo: svgs/nodebb.svg
# port: 4567
services:
nodebb:
image: ghcr.io/nodebb/nodebb:latest
environment:
- SERVICE_FQDN_NODEBB_4567
volumes:
- nodebb_build:/usr/src/app/build
- nodebb_uploads:/usr/src/app/public/uploads
- nodebb_config:/opt/config
command: >
/bin/bash -c "
cat > /usr/src/app/setup.json <<EOL
{
\"defaults\": {
\"postgres\": {
\"host\": \"postgres\",
\"port\": 5432,
\"database\": \"nodebb\",
\"username\": \"${SERVICE_USER_POSTGRES}\",
\"password\": \"${SERVICE_PASSWORD_POSTGRES}\"
}
}
}
EOL
&& tini -- entrypoint.sh
"
depends_on:
postgres:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/4567' || exit 1"]
interval: 5s
timeout: 20s
retries: 3
postgres:
image: postgres:17.2-alpine
environment:
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_DB=nodebb
volumes:
- nodebb_postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 20s
retries: 10

View File

@@ -2,15 +2,18 @@
# slogan: Penpot is the first Open Source design and prototyping platform for product teams.
# tags: penpot,design,prototyping,figma,open,source
# logo: svgs/penpot.svg
# port: 80
services:
frontend:
image: "penpotapp/frontend:latest"
image: penpotapp/frontend:latest
volumes:
- penpot-assets:/opt/data/assets
depends_on:
- penpot-backend
- penpot-exporter
penpot-backend:
condition: service_healthy
penpot-exporter:
condition: service_healthy
environment:
- SERVICE_FQDN_FRONTEND
- PENPOT_FLAGS=${PENPOT_FRONTEND_FLAGS:-enable-login-with-password}
@@ -19,13 +22,16 @@ services:
interval: 2s
timeout: 10s
retries: 15
penpot-backend:
image: penpotapp/backend:latest
volumes:
- penpot-assets:/opt/data/assets
depends_on:
- postgres
- redis
postgres:
condition: service_healthy
redis:
condition: service_healthy
environment:
- PENPOT_FLAGS=${PENPOT_BACKEND_FLAGS:-enable-login-with-password enable-smtp enable-prepl-server}
- PENPOT_HTTP_SERVER_PORT=6060
@@ -49,19 +55,32 @@ services:
- PENPOT_SMTP_TLS=${PENPOT_SMTP_TLS:-false}
- PENPOT_SMTP_SSL=${PENPOT_SMTP_SSL:-false}
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:6060"]
test: ["CMD", "curl", "-f", "http://127.0.0.1:6060/readyz"]
interval: 2s
timeout: 10s
retries: 15
penpot-exporter:
image: penpotapp/exporter:latest
environment:
- PENPOT_PUBLIC_URI=$SERVICE_FQDN_FRONTEND
- PENPOT_REDIS_URI=redis://redis/0
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:6061/readyz"]
interval: 2s
timeout: 10s
retries: 15
mailpit:
image: "axllent/mailpit:latest"
image: axllent/mailpit:latest
environment:
- SERVICE_FQDN_MAILPIT_8025
healthcheck:
test: ["CMD", "/mailpit", "readyz"]
interval: 5s
timeout: 20s
retries: 10
postgres:
image: postgres:15
volumes:
@@ -76,6 +95,7 @@ services:
interval: 5s
timeout: 20s
retries: 10
redis:
image: redis:7-alpine
command: redis-server --appendonly yes

View File

@@ -0,0 +1,47 @@
# documentation: https://support.rallly.co/self-hosting/introduction
# slogan: Rallly is an open-source scheduling and collaboration tool designed to make organizing events and meetings easier.
# tags: scheduling,rallly,events,meeting,doodle
# logo: svgs/rallly.svg
# port: 3000
services:
rallly_db:
image: postgres:14.2
volumes:
- rallly_db_data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_DB=${POSTGRES_DB:-rallly}
healthcheck:
test:
- CMD-SHELL
- "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"
interval: 2s
timeout: 10s
retries: 15
rallly:
image: lukevella/rallly:latest
platform: linux/amd64
depends_on:
rallly_db:
condition: service_healthy
environment:
- SERVICE_FQDN_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}
- ALLOWED_EMAILS=${ALLOWED_EMAILS}
- SUPPORT_EMAIL=${SUPPORT_EMAIL:-support@example.com}
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_SECURE=${SMTP_SECURE}
- 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
timeout: 20s
retries: 10

View File

@@ -15,6 +15,7 @@ services:
condition: service_healthy
environment:
- SERVICE_FQDN_SUPABASEKONG_8000
- KONG_PORT_MAPS=443:8000
- JWT_SECRET=${SERVICE_PASSWORD_JWT}
- KONG_DATABASE=off
- KONG_DECLARATIVE_CONFIG=/home/kong/kong.yml
@@ -278,7 +279,7 @@ services:
config:
hide_credentials: true
supabase-studio:
image: supabase/studio:20240923-2e3e90c
image: supabase/studio:20241202-71e5240
healthcheck:
test:
[
@@ -315,8 +316,9 @@ services:
- NEXT_ANALYTICS_BACKEND_PROVIDER=postgres
# Uncomment to use Big Query backend for analytics
# NEXT_ANALYTICS_BACKEND_PROVIDER=bigquery
- 'OPENAI_API_KEY=${OPENAI_API_KEY}'
supabase-db:
image: supabase/postgres:15.1.1.78
image: supabase/postgres:15.6.1.146
healthcheck:
test: pg_isready -U postgres -h 127.0.0.1
interval: 5s
@@ -366,6 +368,7 @@ services:
\c _supabase
create schema if not exists _supavisor;
alter schema _supavisor owner to :pguser;
\c postgres
- type: bind
source: ./volumes/db/webhooks.sql
target: /docker-entrypoint-initdb.d/init-scripts/98-webhooks.sql
@@ -609,6 +612,7 @@ services:
\c _supabase
create schema if not exists _analytics;
alter schema _analytics owner to :pguser;
\c postgres
# Use named volume to persist pgsodium decryption key between restarts
- supabase-db-config:/etc/postgresql-custom
@@ -927,7 +931,7 @@ services:
command: "postgrest"
exclude_from_hc: true
supabase-auth:
image: supabase/gotrue:v2.158.1
image: supabase/gotrue:v2.164.0
depends_on:
supabase-db:
# Disable this if you are using an external Postgres database
@@ -1018,7 +1022,7 @@ services:
realtime-dev:
# This container name looks inconsistent but is correct because realtime constructs tenant id by parsing the subdomain
image: supabase/realtime:v2.30.34
image: supabase/realtime:v2.33.70
container_name: realtime-dev.supabase-realtime
depends_on:
supabase-db:
@@ -1061,6 +1065,9 @@ services:
- RLIMIT_NOFILE=10000
- APP_NAME=realtime
- SEED_SELF_HOST=true
- LOG_LEVEL=error
- RUN_JANITOR=true
- JANITOR_INTERVAL=60000
command: >
sh -c "/app/bin/migrate && /app/bin/realtime eval 'Realtime.Release.seeds(Realtime.Repo)' && /app/bin/server"
supabase-minio:
@@ -1098,7 +1105,7 @@ services:
exit 0
supabase-storage:
image: supabase/storage-api:v1.10.1
image: supabase/storage-api:v1.14.6
depends_on:
supabase-db:
# Disable this if you are using an external Postgres database
@@ -1137,12 +1144,14 @@ services:
- UPLOAD_FILE_SIZE_LIMIT=524288000
- UPLOAD_FILE_SIZE_LIMIT_STANDARD=524288000
- UPLOAD_SIGNED_URL_EXPIRATION_TIME=120
- TUS_URL_PATH=/upload/resumable
- TUS_URL_PATH=upload/resumable
- TUS_MAX_SIZE=3600000
- ENABLE_IMAGE_TRANSFORMATION=true
- IMGPROXY_URL=http://imgproxy:8080
- IMGPROXY_REQUEST_TIMEOUT=15
- DATABASE_SEARCH_PATH=storage
- NODE_ENV=production
- REQUEST_ALLOW_X_FORWARDED_PATH=true
# - ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogImFub24iLAogICJpc3MiOiAic3VwYWJhc2UiLAogICJpYXQiOiAxNzA4OTg4NDAwLAogICJleHAiOiAxODY2ODQxMjAwCn0.jCDqsoXGT58JnAjf27KOowNQsokkk0aR7rdbGG18P-8
# - SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogInNlcnZpY2Vfcm9sZSIsCiAgImlzcyI6ICJzdXBhYmFzZSIsCiAgImlhdCI6IDE3MDg5ODg0MDAsCiAgImV4cCI6IDE4NjY4NDEyMDAKfQ.GA7yF2BmqTzqGkP_oqDdJAQVt0djjIxGYuhE0zFDJV4
@@ -1182,7 +1191,7 @@ services:
- ./volumes/storage:/var/lib/storage
supabase-meta:
image: supabase/postgres-meta:v0.83.2
image: supabase/postgres-meta:v0.84.2
depends_on:
supabase-db:
# Disable this if you are using an external Postgres database
@@ -1198,7 +1207,7 @@ services:
- PG_META_DB_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
supabase-edge-functions:
image: supabase/edge-runtime:v1.58.3
image: supabase/edge-runtime:v1.65.3
depends_on:
supabase-analytics:
condition: service_healthy

View File

@@ -0,0 +1,88 @@
# documentation: https://help.teable.io/
# slogan: Teable is a powerful visual interface built on relational databases (PostgreSQL).
# tags: airtable, teable, database, visual, interface, relational, postgresql
# logo: svgs/teable.png
# port: 3000
services:
teable:
image: ghcr.io/teableio/teable:latest
volumes:
- teable_data:/app/.assets:rw
environment:
- SERVICE_FQDN_TEABLE_3000
- PUBLIC_ORIGIN=${SERVICE_FQDN_TEABLE}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- SECRET_KEY=${SERVICE_PASSWORD_64_SECRET}
- TZ=${TIMEZONE}
- PRISMA_DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@teable-db:${POSTGRES_PORT}/${POSTGRES_DB}
- NEXT_ENV_IMAGES_ALL_REMOTE=true
- PORT=3000
- REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS}
- BACKEND_CACHE_PROVIDER=redis
- BACKEND_CACHE_REDIS_URI=redis://default:${SERVICE_PASSWORD_REDIS}@teable-cache:6379/0
- BACKEND_MAIL_HOST=${BACKEND_MAIL_HOST}
- BACKEND_MAIL_PORT=${BACKEND_MAIL_PORT}
- BACKEND_MAIL_SECURE=${BACKEND_MAIL_SECURE}
- BACKEND_MAIL_SENDER=${BACKEND_MAIL_SENDER}
- BACKEND_MAIL_SENDER_NAME=${BACKEND_MAIL_SENDER_NAME}
- BACKEND_MAIL_AUTH_USER=${BACKEND_MAIL_AUTH_USER}
- BACKEND_MAIL_AUTH_PASS=${BACKEND_MAIL_AUTH_PASS}
depends_on:
teable-cache:
condition: service_healthy
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://127.0.0.1:3000'
interval: 5s
timeout: 20s
retries: 10
teable-db:
image: postgres:15.4
volumes:
- teable_db_data:/var/lib/postgresql/data:rw
environment:
- TZ=${TIMEZONE}
- POSTGRES_DB=${POSTGRES_DB:-teable}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'
interval: 5s
timeout: 20s
retries: 10
teable-db-migrate:
image: ghcr.io/teableio/teable-db-migrate:latest
restart: no
environment:
- TZ=${TIMEZONE}
- PRISMA_DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@teable-db:${POSTGRES_PORT}/${POSTGRES_DB}
depends_on:
teable-db:
condition: service_healthy
teable-cache:
image: redis:7.2.4
environment:
- REDIS_PORT=6379
- REDIS_DB=0
- REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS}
volumes:
- teable_cache_data:/data:rw
command: redis-server --appendonly yes --requirepass ${SERVICE_PASSWORD_REDIS}
healthcheck:
test:
- CMD
- redis-cli
- '--raw'
- incr
- ping
interval: 10s
timeout: 3s
retries: 3

View File

@@ -23,8 +23,14 @@ services:
- RESEND_API_KEY=${RESEND_API_KEY}
- FROM_EMAIL=${FROM_EMAIL}
- REPLY_TO_EMAIL=${REPLY_TO_EMAIL}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT}
- REDIS_USERNAME=${REDIS_USERNAME}
- REDIS_PASSWORD=${REDIS_PASSWORD}
- REDIS_TLS_DISABLED=${REDIS_TLS_DISABLED:-true}
healthcheck:
test: "timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1"
interval: 10s
timeout: 5s
retries: 5
retries: 5

View File

@@ -1,3 +1,4 @@
# ignore: true
# documentation: https://docs.twenty.com
# slogan: Twenty is a CRM designed to fit your unique business needs.
# tags: crm, self-hosted, dashboard