# IP or host the API listens on ["0.0.0.0"]
HOST="0.0.0.0"
# The port Directus will run on [8060]
PORT=8058
# The URL where your API can be reached on the web. It is also used for things like OAuth redirects,
# forgot-password emails, and logos that needs to be publicly available on the internet. ["/"]
PUBLIC_URL="/"
# PUBLIC_URL="http://localhost:8058"
PUBLIC_URL="http://localhost:8058"
PUBLIC_URL="https://tuacms.in2apps.xyz"

# What level of detail to log. [info]
# "fatal", "error", "warn", "info", "debug", "trace", "silent"
# LOG_LEVEL="trace"

# Render the logs human readable (pretty) or as JSON (raw), [pretty]
# "pretty", "raw"
# LOG_STYLE="pretty"

# Controls the maximum request body size. Accepts number of bytes, or human readable string ["1mb"]
# MAX_PAYLOAD_SIZE="1mb"

# Where to redirect to when navigating to /. Accepts a relative path, absolute URL, or false to disable ["./admin"]
# ROOT_REDIRECT="./admin"

# Whether or not to serve the Admin App under /admin. [true]
# SERVE_APP=true

# Whether or not to enable GraphQL Introspection [true]
# GRAPHQL_INTROSPECTION=true

# Limit the maximum amount of items that can get requested in one query.
# QUERY_LIMIT_DEFAULT=100
# QUERY_LIMIT_MAX=Infinity

# The maximum number of items for batch mutations when creating, updating and deleting. ["Infinity"]
# MAX_BATCH_MUTATION="Infinity"

# Shared Redis server for things like caching, rate limiting, container synchronization, etc
# REDIS="redis://@127.0.0.1:6379"

JWT_SECRET=G!qQ@9#Zkf42vL5Lx6T8J*Zz%7BcdR0mP^n3W+&y

####################################################################################################
### Database

# All DB_* environment variables are passed to the connection configuration of a Knex instance.
# Based on your project's needs, you can extend the DB_* environment variables with any config
# you need to pass to the database instance.

DB_CLIENT="mysql"
DB_HOST="127.0.0.1"
DB_PORT="3306"
DB_DATABASE="in2apps_tua_db"
DB_USER="in2apps_tua_usr"
DB_PASSWORD="xZmpE$t(izhz"

# Whether or not to enable rate limiting on the API [false]
RATE_LIMITER_ENABLED=false

# Where to store the rate limiter counts [memory]
# memory, redis
RATE_LIMITER_STORE=memory

# The amount of allowed hits per duration [50]
RATE_LIMITER_POINTS=25

# The time window in seconds in which the hits are counted [1]
RATE_LIMITER_DURATION=1

####################################################################################################
### Caching

# Whether or not caching is enabled. [false]
CACHE_ENABLED=false

# How long the cache is persisted ["5m"]
# CACHE_TTL="30m"

# How to scope the cache data ["system-cache"]
# CACHE_NAMESPACE="system-cache"

# Automatically purge the cache on create, update, and delete actions. [false]
# CACHE_AUTO_PURGE=true

# List of collections that prevent cache purging when `CACHE_AUTO_PURGE` is enabled. ["directus_activity,directus_presets"]
# CACHE_AUTO_PURGE_IGNORE_LIST="directus_activity,directus_presets"

# memory | redis
CACHE_STORE=memory

# How long assets will be cached for in the browser. Sets the max-age value of the Cache-Control header ["30d"]
ASSETS_CACHE_TTL="30d"
ASSETS_TRANSFORM_IMAGE_MAX_DIMENSION="10000"
#EXTENSIONS_REDUCE_ON_UPLOAD_QUALITY ="100"
#EXTENSIONS_REDUCE_ON_UPLOAD_MAXSIZE ="3840"

####################################################################################################
### File Storage

# A CSV of storage locations (eg: local,digitalocean,amazon) to use. You can use any names you'd like for these keys ["local"]
STORAGE_LOCATIONS="local"
STORAGE_LOCAL_DRIVER="local"
STORAGE_LOCAL_ROOT="./uploads"

## A comma-separated list of metadata keys to collect during file upload. Use * for all
# Extracting all metadata might cause memory issues when the file has an unusually large set of metadata
# [ifd0.Make,ifd0.Model,exif.FNumber,exif.ExposureTime,exif.FocalLength,exif.ISOSpeedRatings]
# FILE_METADATA_ALLOW_LIST=

####################################################################################################
### Security

KEY="ad8185d7-7327-420d-855c-82fa2d5be312"
SECRET="WotCal1YSBXdCR6M6sWvNU-PSspfQB2p"


# Unique identifier for the project
# KEY="xxxxxxx-xxxxxx-xxxxxxxx-xxxxxxxxxx"

# Secret string for the project
# SECRET="abcdef"

# The duration that the access token is valid ["15m"]
ACCESS_TOKEN_TTL="7d"

# The duration that the refresh token is valid. This value should be higher than ACCESS_TOKEN_TTL resp. SESSION_COOKIE_TTL. ["7d"]
REFRESH_TOKEN_TTL="7w"

# Whether or not to set the secure attribute for the refresh token cookie [false]
REFRESH_TOKEN_COOKIE_SECURE=false

# Value for sameSite in the refresh token cookie ["lax"]
REFRESH_TOKEN_COOKIE_SAME_SITE="lax"

# Name of the refresh token cookie ["directus_refresh_token"]
REFRESH_TOKEN_COOKIE_NAME="directus_refresh_token"

# Which domain to use for the refresh cookie. Useful for development mode.
# REFRESH_TOKEN_COOKIE_DOMAIN

# The duration that the session cookie/token is valid, and also how long users stay logged-in to the App ["1d"]
SESSION_COOKIE_TTL="1d"

# Whether or not to set the secure attribute for the session cookie [false]
SESSION_COOKIE_SECURE=false

# Value of sameSite for the session cookie ["lax"]
SESSION_COOKIE_SAME_SITE="lax"

# Name of the session cookie ["directus_refresh_token"]
SESSION_COOKIE_NAME="directus_session_token"

# Which domain to use for the session cookie. Useful for development mode.
# SESSION_COOKIE_DOMAIN

# The duration in milliseconds that a login request will be stalled for,
# and it should be greater than the time taken for a login request with an invalid password [500]
# LOGIN_STALL_TIME=500

# Whether or not to enable the CORS headers [false]
CORS_ENABLED=false
REQUESTS_ALLOW_LIST=*
IMPORT_IP_DENY_LIST="169.254.169.254"
# Value for the Access-Control-Allow-Origin header. Use true to match the Origin header, or provide a domain or a CSV of domains for specific access [false]
CORS_ORIGIN=true

# Value for the Access-Control-Allow-Methods header [GET,POST,PATCH,DELETE]
CORS_METHODS=GET,POST,PATCH,DELETE

# Value for the Access-Control-Allow-Headers header [Content-Type,Authorization]
CORS_ALLOWED_HEADERS=Content-Type,Authorization

# Value for the Access-Control-Expose-Headers header [Content-Range]
CORS_EXPOSED_HEADERS=Content-Range

# Whether or not to send the Access-Control-Allow-Credentials header [true]
CORS_CREDENTIALS=true

# Value for the Access-Control-Max-Age header [18000]
CORS_MAX_AGE=18000

####################################################################################################
### Argon2

# How much memory to use when generating hashes, in KiB [4096]
# HASH_MEMORY_COST=81920

# The length of the hash function output in bytes [32]
# HASH_HASH_LENGTH=32

# The amount of passes (iterations) used by the hash function. It increases hash strength at the cost of time required to compute [3]
# HASH_TIME_COST=10

# The amount of threads to compute the hash on. Each thread has a memory pool with HASH_MEMORY_COST size [1]
# HASH_PARALLELISM=2

# The variant of the hash function (0: argon2d, 1: argon2i, or 2: argon2id) [2]
# HASH_TYPE=2

# An extra and optional non-secret value. The value will be included B64 encoded in the parameters portion of the digest []
# HASH_ASSOCIATED_DATA=foo

####################################################################################################
### Auth Providers

# A comma-separated list of auth providers []
# Enable OAuth Authentication

AUTH_PROVIDERS="google"

AUTH_GOOGLE_DRIVER="oauth"
AUTH_GOOGLE_CLIENT_ID="88505680032-699i4l99jods74lpebpkg1ahd4h0rbrm.apps.googleusercontent.com" # Replace XXXX with the Client ID from Step 6
AUTH_GOOGLE_CLIENT_SECRET="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" # Replace XXXX with the Client Secret from Step 6
AUTH_GOOGLE_ISSUER_URL="https://accounts.google.com"
AUTH_GOOGLE_IDENTIFIER_KEY="email"
AUTH_GOOGLE_ICON="google"
AUTH_GOOGLE_LABEL="Google"
AUTH_GOOGLE_ALLOW_PUBLIC_REGISTRATION="true" # This allows users to be automatically created on logins. Use "false" if you want to create users manually
AUTH_GOOGLE_DEFAULT_ROLE_ID="22e8c021-5759-491a-adc1-5523a6f3a397" # Replace this with the Directus Role ID you would want for new users. If this is not properly configured, new users will not have access to Directus

# Apple OAuth Configuration
# AUTH_APPLE_DRIVER="openid"
# AUTH_APPLE_CLIENT_ID=""
# AUTH_APPLE_CLIENT_SECRET= ""
# AUTH_APPLE_ISSUER_URL="https://appleid.apple.com/.well-known/openid-configuration"
# AUTH_APPLE_ALLOW_PUBLIC_REGISTRATION="true"
# AUTH_APPLE_DEFAULT_ROLE_ID="22e8c021-5759-491a-adc1-5523a6f3a397"
# AUTH_APPLE_SCOPE="openid"
# AUTH_APPLE_ICON="apple"

####################################################################################################
### Extensions

# Path to your local extensions folder ["./extensions"]
EXTENSIONS_PATH="./extensions"

# Added by souheil
EXTENSIONS_ENDPOINTS_ENABLED=true

# Automatically reload extensions when they have changed [false]
EXTENSIONS_AUTO_RELOAD=true

####################################################################################################
### Email
