diff --git a/templates/compose/appwrite.yaml b/templates/compose/appwrite.yaml index 7ba5c69bb0..d2a39a7690 100644 --- a/templates/compose/appwrite.yaml +++ b/templates/compose/appwrite.yaml @@ -1,4 +1,3 @@ -# ignore: true # documentation: https://appwrite.io/docs # slogan: A backend-as-a-service platform that simplifies the web & mobile app development. # category: backend @@ -8,7 +7,7 @@ services: appwrite: - image: appwrite/appwrite:2.5.0 + image: appwrite/appwrite:2.6.1 environment: - SERVICE_URL_APPWRITE=/v1 - _APP_DNS_EXTERNAL=${_APP_DNS_EXTERNAL} @@ -99,6 +98,7 @@ services: - _APP_STORAGE_LIMIT=${_APP_STORAGE_LIMIT:-30000000} - _APP_STORAGE_PREVIEW_LIMIT=${_APP_STORAGE_PREVIEW_LIMIT:-20000000} - _APP_AUTOGRAVITY_HOST=${_APP_AUTOGRAVITY_HOST} + - _APP_EXIFTOOL_HOST=${_APP_EXIFTOOL_HOST:-http://appwrite-exiftool:8080} - _APP_STORAGE_ANTIVIRUS=${_APP_STORAGE_ANTIVIRUS:-disabled} - _APP_STORAGE_ANTIVIRUS_HOST=${_APP_STORAGE_ANTIVIRUS_HOST} - _APP_STORAGE_ANTIVIRUS_PORT=${_APP_STORAGE_ANTIVIRUS_PORT:-3310} @@ -108,6 +108,7 @@ services: - _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_S3_PATH_STYLE=${_APP_STORAGE_S3_PATH_STYLE} - _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} @@ -176,6 +177,10 @@ services: - _APP_VCS_BITBUCKET_WEBHOOK_SECRET=${_APP_VCS_BITBUCKET_WEBHOOK_SECRET} - _APP_VCS_ORIGIN_CLIENT_ID=${_APP_VCS_ORIGIN_CLIENT_ID} - _APP_VCS_ORIGIN_PRIVATE_KEY=${_APP_VCS_ORIGIN_PRIVATE_KEY} + - _APP_VCS_ENTIRE_PLUGIN=${_APP_VCS_ENTIRE_PLUGIN} + - _APP_VCS_ENTIRE_PRIVATE_KEY=${_APP_VCS_ENTIRE_PRIVATE_KEY} + - _APP_VCS_ENTIRE_ISSUER=${_APP_VCS_ENTIRE_ISSUER} + - _APP_VCS_ENTIRE_ENDPOINT=${_APP_VCS_ENTIRE_ENDPOINT} - _APP_VCS_WEBHOOK_URL=${_APP_VCS_WEBHOOK_URL} - _APP_MIGRATIONS_FIREBASE_CLIENT_ID=${_APP_MIGRATIONS_FIREBASE_CLIENT_ID} - _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET} @@ -212,19 +217,21 @@ services: condition: service_healthy appwrite-geo: condition: service_healthy + appwrite-exiftool: + condition: service_started healthcheck: - test: ["CMD-SHELL", "curl -fsS -o /dev/null http://localhost/v1/health/version || exit 1"] + test: ["CMD-SHELL", "test -f /tmp/.appwrite-ready && curl -fsS -o /dev/null http://localhost/v1/health/version || exit 1"] interval: 20s timeout: 5s retries: 6 start_period: 120s appwrite-console: - image: appwrite/new:1.2.74-self-hosted + image: appwrite/new:1.2.97-self-hosted environment: - SERVICE_URL_APPWRITE_3000=/ - VITE_CONSOLE_PROFILE=self-hosted - - VITE_APPWRITE_VERSION=2.5.0 + - VITE_APPWRITE_VERSION=2.6.1 - APPWRITE_ENDPOINT_SAME_ORIGIN=true depends_on: appwrite: @@ -236,7 +243,7 @@ services: retries: 3 appwrite-realtime: - image: appwrite/appwrite:2.5.0 + image: appwrite/appwrite:2.6.1 entrypoint: realtime environment: - SERVICE_URL_APPWRITE=/v1/realtime @@ -294,7 +301,7 @@ services: retries: 3 appwrite-worker: - image: appwrite/appwrite:2.5.0 + image: appwrite/appwrite:2.6.1 entrypoint: worker environment: - _APP_ENV=${_APP_ENV:-production} @@ -309,9 +316,10 @@ services: - _APP_MAINTENANCE_RETENTION_USAGE_TTL=${_APP_MAINTENANCE_RETENTION_USAGE_TTL:-180} - _APP_STATS_USAGE_QUEUE_NAME=${_APP_STATS_USAGE_QUEUE_NAME:-v1-stats-usage} - _APP_STATS_RESOURCES_QUEUE_NAME=${_APP_STATS_RESOURCES_QUEUE_NAME:-v1-stats-resources} + - _APP_MAINTENANCE_QUEUE_NAME=${_APP_MAINTENANCE_QUEUE_NAME:-v1-maintenance} - _APP_STATS_RESOURCES_INTERVAL=${_APP_STATS_RESOURCES_INTERVAL:-3600} - _APP_WORKERS_NUM=1 - - _APP_WORKER_MAX_COROUTINES=78 + - _APP_WORKER_MAX_COROUTINES=79 - _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6} - _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE - _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-security@appwrite.io} @@ -364,6 +372,7 @@ services: - _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_S3_PATH_STYLE=${_APP_STORAGE_S3_PATH_STYLE} - _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} @@ -409,6 +418,10 @@ services: - _APP_VCS_BITBUCKET_WEBHOOK_SECRET=${_APP_VCS_BITBUCKET_WEBHOOK_SECRET} - _APP_VCS_ORIGIN_CLIENT_ID=${_APP_VCS_ORIGIN_CLIENT_ID} - _APP_VCS_ORIGIN_PRIVATE_KEY=${_APP_VCS_ORIGIN_PRIVATE_KEY} + - _APP_VCS_ENTIRE_PLUGIN=${_APP_VCS_ENTIRE_PLUGIN} + - _APP_VCS_ENTIRE_PRIVATE_KEY=${_APP_VCS_ENTIRE_PRIVATE_KEY} + - _APP_VCS_ENTIRE_ISSUER=${_APP_VCS_ENTIRE_ISSUER} + - _APP_VCS_ENTIRE_ENDPOINT=${_APP_VCS_ENTIRE_ENDPOINT} - _APP_VCS_WEBHOOK_URL=${_APP_VCS_WEBHOOK_URL} - _APP_BUILDS_VOLUME=${COMPOSE_PROJECT_NAME}_appwrite-builds - _APP_JOBS_HOST=${_APP_JOBS_HOST:-http://orchestrator:8080} @@ -463,7 +476,7 @@ services: retries: 3 appwrite-task-scheduler: - image: appwrite/appwrite:2.5.0 + image: appwrite/appwrite:2.6.1 entrypoint: schedule environment: - _APP_ENV=${_APP_ENV:-production} @@ -476,6 +489,7 @@ services: - _APP_MAINTENANCE_RETENTION_USAGE_TTL=${_APP_MAINTENANCE_RETENTION_USAGE_TTL:-180} - _APP_STATS_USAGE_QUEUE_NAME=${_APP_STATS_USAGE_QUEUE_NAME:-v1-stats-usage} - _APP_STATS_RESOURCES_QUEUE_NAME=${_APP_STATS_RESOURCES_QUEUE_NAME:-v1-stats-resources} + - _APP_MAINTENANCE_QUEUE_NAME=${_APP_MAINTENANCE_QUEUE_NAME:-v1-maintenance} - _APP_STATS_RESOURCES_INTERVAL=${_APP_STATS_RESOURCES_INTERVAL:-3600} - _APP_LOGGING_FORMAT=${_APP_LOGGING_FORMAT:-pretty} - _APP_WORKER_MAX_COROUTINES=8 @@ -500,6 +514,7 @@ services: - _APP_DB_PASS=$SERVICE_PASSWORD_POSTGRES - _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES} - _APP_FUNCTIONS_SCHEDULE_SPREAD=${_APP_FUNCTIONS_SCHEDULE_SPREAD:-0} + - _APP_MAINTENANCE_INACTIVE_INTERVAL=${_APP_MAINTENANCE_INACTIVE_INTERVAL:-604800} depends_on: appwrite-postgresql: condition: service_healthy @@ -512,7 +527,7 @@ services: retries: 3 appwrite-task-maintenance: - image: appwrite/appwrite:2.5.0 + image: appwrite/appwrite:2.6.1 entrypoint: maintenance environment: - _APP_ENV=${_APP_ENV:-production} @@ -559,7 +574,7 @@ services: retries: 3 appwrite-task-interval: - image: appwrite/appwrite:2.5.0 + image: appwrite/appwrite:2.6.1 entrypoint: interval environment: - _APP_ENV=${_APP_ENV:-production} @@ -618,6 +633,15 @@ services: - 8.8.8.8 exclude_from_hc: true + appwrite-exiftool: + image: ghcr.io/appwrite/exiftool:0.1.0 + healthcheck: + test: ["CMD", "healthcheck"] + interval: 20s + timeout: 5s + retries: 3 + start_period: 15s + openruntimes-executor: image: openruntimes/executor:1.1.2 hostname: openruntimes-executor @@ -651,7 +675,7 @@ services: start_period: 10s orchestrator: - image: ghcr.io/open-runtimes/orchestrator/orchestrator:2.2.2 + image: ghcr.io/open-runtimes/orchestrator/orchestrator:2.2.4 hostname: orchestrator user: root environment: @@ -674,6 +698,7 @@ services: appwrite-postgresql: image: appwrite/postgres:0.1.0 + shm_size: 1g environment: - POSTGRES_DB=${_APP_DB_SCHEMA:-appwrite} - POSTGRES_USER=$SERVICE_USER_POSTGRES diff --git a/templates/compose/castopod.yaml b/templates/compose/castopod.yaml index 0a2516a5d3..16e5acb44e 100644 --- a/templates/compose/castopod.yaml +++ b/templates/compose/castopod.yaml @@ -1,4 +1,3 @@ -# ignore: true # 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 @@ -8,7 +7,7 @@ services: castopod: - image: castopod/castopod:1.15.4 + image: castopod/castopod:1.15.6 volumes: - castopod-media:/var/www/castopod/public/media environment: diff --git a/templates/compose/freescout.yaml b/templates/compose/freescout.yaml index 9350e306bf..607bacae4e 100644 --- a/templates/compose/freescout.yaml +++ b/templates/compose/freescout.yaml @@ -1,4 +1,3 @@ -# ignore: true # 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: helpdesk @@ -8,27 +7,29 @@ services: freescout: - image: tiredofit/freescout:latest + image: nfrastack/freescout:2.2.21 volumes: - freescout-data:/data - - freescout-logs:/www/logs + - freescout-logs:/logs depends_on: mariadb: condition: service_healthy environment: - SERVICE_URL_FREESCOUT_80 + - DB_TYPE=mariadb - DB_HOST=mariadb + - DB_PORT=3306 - DB_NAME=${MARIADB_DATABASE:-freescout} - DB_USER=${SERVICE_USER_MARIADB:-freescout} - DB_PASS=${SERVICE_PASSWORD_MARIADB} - - SITE_URL=${SERVICE_URL_FREESCOUT} + - APP_URL=${SERVICE_URL_FREESCOUT} - ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com} - ADMIN_PASS=${SERVICE_PASSWORD_ADMIN} - - DISPLAY_ERRORS=${DISPLAY_ERRORS:-FALSE} + - FREESCOUT_APP_DEBUG=${FREESCOUT_APP_DEBUG:-false} - TIMEZONE=${TIMEZONE:-UTC} healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1"] - start_period: 10s + test: ["CMD-SHELL", "busybox wget -qO /dev/null --header 'X-Forwarded-Proto: https' http://127.0.0.1/login || exit 1"] + start_period: 60s interval: 5s timeout: 10s retries: 15 diff --git a/templates/compose/grocy.yaml b/templates/compose/grocy.yaml index 783ce27767..2635542ca0 100644 --- a/templates/compose/grocy.yaml +++ b/templates/compose/grocy.yaml @@ -1,4 +1,3 @@ -# ignore: true # documentation: https://github.com/grocy/grocy # slogan: Grocy is a web-based household management and grocery list application. # category: productivity @@ -8,7 +7,7 @@ services: grocy: - image: lscr.io/linuxserver/grocy:4.6.0 + image: lscr.io/linuxserver/grocy:4.7.1 environment: - SERVICE_URL_GROCY - PUID=1000 diff --git a/templates/compose/opnform.yaml b/templates/compose/opnform.yaml index 281d9ad703..2e24f76352 100644 --- a/templates/compose/opnform.yaml +++ b/templates/compose/opnform.yaml @@ -1,4 +1,3 @@ -# ignore: true # 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 @@ -56,7 +55,7 @@ x-shared-env: &shared-api-env services: opnform-api: - image: jhumanj/opnform-api:2.2.4 + image: jhumanj/opnform-api:2.6.1 volumes: - api-storage:/usr/share/nginx/html/storage environment: @@ -83,7 +82,7 @@ services: start_period: 60s api-worker: - image: jhumanj/opnform-api:2.2.4 + image: jhumanj/opnform-api:2.6.1 volumes: - api-storage:/usr/share/nginx/html/storage environment: @@ -104,7 +103,7 @@ services: start_period: 30s api-scheduler: - image: jhumanj/opnform-api:2.2.4 + image: jhumanj/opnform-api:2.6.1 volumes: - api-storage:/usr/share/nginx/html/storage environment: @@ -128,7 +127,7 @@ services: start_period: 70s # Allow time for first scheduled run and cache write opnform-ui: - image: jhumanj/opnform-client:2.2.4 + image: jhumanj/opnform-client:2.6.1 environment: - NUXT_PUBLIC_APP_URL=/ - NUXT_PUBLIC_API_BASE=/api @@ -212,6 +211,17 @@ services: proxy_set_header Connection "Upgrade"; } + # Proxy Nuxt icon requests to client container + location ^~ /api/_nuxt_icon/ { + proxy_http_version 1.1; + proxy_pass http://opnform-ui:3000; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + } + location ~/(api|open|local\/temp|forms\/assets)/ { set $original_uri $uri; try_files $uri $uri/ /index.php$is_args$args; diff --git a/templates/compose/paymenter.yaml b/templates/compose/paymenter.yaml index 9201bdd867..b9b700f18c 100644 --- a/templates/compose/paymenter.yaml +++ b/templates/compose/paymenter.yaml @@ -1,4 +1,3 @@ -# ignore: true # documentation: https://paymenter.org/docs/guides/docker # slogan: Open-Source Billing, Built for Hosting # category: finance @@ -8,7 +7,7 @@ services: paymenter: - image: 'ghcr.io/paymenter/paymenter:v1.4.5' + image: 'ghcr.io/paymenter/paymenter:v1.5.9' volumes: - 'app_logs:/app/storage/logs' - 'extenstions:/app/extensions' diff --git a/templates/compose/pterodactyl-panel.yaml b/templates/compose/pterodactyl-panel.yaml index 3c6349e1f9..f1053d044c 100644 --- a/templates/compose/pterodactyl-panel.yaml +++ b/templates/compose/pterodactyl-panel.yaml @@ -1,4 +1,3 @@ -# ignore: true # documentation: https://pterodactyl.io/ # slogan: Pterodactyl is a free, open-source game server management panel # category: media @@ -33,7 +32,7 @@ services: retries: 3 pterodactyl: - image: ghcr.io/pterodactyl/panel:v1.12.3 + image: ghcr.io/pterodactyl/panel:v1.15.2 volumes: - "panel-var:/app/var/" - "panel-nginx:/etc/nginx/http.d/" diff --git a/templates/compose/pterodactyl-with-wings.yaml b/templates/compose/pterodactyl-with-wings.yaml index f9f881d97c..74804374cc 100644 --- a/templates/compose/pterodactyl-with-wings.yaml +++ b/templates/compose/pterodactyl-with-wings.yaml @@ -1,4 +1,3 @@ -# ignore: true # documentation: https://pterodactyl.io/ # slogan: Pterodactyl is a free, open-source game server management panel # category: media @@ -34,7 +33,7 @@ services: timeout: 1s retries: 3 pterodactyl: - image: 'ghcr.io/pterodactyl/panel:v1.12.3' + image: 'ghcr.io/pterodactyl/panel:v1.15.2' volumes: - 'panel-var:/app/var/' - 'panel-nginx:/etc/nginx/http.d/' @@ -110,7 +109,7 @@ services: - MAIL_PASSWORD=$MAIL_PASSWORD - MAIL_ENCRYPTION=$MAIL_ENCRYPTION wings: - image: 'ghcr.io/pterodactyl/wings:v1.12.1' + image: 'ghcr.io/pterodactyl/wings:v1.13.4' restart: unless-stopped ports: - "2022:2022" diff --git a/templates/compose/snipe-it.yaml b/templates/compose/snipe-it.yaml index 8c2ad863f6..bcd6453515 100644 --- a/templates/compose/snipe-it.yaml +++ b/templates/compose/snipe-it.yaml @@ -1,4 +1,3 @@ -# ignore: true # documentation: https://snipe-it.readme.io/docs/introduction # slogan: Snipe-IT is an open-source asset management platform built for IT departments. # category: productivity @@ -8,7 +7,7 @@ services: app: - image: snipe/snipe-it:v8.7.1 + image: snipe/snipe-it:v8.8.3 environment: - SERVICE_URL_SNIPEIT_80 - APP_ENV=production