Žiadny popis

tanlie 5ccceb51dc Track env example and align deployment defaults 6 dní pred
.github 1163b37a0b logger enhance 1 týždeň pred
app d090e4db59 Add uwsgi Docker deployment 6 dní pred
note 1904a24bfd 视图函数。 1 týždeň pred
tests 026d79c122 AI优化。 1 týždeň pred
.env.example 5ccceb51dc Track env example and align deployment defaults 6 dní pred
.gitignore 5ccceb51dc Track env example and align deployment defaults 6 dní pred
Dockerfile d090e4db59 Add uwsgi Docker deployment 6 dní pred
README.md 5d0119202f 数据库连接。 6 dní pred
docker-compose.yaml d090e4db59 Add uwsgi Docker deployment 6 dní pred
ginger.py 6ae20abe2f feat: improve Flask app structure and logging 6 dní pred
requirements.txt d090e4db59 Add uwsgi Docker deployment 6 dní pred
uwsgi.ini d090e4db59 Add uwsgi Docker deployment 6 dní pred

README.md

ginger

Small Flask project. This README explains how to store the MySQL password securely using the OS keyring and how to verify it.

Secure DB password with keyring

This project prefers reading MYSQL_PASSWORD from environment variables. If you don't want to store the password in .env, put it into the OS keyring (recommended for development machines).

Service name used: ginger_mysql

Examples:

  • macOS / Linux (python -c):

python -c "import keyring; keyring.set_password('ginger_mysql', 'root', '@@qinys12346..')"

  • Windows PowerShell:

python -c "import keyring; keyring.set_password('ginger_mysql', 'root', '@@qinys12346..')"

To verify the stored password:

python -c "import keyring; print(keyring.get_password('ginger_mysql', 'root'))"

Alternative: environment variable

You can also set MYSQL_PASSWORD in .env (not recommended to commit .env). The repository .gitignore already ignores .env files.

Test DB connection (dev only)

Start the app and POST to /db/test (only works when DEBUG or TESTING is true) to create tables and insert a test user.

Notes

  • On CI or servers prefer a proper secret manager (Vault, AWS Secrets Manager, etc.) and inject secrets as env vars.
  • Do NOT commit real passwords to the repository.