diff --git a/templates/compose/evolution-api.yaml b/templates/compose/evolution-api.yaml index ed57a1505..86b355633 100644 --- a/templates/compose/evolution-api.yaml +++ b/templates/compose/evolution-api.yaml @@ -15,122 +15,122 @@ services: environment: - SERVICE_FQDN_EVO_8080 - SERVER_URL=$SERVICE_FQDN_EVO - - DB_TYPE=postgresdb + - DB_TYPE=${DB_TYPE:-postgresdb} - 'DB_POSTGRESDB_DATABASE=${POSTGRES_DB:-postgres}' - - DB_POSTGRESDB_HOST=postgres - - DB_POSTGRESDB_PORT=5432 + - DB_POSTGRESDB_HOST=${DB_POSTGRESDB_HOST:-postgres} + - DB_POSTGRESDB_PORT=${DB_POSTGRESDB_PORT:-5432} - 'DB_POSTGRESDB_USER=${SERVICE_USER_POSTGRES}' - 'DB_POSTGRESDB_PASSWORD=${SERVICE_PASSWORD_POSTGRES}' - - DATABASE_PROVIDER=postgresql + - DATABASE_PROVIDER=${DATABASE_PROVIDER:-postgresql} - 'DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-postgres}' - 'DATABASE_CONNECTION_URI=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-postgres}' - - DEL_INSTANCE=false - - DATABASE_SAVE_DATA_INSTANCE=true - - DATABASE_SAVE_DATA_NEW_MESSAGE=true - - DATABASE_SAVE_MESSAGE_UPDATE=true - - DATABASE_SAVE_DATA_CONTACTS=true - - DATABASE_SAVE_DATA_CHATS=true - - DATABASE_SAVE_DATA_LABELS=true - - DATABASE_SAVE_DATA_HISTORIC=true - - DATABASE_CONNECTION_CLIENT_NAME=evolution_v2 - - RABBITMQ_ENABLED=false - - 'RABBITMQ_URI=amqp://admin:admin@rabbitmq:5672/default' - - RABBITMQ_EXCHANGE_NAME=evolution_v2 - - RABBITMQ_GLOBAL_ENABLED=false - - RABBITMQ_EVENTS_APPLICATION_STARTUP=false - - RABBITMQ_EVENTS_INSTANCE_CREATE=false - - RABBITMQ_EVENTS_INSTANCE_DELETE=false - - RABBITMQ_EVENTS_QRCODE_UPDATED=false - - RABBITMQ_EVENTS_MESSAGES_SET=false - - RABBITMQ_EVENTS_MESSAGES_UPSERT=true - - RABBITMQ_EVENTS_MESSAGES_EDITED=false - - RABBITMQ_EVENTS_MESSAGES_UPDATE=false - - RABBITMQ_EVENTS_MESSAGES_DELETE=false - - RABBITMQ_EVENTS_SEND_MESSAGE=false - - RABBITMQ_EVENTS_CONTACTS_SET=false - - RABBITMQ_EVENTS_CONTACTS_UPSERT=false - - RABBITMQ_EVENTS_CONTACTS_UPDATE=false - - RABBITMQ_EVENTS_PRESENCE_UPDATE=false - - RABBITMQ_EVENTS_CHATS_SET=false - - RABBITMQ_EVENTS_CHATS_UPSERT=false - - RABBITMQ_EVENTS_CHATS_UPDATE=false - - RABBITMQ_EVENTS_CHATS_DELETE=false - - RABBITMQ_EVENTS_GROUPS_UPSERT=false - - RABBITMQ_EVENTS_GROUP_UPDATE=false - - RABBITMQ_EVENTS_GROUP_PARTICIPANTS_UPDATE=false - - RABBITMQ_EVENTS_CONNECTION_UPDATE=true - - RABBITMQ_EVENTS_CALL=false - - RABBITMQ_EVENTS_TYPEBOT_START=false - - RABBITMQ_EVENTS_TYPEBOT_CHANGE_STATUS=false - - SQS_ENABLED=false - - SQS_ACCESS_KEY_ID= - - SQS_SECRET_ACCESS_KEY= - - SQS_ACCOUNT_ID= - - SQS_REGION= - - WEBSOCKET_ENABLED=false - - WEBSOCKET_GLOBAL_EVENTS=false - - WA_BUSINESS_TOKEN_WEBHOOK=evolution - - 'WA_BUSINESS_URL=https://graph.facebook.com' - - WA_BUSINESS_VERSION=v20.0 - - WA_BUSINESS_LANGUAGE=pt_BR - - "WEBHOOK_GLOBAL_URL=''" - - WEBHOOK_GLOBAL_ENABLED=false - - WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=false - - WEBHOOK_EVENTS_APPLICATION_STARTUP=false - - WEBHOOK_EVENTS_QRCODE_UPDATED=true - - WEBHOOK_EVENTS_MESSAGES_SET=true - - WEBHOOK_EVENTS_MESSAGES_UPSERT=true - - WEBHOOK_EVENTS_MESSAGES_EDITED=true - - WEBHOOK_EVENTS_MESSAGES_UPDATE=true - - WEBHOOK_EVENTS_MESSAGES_DELETE=true - - WEBHOOK_EVENTS_SEND_MESSAGE=true - - WEBHOOK_EVENTS_CONTACTS_SET=true - - WEBHOOK_EVENTS_CONTACTS_UPSERT=true - - WEBHOOK_EVENTS_CONTACTS_UPDATE=true - - WEBHOOK_EVENTS_PRESENCE_UPDATE=true - - WEBHOOK_EVENTS_CHATS_SET=true - - WEBHOOK_EVENTS_CHATS_UPSERT=true - - WEBHOOK_EVENTS_CHATS_UPDATE=true - - WEBHOOK_EVENTS_CHATS_DELETE=true - - WEBHOOK_EVENTS_GROUPS_UPSERT=true - - WEBHOOK_EVENTS_GROUPS_UPDATE=true - - WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE=true - - WEBHOOK_EVENTS_CONNECTION_UPDATE=true - - WEBHOOK_EVENTS_LABELS_EDIT=true - - WEBHOOK_EVENTS_LABELS_ASSOCIATION=true - - WEBHOOK_EVENTS_CALL=true - - WEBHOOK_EVENTS_TYPEBOT_START=false - - WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS=false - - WEBHOOK_EVENTS_ERRORS=false - - WEBHOOK_EVENTS_ERRORS_WEBHOOK= - - 'CONFIG_SESSION_PHONE_CLIENT=Evolution API V2' - - CONFIG_SESSION_PHONE_NAME=Chrome - - CONFIG_SESSION_PHONE_VERSION=2.3000.1015901307 - - QRCODE_LIMIT=30 - - OPENAI_ENABLED=true - - DIFY_ENABLED=true - - TYPEBOT_ENABLED=true - - TYPEBOT_API_VERSION=latest - - CHATWOOT_ENABLED=true - - CHATWOOT_MESSAGE_READ=true - - CHATWOOT_MESSAGE_DELETE=true + - DEL_INSTANCE=${DEL_INSTANCE:-false} + - DATABASE_SAVE_DATA_INSTANCE=${DATABASE_SAVE_DATA_INSTANCE:-true} + - DATABASE_SAVE_DATA_NEW_MESSAGE=${DATABASE_SAVE_DATA_NEW_MESSAGE:-true} + - DATABASE_SAVE_MESSAGE_UPDATE=${DATABASE_SAVE_MESSAGE_UPDATE:-true} + - DATABASE_SAVE_DATA_CONTACTS=${DATABASE_SAVE_DATA_CONTACTS:-true} + - DATABASE_SAVE_DATA_CHATS=${DATABASE_SAVE_DATA_CHATS:-true} + - DATABASE_SAVE_DATA_LABELS=${DATABASE_SAVE_DATA_LABELS:-true} + - DATABASE_SAVE_DATA_HISTORIC=${DATABASE_SAVE_DATA_HISTORIC:-true} + - DATABASE_CONNECTION_CLIENT_NAME=${DATABASE_CONNECTION_CLIENT_NAME:-evolution_v2} + - RABBITMQ_ENABLED=${RABBITMQ_ENABLED:-false} + - 'RABBITMQ_URI=${RABBITMQ_URI:-amqp://admin:admin@rabbitmq:5672/default}' + - RABBITMQ_EXCHANGE_NAME=${RABBITMQ_EXCHANGE_NAME:-evolution_v2} + - RABBITMQ_GLOBAL_ENABLED=${RABBITMQ_GLOBAL_ENABLED:-false} + - RABBITMQ_EVENTS_APPLICATION_STARTUP=${RABBITMQ_EVENTS_APPLICATION_STARTUP:-false} + - RABBITMQ_EVENTS_INSTANCE_CREATE=${RABBITMQ_EVENTS_INSTANCE_CREATE:-false} + - RABBITMQ_EVENTS_INSTANCE_DELETE=${RABBITMQ_EVENTS_INSTANCE_DELETE:-false} + - RABBITMQ_EVENTS_QRCODE_UPDATED=${RABBITMQ_EVENTS_QRCODE_UPDATED:-false} + - RABBITMQ_EVENTS_MESSAGES_SET=${RABBITMQ_EVENTS_MESSAGES_SET:-false} + - RABBITMQ_EVENTS_MESSAGES_UPSERT=${RABBITMQ_EVENTS_MESSAGES_UPSERT:-true} + - RABBITMQ_EVENTS_MESSAGES_EDITED=${RABBITMQ_EVENTS_MESSAGES_EDITED:-false} + - RABBITMQ_EVENTS_MESSAGES_UPDATE=${RABBITMQ_EVENTS_MESSAGES_UPDATE:-false} + - RABBITMQ_EVENTS_MESSAGES_DELETE=${RABBITMQ_EVENTS_MESSAGES_DELETE:-false} + - RABBITMQ_EVENTS_SEND_MESSAGE=${RABBITMQ_EVENTS_SEND_MESSAGE:-false} + - RABBITMQ_EVENTS_CONTACTS_SET=${RABBITMQ_EVENTS_CONTACTS_SET:-false} + - RABBITMQ_EVENTS_CONTACTS_UPSERT=${RABBITMQ_EVENTS_CONTACTS_UPSERT:-false} + - RABBITMQ_EVENTS_CONTACTS_UPDATE=${RABBITMQ_EVENTS_CONTACTS_UPDATE:-false} + - RABBITMQ_EVENTS_PRESENCE_UPDATE=${RABBITMQ_EVENTS_PRESENCE_UPDATE:-false} + - RABBITMQ_EVENTS_CHATS_SET=${RABBITMQ_EVENTS_CHATS_SET:-false} + - RABBITMQ_EVENTS_CHATS_UPSERT=${RABBITMQ_EVENTS_CHATS_UPSERT:-false} + - RABBITMQ_EVENTS_CHATS_UPDATE=${RABBITMQ_EVENTS_CHATS_UPDATE:-false} + - RABBITMQ_EVENTS_CHATS_DELETE=${RABBITMQ_EVENTS_CHATS_DELETE:-false} + - RABBITMQ_EVENTS_GROUPS_UPSERT=${RABBITMQ_EVENTS_GROUPS_UPSERT:-false} + - RABBITMQ_EVENTS_GROUP_UPDATE=${RABBITMQ_EVENTS_GROUP_UPDATE:-false} + - RABBITMQ_EVENTS_GROUP_PARTICIPANTS_UPDATE=${RABBITMQ_EVENTS_GROUP_PARTICIPANTS_UPDATE:-false} + - RABBITMQ_EVENTS_CONNECTION_UPDATE=${RABBITMQ_EVENTS_CONNECTION_UPDATE:-true} + - RABBITMQ_EVENTS_CALL=${RABBITMQ_EVENTS_CALL:-false} + - RABBITMQ_EVENTS_TYPEBOT_START=${RABBITMQ_EVENTS_TYPEBOT_START:-false} + - RABBITMQ_EVENTS_TYPEBOT_CHANGE_STATUS=${RABBITMQ_EVENTS_TYPEBOT_CHANGE_STATUS:-false} + - SQS_ENABLED=${SQS_ENABLED:-false} + - SQS_ACCESS_KEY_ID=${SQS_ACCESS_KEY_ID:-} + - SQS_SECRET_ACCESS_KEY=${SQS_SECRET_ACCESS_KEY:-} + - SQS_ACCOUNT_ID=${SQS_ACCOUNT_ID:-} + - SQS_REGION=${SQS_REGION:-} + - WEBSOCKET_ENABLED=${WEBSOCKET_ENABLED:-false} + - WEBSOCKET_GLOBAL_EVENTS=${WEBSOCKET_GLOBAL_EVENTS:-false} + - WA_BUSINESS_TOKEN_WEBHOOK=${WA_BUSINESS_TOKEN_WEBHOOK:-evolution} + - 'WA_BUSINESS_URL=${WA_BUSINESS_URL:-https://graph.facebook.com}' + - WA_BUSINESS_VERSION=${WA_BUSINESS_VERSION:-v20.0} + - WA_BUSINESS_LANGUAGE=${WA_BUSINESS_LANGUAGE:-pt_BR} + - "WEBHOOK_GLOBAL_URL=${WEBHOOK_GLOBAL_URL:-''}" + - WEBHOOK_GLOBAL_ENABLED=${WEBHOOK_GLOBAL_ENABLED:-false} + - WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=${WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS:-false} + - WEBHOOK_EVENTS_APPLICATION_STARTUP=${WEBHOOK_EVENTS_APPLICATION_STARTUP:-false} + - WEBHOOK_EVENTS_QRCODE_UPDATED=${WEBHOOK_EVENTS_QRCODE_UPDATED:-true} + - WEBHOOK_EVENTS_MESSAGES_SET=${WEBHOOK_EVENTS_MESSAGES_SET:-true} + - WEBHOOK_EVENTS_MESSAGES_UPSERT=${WEBHOOK_EVENTS_MESSAGES_UPSERT:-true} + - WEBHOOK_EVENTS_MESSAGES_EDITED=${WEBHOOK_EVENTS_MESSAGES_EDITED:-true} + - WEBHOOK_EVENTS_MESSAGES_UPDATE=${WEBHOOK_EVENTS_MESSAGES_UPDATE:-true} + - WEBHOOK_EVENTS_MESSAGES_DELETE=${WEBHOOK_EVENTS_MESSAGES_DELETE:-true} + - WEBHOOK_EVENTS_SEND_MESSAGE=${WEBHOOK_EVENTS_SEND_MESSAGE:-true} + - WEBHOOK_EVENTS_CONTACTS_SET=${WEBHOOK_EVENTS_CONTACTS_SET:-true} + - WEBHOOK_EVENTS_CONTACTS_UPSERT=${WEBHOOK_EVENTS_CONTACTS_UPSERT:-true} + - WEBHOOK_EVENTS_CONTACTS_UPDATE=${WEBHOOK_EVENTS_CONTACTS_UPDATE:-true} + - WEBHOOK_EVENTS_PRESENCE_UPDATE=${WEBHOOK_EVENTS_PRESENCE_UPDATE:-true} + - WEBHOOK_EVENTS_CHATS_SET=${WEBHOOK_EVENTS_CHATS_SET:-true} + - WEBHOOK_EVENTS_CHATS_UPSERT=${WEBHOOK_EVENTS_CHATS_UPSERT:-true} + - WEBHOOK_EVENTS_CHATS_UPDATE=${WEBHOOK_EVENTS_CHATS_UPDATE:-true} + - WEBHOOK_EVENTS_CHATS_DELETE=${WEBHOOK_EVENTS_CHATS_DELETE:-true} + - WEBHOOK_EVENTS_GROUPS_UPSERT=${WEBHOOK_EVENTS_GROUPS_UPSERT:-true} + - WEBHOOK_EVENTS_GROUPS_UPDATE=${WEBHOOK_EVENTS_GROUPS_UPDATE:-true} + - WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE=${WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE:-true} + - WEBHOOK_EVENTS_CONNECTION_UPDATE=${WEBHOOK_EVENTS_CONNECTION_UPDATE:-true} + - WEBHOOK_EVENTS_LABELS_EDIT=${WEBHOOK_EVENTS_LABELS_EDIT:-true} + - WEBHOOK_EVENTS_LABELS_ASSOCIATION=${WEBHOOK_EVENTS_LABELS_ASSOCIATION:-true} + - WEBHOOK_EVENTS_CALL=${WEBHOOK_EVENTS_CALL:-true} + - WEBHOOK_EVENTS_TYPEBOT_START=${WEBHOOK_EVENTS_TYPEBOT_START:-false} + - WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS=${WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS:-false} + - WEBHOOK_EVENTS_ERRORS=${WEBHOOK_EVENTS_ERRORS:-false} + - WEBHOOK_EVENTS_ERRORS_WEBHOOK=${WEBHOOK_EVENTS_ERRORS_WEBHOOK:-} + - 'CONFIG_SESSION_PHONE_CLIENT=${CONFIG_SESSION_PHONE_CLIENT:-Evolution API V2}' + - CONFIG_SESSION_PHONE_NAME=${CONFIG_SESSION_PHONE_NAME:-Chrome} + - CONFIG_SESSION_PHONE_VERSION=${CONFIG_SESSION_PHONE_VERSION:-2.3000.1015901307} + - QRCODE_LIMIT=${QRCODE_LIMIT:-30} + - OPENAI_ENABLED=${OPENAI_ENABLED:-true} + - DIFY_ENABLED=${DIFY_ENABLED:-true} + - TYPEBOT_ENABLED=${TYPEBOT_ENABLED:-true} + - TYPEBOT_API_VERSION=${TYPEBOT_API_VERSION:-latest} + - CHATWOOT_ENABLED=${CHATWOOT_ENABLED:-true} + - CHATWOOT_MESSAGE_READ=${CHATWOOT_MESSAGE_READ:-true} + - CHATWOOT_MESSAGE_DELETE=${CHATWOOT_MESSAGE_DELETE:-true} - 'CHATWOOT_IMPORT_DATABASE_CONNECTION_URI=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-chatwoot}' - - CHATWOOT_IMPORT_PLACEHOLDER_MEDIA_MESSAGE=true - - CACHE_REDIS_ENABLED=true - - 'CACHE_REDIS_URI=redis://redis:6379/6' - - CACHE_REDIS_PREFIX_KEY=evolution_v2 - - CACHE_REDIS_SAVE_INSTANCES=false - - CACHE_LOCAL_ENABLED=false - - S3_ENABLED=false - - S3_ACCESS_KEY= - - S3_SECRET_KEY= - - S3_BUCKET=evolution - - S3_PORT=443 - - S3_ENDPOINT=files.site.com - - S3_USE_SSL=true - - 'AUTHENTICATION_API_KEY=${SERVICE_AUTHENTICATION_API_KEY}' - - AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true - - LANGUAGE=en + - CHATWOOT_IMPORT_PLACEHOLDER_MEDIA_MESSAGE=${CHATWOOT_IMPORT_PLACEHOLDER_MEDIA_MESSAGE:-true} + - CACHE_REDIS_ENABLED=${CACHE_REDIS_ENABLED:-true} + - 'CACHE_REDIS_URI=${CACHE_REDIS_URI:-redis://redis:6379/6}' + - CACHE_REDIS_PREFIX_KEY=${CACHE_REDIS_PREFIX_KEY:-evolution_v2} + - CACHE_REDIS_SAVE_INSTANCES=${CACHE_REDIS_SAVE_INSTANCES:-false} + - CACHE_LOCAL_ENABLED=${CACHE_LOCAL_ENABLED:-false} + - S3_ENABLED=${S3_ENABLED:-false} + - S3_ACCESS_KEY=${S3_ACCESS_KEY:-} + - S3_SECRET_KEY=${S3_SECRET_KEY:-} + - S3_BUCKET=${S3_BUCKET:-evolution} + - S3_PORT=${S3_PORT:-443} + - S3_ENDPOINT=${S3_ENDPOINT:-files.site.com} + - S3_USE_SSL=${S3_USE_SSL:-true} + - 'AUTHENTICATION_API_KEY=${SERVICE_PASSWORD_AUTHENTICATIONAPIKEY}' + - AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=${AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES:-true} + - LANGUAGE=${LANGUAGE:-en} volumes: - 'evolution_instances:/evolution/instances' expose: @@ -151,7 +151,7 @@ services: - 'POSTGRES_USER=${SERVICE_USER_POSTGRES}' - 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}' - 'POSTGRES_DB=${POSTGRES_DB:-postgres}' - - 'AUTHENTICATION_API_KEY=${SERVICE_AUTHENTICATION_API_KEY}' + - 'AUTHENTICATION_API_KEY=${SERVICE_PASSWORD_AUTHENTICATIONAPIKEY}' restart: always volumes: - 'postgres_data:/var/lib/postgresql/data' diff --git a/templates/compose/neon-with-postgres.yaml b/templates/compose/neon-ws-proxy.yaml similarity index 100% rename from templates/compose/neon-with-postgres.yaml rename to templates/compose/neon-ws-proxy.yaml diff --git a/templates/service-templates.json b/templates/service-templates.json index c1c076a33..ee1591660 100644 --- a/templates/service-templates.json +++ b/templates/service-templates.json @@ -799,6 +799,23 @@ "minversion": "0.0.0", "port": "6555" }, + "evolution-api": { + "documentation": "https://doc.evolution-api.com/v1/pt/get-started/introduction?utm_source=coolify.io", + "slogan": "Evolution API Installation with Postgres and Redis", + "compose": "dmVyc2lvbjogJzMuOCcKc2VydmljZXM6CiAgYXBpOgogICAgaW1hZ2U6ICdhdGVuZGFpL2V2b2x1dGlvbi1hcGk6bGF0ZXN0JwogICAgcmVzdGFydDogYWx3YXlzCiAgICBkZXBlbmRzX29uOgogICAgICAtIHJlZGlzCiAgICAgIC0gcG9zdGdyZXMKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9FVk9fODA4MAogICAgICAtIFNFUlZFUl9VUkw9JFNFUlZJQ0VfRlFETl9FVk8KICAgICAgLSAnREJfVFlQRT0ke0RCX1RZUEU6LXBvc3RncmVzZGJ9JwogICAgICAtICdEQl9QT1NUR1JFU0RCX0RBVEFCQVNFPSR7UE9TVEdSRVNfREI6LXBvc3RncmVzfScKICAgICAgLSAnREJfUE9TVEdSRVNEQl9IT1NUPSR7REJfUE9TVEdSRVNEQl9IT1NUOi1wb3N0Z3Jlc30nCiAgICAgIC0gJ0RCX1BPU1RHUkVTREJfUE9SVD0ke0RCX1BPU1RHUkVTREJfUE9SVDotNTQzMn0nCiAgICAgIC0gJ0RCX1BPU1RHUkVTREJfVVNFUj0ke1NFUlZJQ0VfVVNFUl9QT1NUR1JFU30nCiAgICAgIC0gJ0RCX1BPU1RHUkVTREJfUEFTU1dPUkQ9JHtTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTfScKICAgICAgLSAnREFUQUJBU0VfUFJPVklERVI9JHtEQVRBQkFTRV9QUk9WSURFUjotcG9zdGdyZXNxbH0nCiAgICAgIC0gJ0RBVEFCQVNFX1VSTD1wb3N0Z3Jlc3FsOi8vJHtTRVJWSUNFX1VTRVJfUE9TVEdSRVN9OiR7U0VSVklDRV9QQVNTV09SRF9QT1NUR1JFU31AcG9zdGdyZXM6NTQzMi8ke1BPU1RHUkVTX0RCOi1wb3N0Z3Jlc30nCiAgICAgIC0gJ0RBVEFCQVNFX0NPTk5FQ1RJT05fVVJJPXBvc3RncmVzcWw6Ly8ke1NFUlZJQ0VfVVNFUl9QT1NUR1JFU306JHtTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTfUBwb3N0Z3Jlczo1NDMyLyR7UE9TVEdSRVNfREI6LXBvc3RncmVzfScKICAgICAgLSAnREVMX0lOU1RBTkNFPSR7REVMX0lOU1RBTkNFOi1mYWxzZX0nCiAgICAgIC0gJ0RBVEFCQVNFX1NBVkVfREFUQV9JTlNUQU5DRT0ke0RBVEFCQVNFX1NBVkVfREFUQV9JTlNUQU5DRTotdHJ1ZX0nCiAgICAgIC0gJ0RBVEFCQVNFX1NBVkVfREFUQV9ORVdfTUVTU0FHRT0ke0RBVEFCQVNFX1NBVkVfREFUQV9ORVdfTUVTU0FHRTotdHJ1ZX0nCiAgICAgIC0gJ0RBVEFCQVNFX1NBVkVfTUVTU0FHRV9VUERBVEU9JHtEQVRBQkFTRV9TQVZFX01FU1NBR0VfVVBEQVRFOi10cnVlfScKICAgICAgLSAnREFUQUJBU0VfU0FWRV9EQVRBX0NPTlRBQ1RTPSR7REFUQUJBU0VfU0FWRV9EQVRBX0NPTlRBQ1RTOi10cnVlfScKICAgICAgLSAnREFUQUJBU0VfU0FWRV9EQVRBX0NIQVRTPSR7REFUQUJBU0VfU0FWRV9EQVRBX0NIQVRTOi10cnVlfScKICAgICAgLSAnREFUQUJBU0VfU0FWRV9EQVRBX0xBQkVMUz0ke0RBVEFCQVNFX1NBVkVfREFUQV9MQUJFTFM6LXRydWV9JwogICAgICAtICdEQVRBQkFTRV9TQVZFX0RBVEFfSElTVE9SSUM9JHtEQVRBQkFTRV9TQVZFX0RBVEFfSElTVE9SSUM6LXRydWV9JwogICAgICAtICdEQVRBQkFTRV9DT05ORUNUSU9OX0NMSUVOVF9OQU1FPSR7REFUQUJBU0VfQ09OTkVDVElPTl9DTElFTlRfTkFNRTotZXZvbHV0aW9uX3YyfScKICAgICAgLSAnUkFCQklUTVFfRU5BQkxFRD0ke1JBQkJJVE1RX0VOQUJMRUQ6LWZhbHNlfScKICAgICAgLSAnUkFCQklUTVFfVVJJPSR7UkFCQklUTVFfVVJJOi1hbXFwOi8vYWRtaW46YWRtaW5AcmFiYml0bXE6NTY3Mi9kZWZhdWx0fScKICAgICAgLSAnUkFCQklUTVFfRVhDSEFOR0VfTkFNRT0ke1JBQkJJVE1RX0VYQ0hBTkdFX05BTUU6LWV2b2x1dGlvbl92Mn0nCiAgICAgIC0gJ1JBQkJJVE1RX0dMT0JBTF9FTkFCTEVEPSR7UkFCQklUTVFfR0xPQkFMX0VOQUJMRUQ6LWZhbHNlfScKICAgICAgLSAnUkFCQklUTVFfRVZFTlRTX0FQUExJQ0FUSU9OX1NUQVJUVVA9JHtSQUJCSVRNUV9FVkVOVFNfQVBQTElDQVRJT05fU1RBUlRVUDotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfSU5TVEFOQ0VfQ1JFQVRFPSR7UkFCQklUTVFfRVZFTlRTX0lOU1RBTkNFX0NSRUFURTotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfSU5TVEFOQ0VfREVMRVRFPSR7UkFCQklUTVFfRVZFTlRTX0lOU1RBTkNFX0RFTEVURTotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfUVJDT0RFX1VQREFURUQ9JHtSQUJCSVRNUV9FVkVOVFNfUVJDT0RFX1VQREFURUQ6LWZhbHNlfScKICAgICAgLSAnUkFCQklUTVFfRVZFTlRTX01FU1NBR0VTX1NFVD0ke1JBQkJJVE1RX0VWRU5UU19NRVNTQUdFU19TRVQ6LWZhbHNlfScKICAgICAgLSAnUkFCQklUTVFfRVZFTlRTX01FU1NBR0VTX1VQU0VSVD0ke1JBQkJJVE1RX0VWRU5UU19NRVNTQUdFU19VUFNFUlQ6LXRydWV9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfTUVTU0FHRVNfRURJVEVEPSR7UkFCQklUTVFfRVZFTlRTX01FU1NBR0VTX0VESVRFRDotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfTUVTU0FHRVNfVVBEQVRFPSR7UkFCQklUTVFfRVZFTlRTX01FU1NBR0VTX1VQREFURTotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfTUVTU0FHRVNfREVMRVRFPSR7UkFCQklUTVFfRVZFTlRTX01FU1NBR0VTX0RFTEVURTotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfU0VORF9NRVNTQUdFPSR7UkFCQklUTVFfRVZFTlRTX1NFTkRfTUVTU0FHRTotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfQ09OVEFDVFNfU0VUPSR7UkFCQklUTVFfRVZFTlRTX0NPTlRBQ1RTX1NFVDotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfQ09OVEFDVFNfVVBTRVJUPSR7UkFCQklUTVFfRVZFTlRTX0NPTlRBQ1RTX1VQU0VSVDotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfQ09OVEFDVFNfVVBEQVRFPSR7UkFCQklUTVFfRVZFTlRTX0NPTlRBQ1RTX1VQREFURTotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfUFJFU0VOQ0VfVVBEQVRFPSR7UkFCQklUTVFfRVZFTlRTX1BSRVNFTkNFX1VQREFURTotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfQ0hBVFNfU0VUPSR7UkFCQklUTVFfRVZFTlRTX0NIQVRTX1NFVDotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfQ0hBVFNfVVBTRVJUPSR7UkFCQklUTVFfRVZFTlRTX0NIQVRTX1VQU0VSVDotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfQ0hBVFNfVVBEQVRFPSR7UkFCQklUTVFfRVZFTlRTX0NIQVRTX1VQREFURTotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfQ0hBVFNfREVMRVRFPSR7UkFCQklUTVFfRVZFTlRTX0NIQVRTX0RFTEVURTotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfR1JPVVBTX1VQU0VSVD0ke1JBQkJJVE1RX0VWRU5UU19HUk9VUFNfVVBTRVJUOi1mYWxzZX0nCiAgICAgIC0gJ1JBQkJJVE1RX0VWRU5UU19HUk9VUF9VUERBVEU9JHtSQUJCSVRNUV9FVkVOVFNfR1JPVVBfVVBEQVRFOi1mYWxzZX0nCiAgICAgIC0gJ1JBQkJJVE1RX0VWRU5UU19HUk9VUF9QQVJUSUNJUEFOVFNfVVBEQVRFPSR7UkFCQklUTVFfRVZFTlRTX0dST1VQX1BBUlRJQ0lQQU5UU19VUERBVEU6LWZhbHNlfScKICAgICAgLSAnUkFCQklUTVFfRVZFTlRTX0NPTk5FQ1RJT05fVVBEQVRFPSR7UkFCQklUTVFfRVZFTlRTX0NPTk5FQ1RJT05fVVBEQVRFOi10cnVlfScKICAgICAgLSAnUkFCQklUTVFfRVZFTlRTX0NBTEw9JHtSQUJCSVRNUV9FVkVOVFNfQ0FMTDotZmFsc2V9JwogICAgICAtICdSQUJCSVRNUV9FVkVOVFNfVFlQRUJPVF9TVEFSVD0ke1JBQkJJVE1RX0VWRU5UU19UWVBFQk9UX1NUQVJUOi1mYWxzZX0nCiAgICAgIC0gJ1JBQkJJVE1RX0VWRU5UU19UWVBFQk9UX0NIQU5HRV9TVEFUVVM9JHtSQUJCSVRNUV9FVkVOVFNfVFlQRUJPVF9DSEFOR0VfU1RBVFVTOi1mYWxzZX0nCiAgICAgIC0gJ1NRU19FTkFCTEVEPSR7U1FTX0VOQUJMRUQ6LWZhbHNlfScKICAgICAgLSAnU1FTX0FDQ0VTU19LRVlfSUQ9JHtTUVNfQUNDRVNTX0tFWV9JRDotfScKICAgICAgLSAnU1FTX1NFQ1JFVF9BQ0NFU1NfS0VZPSR7U1FTX1NFQ1JFVF9BQ0NFU1NfS0VZOi19JwogICAgICAtICdTUVNfQUNDT1VOVF9JRD0ke1NRU19BQ0NPVU5UX0lEOi19JwogICAgICAtICdTUVNfUkVHSU9OPSR7U1FTX1JFR0lPTjotfScKICAgICAgLSAnV0VCU09DS0VUX0VOQUJMRUQ9JHtXRUJTT0NLRVRfRU5BQkxFRDotZmFsc2V9JwogICAgICAtICdXRUJTT0NLRVRfR0xPQkFMX0VWRU5UUz0ke1dFQlNPQ0tFVF9HTE9CQUxfRVZFTlRTOi1mYWxzZX0nCiAgICAgIC0gJ1dBX0JVU0lORVNTX1RPS0VOX1dFQkhPT0s9JHtXQV9CVVNJTkVTU19UT0tFTl9XRUJIT09LOi1ldm9sdXRpb259JwogICAgICAtICdXQV9CVVNJTkVTU19VUkw9JHtXQV9CVVNJTkVTU19VUkw6LWh0dHBzOi8vZ3JhcGguZmFjZWJvb2suY29tfScKICAgICAgLSAnV0FfQlVTSU5FU1NfVkVSU0lPTj0ke1dBX0JVU0lORVNTX1ZFUlNJT046LXYyMC4wfScKICAgICAgLSAnV0FfQlVTSU5FU1NfTEFOR1VBR0U9JHtXQV9CVVNJTkVTU19MQU5HVUFHRTotcHRfQlJ9JwogICAgICAtICJXRUJIT09LX0dMT0JBTF9VUkw9JHtXRUJIT09LX0dMT0JBTF9VUkw6LScnfSIKICAgICAgLSAnV0VCSE9PS19HTE9CQUxfRU5BQkxFRD0ke1dFQkhPT0tfR0xPQkFMX0VOQUJMRUQ6LWZhbHNlfScKICAgICAgLSAnV0VCSE9PS19HTE9CQUxfV0VCSE9PS19CWV9FVkVOVFM9JHtXRUJIT09LX0dMT0JBTF9XRUJIT09LX0JZX0VWRU5UUzotZmFsc2V9JwogICAgICAtICdXRUJIT09LX0VWRU5UU19BUFBMSUNBVElPTl9TVEFSVFVQPSR7V0VCSE9PS19FVkVOVFNfQVBQTElDQVRJT05fU1RBUlRVUDotZmFsc2V9JwogICAgICAtICdXRUJIT09LX0VWRU5UU19RUkNPREVfVVBEQVRFRD0ke1dFQkhPT0tfRVZFTlRTX1FSQ09ERV9VUERBVEVEOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfTUVTU0FHRVNfU0VUPSR7V0VCSE9PS19FVkVOVFNfTUVTU0FHRVNfU0VUOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfTUVTU0FHRVNfVVBTRVJUPSR7V0VCSE9PS19FVkVOVFNfTUVTU0FHRVNfVVBTRVJUOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfTUVTU0FHRVNfRURJVEVEPSR7V0VCSE9PS19FVkVOVFNfTUVTU0FHRVNfRURJVEVEOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfTUVTU0FHRVNfVVBEQVRFPSR7V0VCSE9PS19FVkVOVFNfTUVTU0FHRVNfVVBEQVRFOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfTUVTU0FHRVNfREVMRVRFPSR7V0VCSE9PS19FVkVOVFNfTUVTU0FHRVNfREVMRVRFOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfU0VORF9NRVNTQUdFPSR7V0VCSE9PS19FVkVOVFNfU0VORF9NRVNTQUdFOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfQ09OVEFDVFNfU0VUPSR7V0VCSE9PS19FVkVOVFNfQ09OVEFDVFNfU0VUOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfQ09OVEFDVFNfVVBTRVJUPSR7V0VCSE9PS19FVkVOVFNfQ09OVEFDVFNfVVBTRVJUOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfQ09OVEFDVFNfVVBEQVRFPSR7V0VCSE9PS19FVkVOVFNfQ09OVEFDVFNfVVBEQVRFOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfUFJFU0VOQ0VfVVBEQVRFPSR7V0VCSE9PS19FVkVOVFNfUFJFU0VOQ0VfVVBEQVRFOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfQ0hBVFNfU0VUPSR7V0VCSE9PS19FVkVOVFNfQ0hBVFNfU0VUOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfQ0hBVFNfVVBTRVJUPSR7V0VCSE9PS19FVkVOVFNfQ0hBVFNfVVBTRVJUOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfQ0hBVFNfVVBEQVRFPSR7V0VCSE9PS19FVkVOVFNfQ0hBVFNfVVBEQVRFOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfQ0hBVFNfREVMRVRFPSR7V0VCSE9PS19FVkVOVFNfQ0hBVFNfREVMRVRFOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfR1JPVVBTX1VQU0VSVD0ke1dFQkhPT0tfRVZFTlRTX0dST1VQU19VUFNFUlQ6LXRydWV9JwogICAgICAtICdXRUJIT09LX0VWRU5UU19HUk9VUFNfVVBEQVRFPSR7V0VCSE9PS19FVkVOVFNfR1JPVVBTX1VQREFURTotdHJ1ZX0nCiAgICAgIC0gJ1dFQkhPT0tfRVZFTlRTX0dST1VQX1BBUlRJQ0lQQU5UU19VUERBVEU9JHtXRUJIT09LX0VWRU5UU19HUk9VUF9QQVJUSUNJUEFOVFNfVVBEQVRFOi10cnVlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfQ09OTkVDVElPTl9VUERBVEU9JHtXRUJIT09LX0VWRU5UU19DT05ORUNUSU9OX1VQREFURTotdHJ1ZX0nCiAgICAgIC0gJ1dFQkhPT0tfRVZFTlRTX0xBQkVMU19FRElUPSR7V0VCSE9PS19FVkVOVFNfTEFCRUxTX0VESVQ6LXRydWV9JwogICAgICAtICdXRUJIT09LX0VWRU5UU19MQUJFTFNfQVNTT0NJQVRJT049JHtXRUJIT09LX0VWRU5UU19MQUJFTFNfQVNTT0NJQVRJT046LXRydWV9JwogICAgICAtICdXRUJIT09LX0VWRU5UU19DQUxMPSR7V0VCSE9PS19FVkVOVFNfQ0FMTDotdHJ1ZX0nCiAgICAgIC0gJ1dFQkhPT0tfRVZFTlRTX1RZUEVCT1RfU1RBUlQ9JHtXRUJIT09LX0VWRU5UU19UWVBFQk9UX1NUQVJUOi1mYWxzZX0nCiAgICAgIC0gJ1dFQkhPT0tfRVZFTlRTX1RZUEVCT1RfQ0hBTkdFX1NUQVRVUz0ke1dFQkhPT0tfRVZFTlRTX1RZUEVCT1RfQ0hBTkdFX1NUQVRVUzotZmFsc2V9JwogICAgICAtICdXRUJIT09LX0VWRU5UU19FUlJPUlM9JHtXRUJIT09LX0VWRU5UU19FUlJPUlM6LWZhbHNlfScKICAgICAgLSAnV0VCSE9PS19FVkVOVFNfRVJST1JTX1dFQkhPT0s9JHtXRUJIT09LX0VWRU5UU19FUlJPUlNfV0VCSE9PSzotfScKICAgICAgLSAnQ09ORklHX1NFU1NJT05fUEhPTkVfQ0xJRU5UPSR7Q09ORklHX1NFU1NJT05fUEhPTkVfQ0xJRU5UOi1Fdm9sdXRpb24gQVBJIFYyfScKICAgICAgLSAnQ09ORklHX1NFU1NJT05fUEhPTkVfTkFNRT0ke0NPTkZJR19TRVNTSU9OX1BIT05FX05BTUU6LUNocm9tZX0nCiAgICAgIC0gJ0NPTkZJR19TRVNTSU9OX1BIT05FX1ZFUlNJT049JHtDT05GSUdfU0VTU0lPTl9QSE9ORV9WRVJTSU9OOi0yLjMwMDAuMTAxNTkwMTMwN30nCiAgICAgIC0gJ1FSQ09ERV9MSU1JVD0ke1FSQ09ERV9MSU1JVDotMzB9JwogICAgICAtICdPUEVOQUlfRU5BQkxFRD0ke09QRU5BSV9FTkFCTEVEOi10cnVlfScKICAgICAgLSAnRElGWV9FTkFCTEVEPSR7RElGWV9FTkFCTEVEOi10cnVlfScKICAgICAgLSAnVFlQRUJPVF9FTkFCTEVEPSR7VFlQRUJPVF9FTkFCTEVEOi10cnVlfScKICAgICAgLSAnVFlQRUJPVF9BUElfVkVSU0lPTj0ke1RZUEVCT1RfQVBJX1ZFUlNJT046LWxhdGVzdH0nCiAgICAgIC0gJ0NIQVRXT09UX0VOQUJMRUQ9JHtDSEFUV09PVF9FTkFCTEVEOi10cnVlfScKICAgICAgLSAnQ0hBVFdPT1RfTUVTU0FHRV9SRUFEPSR7Q0hBVFdPT1RfTUVTU0FHRV9SRUFEOi10cnVlfScKICAgICAgLSAnQ0hBVFdPT1RfTUVTU0FHRV9ERUxFVEU9JHtDSEFUV09PVF9NRVNTQUdFX0RFTEVURTotdHJ1ZX0nCiAgICAgIC0gJ0NIQVRXT09UX0lNUE9SVF9EQVRBQkFTRV9DT05ORUNUSU9OX1VSST1wb3N0Z3Jlc3FsOi8vJHtTRVJWSUNFX1VTRVJfUE9TVEdSRVN9OiR7U0VSVklDRV9QQVNTV09SRF9QT1NUR1JFU31AcG9zdGdyZXM6NTQzMi8ke1BPU1RHUkVTX0RCOi1jaGF0d29vdH0nCiAgICAgIC0gJ0NIQVRXT09UX0lNUE9SVF9QTEFDRUhPTERFUl9NRURJQV9NRVNTQUdFPSR7Q0hBVFdPT1RfSU1QT1JUX1BMQUNFSE9MREVSX01FRElBX01FU1NBR0U6LXRydWV9JwogICAgICAtICdDQUNIRV9SRURJU19FTkFCTEVEPSR7Q0FDSEVfUkVESVNfRU5BQkxFRDotdHJ1ZX0nCiAgICAgIC0gJ0NBQ0hFX1JFRElTX1VSST0ke0NBQ0hFX1JFRElTX1VSSTotcmVkaXM6Ly9yZWRpczo2Mzc5LzZ9JwogICAgICAtICdDQUNIRV9SRURJU19QUkVGSVhfS0VZPSR7Q0FDSEVfUkVESVNfUFJFRklYX0tFWTotZXZvbHV0aW9uX3YyfScKICAgICAgLSAnQ0FDSEVfUkVESVNfU0FWRV9JTlNUQU5DRVM9JHtDQUNIRV9SRURJU19TQVZFX0lOU1RBTkNFUzotZmFsc2V9JwogICAgICAtICdDQUNIRV9MT0NBTF9FTkFCTEVEPSR7Q0FDSEVfTE9DQUxfRU5BQkxFRDotZmFsc2V9JwogICAgICAtICdTM19FTkFCTEVEPSR7UzNfRU5BQkxFRDotZmFsc2V9JwogICAgICAtICdTM19BQ0NFU1NfS0VZPSR7UzNfQUNDRVNTX0tFWTotfScKICAgICAgLSAnUzNfU0VDUkVUX0tFWT0ke1MzX1NFQ1JFVF9LRVk6LX0nCiAgICAgIC0gJ1MzX0JVQ0tFVD0ke1MzX0JVQ0tFVDotZXZvbHV0aW9ufScKICAgICAgLSAnUzNfUE9SVD0ke1MzX1BPUlQ6LTQ0M30nCiAgICAgIC0gJ1MzX0VORFBPSU5UPSR7UzNfRU5EUE9JTlQ6LWZpbGVzLnNpdGUuY29tfScKICAgICAgLSAnUzNfVVNFX1NTTD0ke1MzX1VTRV9TU0w6LXRydWV9JwogICAgICAtICdBVVRIRU5USUNBVElPTl9BUElfS0VZPSR7U0VSVklDRV9QQVNTV09SRF9BVVRIRU5USUNBVElPTkFQSUtFWX0nCiAgICAgIC0gJ0FVVEhFTlRJQ0FUSU9OX0VYUE9TRV9JTl9GRVRDSF9JTlNUQU5DRVM9JHtBVVRIRU5USUNBVElPTl9FWFBPU0VfSU5fRkVUQ0hfSU5TVEFOQ0VTOi10cnVlfScKICAgICAgLSAnTEFOR1VBR0U9JHtMQU5HVUFHRTotZW59JwogICAgdm9sdW1lczoKICAgICAgLSAnZXZvbHV0aW9uX2luc3RhbmNlczovZXZvbHV0aW9uL2luc3RhbmNlcycKICAgIGV4cG9zZToKICAgICAgLSA4MDgwCiAgcmVkaXM6CiAgICBpbWFnZTogJ3JlZGlzOmxhdGVzdCcKICAgIGNvbW1hbmQ6ICJyZWRpcy1zZXJ2ZXIgLS1wb3J0IDYzNzkgLS1hcHBlbmRvbmx5IHllc1xuIgogICAgcmVzdGFydDogYWx3YXlzCiAgICB2b2x1bWVzOgogICAgICAtICdldm9sdXRpb25fcmVkaXM6L2RhdGEnCiAgcG9zdGdyZXM6CiAgICBpbWFnZTogJ3Bvc3RncmVzOjE2LWFscGluZScKICAgIGNvbW1hbmQ6CiAgICAgIC0gcG9zdGdyZXMKICAgICAgLSAnLWMnCiAgICAgIC0gbWF4X2Nvbm5lY3Rpb25zPTEwMDAKICAgIGVudmlyb25tZW50OgogICAgICAtICdQT1NUR1JFU19VU0VSPSR7U0VSVklDRV9VU0VSX1BPU1RHUkVTfScKICAgICAgLSAnUE9TVEdSRVNfUEFTU1dPUkQ9JHtTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTfScKICAgICAgLSAnUE9TVEdSRVNfREI9JHtQT1NUR1JFU19EQjotcG9zdGdyZXN9JwogICAgICAtICdBVVRIRU5USUNBVElPTl9BUElfS0VZPSR7U0VSVklDRV9QQVNTV09SRF9BVVRIRU5USUNBVElPTkFQSUtFWX0nCiAgICByZXN0YXJ0OiBhbHdheXMKICAgIHZvbHVtZXM6CiAgICAgIC0gJ3Bvc3RncmVzX2RhdGE6L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhJwp2b2x1bWVzOgogIGV2b2x1dGlvbl9pbnN0YW5jZXM6IG51bGwKICBldm9sdXRpb25fcmVkaXM6IG51bGwKICBwb3N0Z3Jlc19kYXRhOiBudWxsCg==", + "tags": [ + "evolution-api", + "evo-api", + "evolution", + "whatsapp", + "api", + "postgres", + "redis" + ], + "logo": "svgs/evolution-api.png", + "minversion": "0.0.0", + "port": "8080" + }, "faraday": { "documentation": "https://faradaysec.com/?utm_source=coolify.io", "slogan": "Faraday is a powerful, open-source, web-based vulnerability management tool.", @@ -2054,6 +2071,19 @@ "minversion": "0.0.0", "port": "5678" }, + "neon-ws-proxy": { + "documentation": "https://neon.tech?utm_source=coolify.io", + "slogan": "The database you love, on a serverless platform designed to help you build reliable and scalable applications faster.", + "compose": "c2VydmljZXM6CiAgbmVvbi1wcm94eToKICAgIGltYWdlOiAnZ2hjci5pby9uZW9uZGF0YWJhc2Uvd3Nwcm94eTpsYXRlc3QnCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBTRVJWSUNFX0ZRRE5fTkVPTlBST1hZCiAgICAgIC0gU0VSVklDRV9GUUROX05FT05QUk9NRVRIRVVTXzIxMTIKICAgICAgLSAnQVBQRU5EX1BPUlQ9cG9zdGdyZXM6NTQzMicKICAgICAgLSAnQUxMT1dfQUREUl9SRUdFWD0uKicKICAgICAgLSBMT0dfVFJBRkZJQz1mYWxzZQogICAgICAtIExPR19DT05OX0lORk89dHJ1ZQogICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWQKICAgIGRlcGVuZHNfb246CiAgICAgIC0gcG9zdGdyZXMKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAnbmMgLXogMTI3LjAuMC4xIDgwJwogICAgICBpbnRlcnZhbDogNXMKICAgICAgdGltZW91dDogMnMKICAgICAgcmV0cmllczogMjAKICBwb3N0Z3JlczoKICAgIGltYWdlOiAncG9zdGdyZXM6MTctYWxwaW5lJwogICAgcGxhdGZvcm06IGxpbnV4L2FtZDY0CiAgICB2b2x1bWVzOgogICAgICAtICdwb3N0Z3Jlc3FsLWRhdGE6L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gJ1BPU1RHUkVTX1VTRVI9JHtTRVJWSUNFX1VTRVJfUE9TVEdSRVNRTH0nCiAgICAgIC0gJ1BPU1RHUkVTX1BBU1NXT1JEPSR7U0VSVklDRV9QQVNTV09SRF9QT1NUR1JFU1FMfScKICAgICAgLSAnUE9TVEdSRVNfREI9JHtQT1NUR1JFU1FMX0RBVEFCQVNFOi1wb3N0Z3Jlc30nCiAgICAgIC0gUE9TVEdSRVNfSE9TVF9BVVRIX01FVEhPRD1wYXNzd29yZAogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdwZ19pc3JlYWR5IC1VICQke1BPU1RHUkVTX1VTRVJ9IC1kICQke1BPU1RHUkVTX0RCfScKICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDIwcwogICAgICByZXRyaWVzOiAxMAo=", + "tags": [ + "proxy", + "neon", + "postgresql" + ], + "logo": "svgs/neon.svg", + "minversion": "0.0.0", + "port": "80, 2112" + }, "next-image-transformation": { "documentation": "https://github.com/coollabsio/next-image-transformation?utm_source=coolify.io", "slogan": "Drop-in replacement for Vercel's Nextjs image optimization service.",