omgg / Dockerfile
Nodiw52992's picture
Update Dockerfile
ef5be0b verified
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"]