Advertisement
zemf4you

Generate .env (python)

Jul 16th, 2023 (edited)
1,073
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.69 KB | None | 0 0
  1. import secrets
  2. from pathlib import Path
  3.  
  4. CWD = Path.cwd()
  5. ENV_FILE = CWD / '.env'
  6. if ENV_FILE.exists():
  7.     ENV_FILE = CWD / 'generated.env'
  8.  
  9.  
  10. def error():
  11.     raise ValueError('This field is required!')
  12.  
  13.  
  14. registry = input('registry: ') or error()
  15. bot_token = input('tg bot token: ') or error()
  16. jwt_key = input('jwt key [generated]: ') or secrets.token_hex(32)
  17. admin_chat_id = int(input('admin chat id: ') or error())
  18. service_chat_id = int(input('service chat id: ') or error())
  19. pay_public = input('cloudpayments public key: ') or error()
  20. pay_api_key = input('cloudpayments secret key: ') or error()
  21. domain = input('domain: ') or error()
  22. nginx_port = int(input('nginx port [80]: ') or 80)
  23. backend_port = int(input('backend port [5000]: ') or 5000)
  24. frontend_port = int(input('frontend port [3000]: ') or 3000)
  25. timezone = input('default time zone: ') or error()
  26. postgres_user = input('db user [user]: ') or 'user'
  27. postgres_password = input('db password [generated]: ') or secrets.token_hex(16)
  28. postgres_db = input('db name [postgres]: ') or 'postgres'
  29. postgres_port = int(input('db port [5432]: ') or 5432)
  30.  
  31. ENV_FILE.write_text('\n'.join((
  32.     f'REGISTRY={registry}',
  33.     f'BOT_TOKEN={bot_token}',
  34.     f'JWT_KEY={jwt_key}',
  35.     f'ADMIN_CHAT_ID={admin_chat_id}',
  36.     f'SERVICE_CHAT_ID={service_chat_id}',
  37.     f'PAY_PUBLIC={pay_public}',
  38.     f'PAY_API_KEY={pay_api_key}',
  39.     f'DOMAIN={domain}',
  40.     f'NGINX_PORT={nginx_port}',
  41.     f'BACKEND_PORT={backend_port}',
  42.     f'FRONTEND_PORT={frontend_port}',
  43.     f'TIMEZONE={timezone}',
  44.     f'POSTGRES_USER={postgres_user}',
  45.     f'POSTGRES_PASSWORD={postgres_password}',
  46.     f'POSTGRES_DB={postgres_db}',
  47.     f'POSTGRES_PORT={postgres_port}',
  48. )))
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement