| FROM ubuntu:24.04 |
|
|
| ENV DEBIAN_FRONTEND=noninteractive |
| ENV PORT=7860 |
|
|
| # Android debug keystore credentials |
| ENV KEYSTORE_NAME=debug.keystore |
| ENV KEYSTORE_PASS=android |
| ENV ALIAS=androiddebugkey |
| ENV KEY_PASS=android |
|
|
| # Install system dependencies |
| RUN apt update && apt install -y \ |
| python3 python3-pip openjdk-17-jdk curl ca-certificates && \ |
| update-ca-certificates && \ |
| pip3 install flask |
|
|
| WORKDIR /app |
|
|
| # Write Python Flask web app that generates Android debug keystore |
| RUN echo "\ |
| from flask import Flask, render_template_string\n\ |
| import os, subprocess, threading\n\ |
| \n\ |
| app = Flask(__name__)\n\ |
| status = {'done': False, 'msg': 'π Generating Android Debug Keystore...'}\n\ |
| \n\ |
| def generate_debug_keystore():\n\ |
| os.makedirs('/app/keystores', exist_ok=True)\n\ |
| keystore_path = f'/app/keystores/{os.environ.get(\"KEYSTORE_NAME\")}'\n\ |
| cmd = [\n\ |
| 'keytool', '-genkeypair',\n\ |
| '-alias', os.environ['ALIAS'],\n\ |
| '-keyalg', 'RSA',\n\ |
| '-keysize', '2048',\n\ |
| '-validity', '10000',\n\ |
| '-storetype', 'JKS',\n\ |
| '-keystore', keystore_path,\n\ |
| '-storepass', os.environ['KEYSTORE_PASS'],\n\ |
| '-keypass', os.environ['KEY_PASS'],\n\ |
| '-dname', 'CN=Android Debug,O=Android,C=US'\n\ |
| ]\n\ |
| try:\n\ |
| subprocess.run(cmd, check=True)\n\ |
| status['done'] = True\n\ |
| status['msg'] = f'β
Android Debug Keystore generated: {keystore_path}'\n\ |
| except subprocess.CalledProcessError as e:\n\ |
| status['msg'] = f'β Failed: {e}'\n\ |
| \n\ |
| @app.route('/')\n\ |
| def home():\n\ |
| return render_template_string('''\n\ |
| <html><head><title>Debug Keystore</title></head>\n\ |
| <body style=\"font-family:sans-serif;text-align:center;margin-top:50px\">\n\ |
| <h1>π± Android Debug Keystore Generator</h1>\n\ |
| <p>Status: {{ msg }}</p>\n\ |
| </body></html>\n\ |
| ''', msg=status['msg'])\n\ |
| \n\ |
| if __name__ == '__main__':\n\ |
| threading.Thread(target=generate_debug_keystore, daemon=True).start()\n\ |
| app.run(host='0.0.0.0', port=int(os.environ['PORT']))\n\ |
| " > /app/main.py |
|
|
| # Expose web port |
| EXPOSE 7860 |
|
|
| # Run app |
| CMD ["python3", "main.py"] |
|
|