Skip to content

Database provider #1029

Description

@bryanwac

Welcome!

  • Yes, I have searched for similar issues on GitHub and found none.

What did you do?

Even with the DATABASE_ENABLED setted to FALSE:

# Permanent data storage
DATABASE_ENABLED=false
DATABASE_PROVIDER=postgresql
DATABASE_CONNECTION_URI= postgresql://postgres:root@localhost:5432/evolution?schema=public
DATABASE_CONNECTION_DB_PREFIX_NAME=evolution

When I run the evolution container, it tries to instance the postgree DB even when its not needed.

My full config for docker:

`# Server URL - Set your application url
SERVER_URL=url

Cors - * for all or set separate by commas - ex.: 'yourdomain1.com, yourdomain2.com'

CORS_ORIGIN=*
CORS_METHODS=POST,GET,PUT,DELETE
CORS_CREDENTIALS=true

Determine the logs to be displayed

LOG_LEVEL=ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK,WEBHOOKS
LOG_COLOR=true

Log Baileys - "fatal" | "error" | "warn" | "info" | "debug" | "trace"

LOG_BAILEYS=error

Determine how long the instance should be deleted from memory in case of no connection.

Default time: 5 minutes

If you don't even want an expiration, enter the value false

DEL_INSTANCE=false

Temporary data storage

STORE_MESSAGES=true
STORE_MESSAGE_UP=true
STORE_CONTACTS=true
STORE_CHATS=true

Set Store Interval in Seconds (7200 = 2h)

CLEAN_STORE_CLEANING_INTERVAL=7200
CLEAN_STORE_MESSAGES=true
CLEAN_STORE_MESSAGE_UP=true
CLEAN_STORE_CONTACTS=true
CLEAN_STORE_CHATS=true

Permanent data storage

DATABASE_ENABLED=false
DATABASE_PROVIDER=postgresql
DATABASE_CONNECTION_URI= postgresql://postgres:root@localhost:5432/evolution?schema=public
DATABASE_CONNECTION_DB_PREFIX_NAME=evolution

Choose the data you want to save in the application's database or store

DATABASE_SAVE_DATA_INSTANCE=false
DATABASE_SAVE_DATA_NEW_MESSAGE=false
DATABASE_SAVE_MESSAGE_UPDATE=false
DATABASE_SAVE_DATA_CONTACTS=false
DATABASE_SAVE_DATA_CHATS=false

REDIS_ENABLED=false
REDIS_URI=redis://redis:6379
REDIS_PREFIX_KEY=evdocker
RABBITMQ_ENABLED=false
RABBITMQ_URI=amqp://guest:guest@rabbitmq:5672
WEBSOCKET_ENABLED=false

Global Webhook Settings

Each instance's Webhook URL and events will be requested at the time it is created

Define a global webhook that will listen for enabled events from all instances

WEBHOOK_GLOBAL_URL=''
WEBHOOK_GLOBAL_ENABLED=false

With this option activated, you work with a url per webhook event, respecting the global url and the

name of each event
WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=false

Set the events you want to hear

WEBHOOK_EVENTS_APPLICATION_STARTUP=false
WEBHOOK_EVENTS_QRCODE_UPDATED=true
WEBHOOK_EVENTS_MESSAGES_SET=true
WEBHOOK_EVENTS_MESSAGES_UPSERT=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_CALL=true

This event fires every time a new token is requested via the refresh route

WEBHOOK_EVENTS_NEW_JWT_TOKEN=false

This events is used with Typebot

WEBHOOK_EVENTS_TYPEBOT_START=false
WEBHOOK_EVENTS_TYPEBOT_CHANGE_STATUS=false

This event is used with Chama AI

WEBHOOK_EVENTS_CHAMA_AI_ACTION=false

This event is used to send errors

WEBHOOK_EVENTS_ERRORS=false
WEBHOOK_EVENTS_ERRORS_WEBHOOK=

Name that will be displayed on smartphone connection

CONFIG_SESSION_PHONE_CLIENT=EvolutionAPI

Browser Name = Chrome | Firefox | Edge | Opera | Safari

CONFIG_SESSION_PHONE_NAME=Chrome

Set qrcode display limit

QRCODE_LIMIT=30
QRCODE_COLOR=#198754

Defines an authentication type for the api

We recommend using the apikey because it will allow you to use a custom token,

if you use jwt, a random token will be generated and may be expired and you will have to generate a

new token

jwt or 'apikey'

AUTHENTICATION_TYPE=apikey

Define a global apikey to access all instances.

OBS: This key must be inserted in the request header to create an instance.

AUTHENTICATION_API_KEY=url
AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true

Set the secret key to encrypt and decrypt your token and its expiration time

seconds - 3600s ===1h | zero (0) - never expires

AUTHENTICATION_JWT_EXPIRIN_IN=0

AUTHENTICATION_JWT_SECRET='L=0YWt]b2w[WF>#>:&E`'

`

What did you expect?

Expected the evo api to not try to instance the database if the variable is set to false.

What did you observe instead of what you expected?

Error logs of the API trying to connect to the database

image

Screenshots/Videos

image

Which version of the API are you using?

2.2.0

What is your environment?

Windows

Other environment specifications

No response

If applicable, paste the log output

image

Additional Notes

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions