Your wallet stores secret keys, connections and other information. You have different choices to store this information. The wallet supports 2 different databases to store data, SQLite and PostgreSQL.
If the wallet is configured the default way in eg. demo-args.yaml, without explicit wallet-storage, a sqlite database file is used.
# demo-args.yaml
wallet-type: indy
wallet-name: wallet
wallet-key: wallet-password
For this configuration, a folder called wallet will be created which contains a file called sqlite.db
.
The wallet can be configured to use PostgreSQL as storage.
# demo-args.yaml
wallet-type: indy
wallet-name: wallet
wallet-key: wallet-password
wallet-storage-type: postgres_storage
wallet-storage-config: "{\"url\":\"db:5432\",\"wallet_scheme\":\"DatabasePerWallet\"}"
wallet-storage-creds: "{\"account\":\"postgres\",\"password\":\"mysecretpassword\",\"admin_account\":\"postgres\",\"admin_password\":\"mysecretpassword\"}"
In this case the hostname for the database is db
on port 5432.
A docker-compose file could look like this:
# docker-compose.yml
version: '3'
services:
# acapy ...
# database
db:
image: postgres:10
environment:
POSTGRES_PASSWORD: mysecretpassword
POSTGRES_USER: postgres
POSTGRES_DB: postgres
ports:
- "5432:5432"