# memberapi.ose.tw backend env (development) APP_ENV=development PORT=8000 DB_HOST=127.0.0.1 DB_PORT=54321 DB_NAME=member_center DB_USER=member_ose DB_PASSWORD=CHANGE_ME # Keycloak (preferred when KEYCLOAK_BASE_URL + KEYCLOAK_REALM are set) KEYCLOAK_BASE_URL= KEYCLOAK_REALM= KEYCLOAK_VERIFY_TLS=true KEYCLOAK_ISSUER= KEYCLOAK_JWKS_URL= KEYCLOAK_AUDIENCE= KEYCLOAK_CLIENT_ID= KEYCLOAK_CLIENT_SECRET= KEYCLOAK_TOKEN_ENDPOINT= KEYCLOAK_USERINFO_ENDPOINT= KEYCLOAK_ADMIN_CLIENT_ID= KEYCLOAK_ADMIN_CLIENT_SECRET= KEYCLOAK_ADMIN_REALM= PUBLIC_FRONTEND_ORIGINS=https://member.ose.tw,https://mkt.ose.tw,https://admin.ose.tw INTERNAL_SHARED_SECRET=CHANGE_ME ADMIN_REQUIRED_GROUPS=member-admin # Cache backend: memory | redis CACHE_BACKEND=memory CACHE_REDIS_URL=redis://127.0.0.1:6379/0 CACHE_PREFIX=memberapi CACHE_DEFAULT_TTL_SECONDS=30