Add Docker build/push run config for arm64

This commit is contained in:
Oliver Hofmann 2026-04-29 08:20:15 +02:00
parent cdaec894d8
commit 511e85ea79
3 changed files with 67 additions and 0 deletions

1
.gitignore vendored
View File

@ -18,6 +18,7 @@ __pycache__/
!.idea/runConfigurations/
.idea/runConfigurations/*
!.idea/runConfigurations/Dev.xml
!.idea/runConfigurations/Docker_Push.xml
.vscode/
# Frontend build

16
.idea/runConfigurations/Docker_Push.xml generated Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Docker Push" type="PythonConfigurationType" factoryName="Python">
<module name="llm_quota" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="false" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/build_push.py" />
<option name="PARAMETERS" value="" />
<method v="2" />
</configuration>
</component>

50
build_push.py Normal file
View File

@ -0,0 +1,50 @@
#!/usr/bin/env python3
"""Baut das Docker-Image für arm64 und pushed es zu DockerHub."""
import subprocess
import sys
from pathlib import Path
IMAGE = 'mediaeng/llmproxy'
PLATFORM = 'linux/arm64'
def run(cmd: list[str], cwd: Path):
print(f'$ {" ".join(cmd)}\n')
result = subprocess.run(cmd, cwd=cwd)
if result.returncode != 0:
sys.exit(result.returncode)
def main():
root = Path(__file__).parent
version = subprocess.run(
['git', 'describe', '--tags', '--always'],
cwd=root, capture_output=True, text=True,
).stdout.strip()
if not version:
print('Fehler: git describe liefert kein Ergebnis')
sys.exit(1)
print(f'Version : {version}')
print(f'Image : {IMAGE}')
print(f'Platform: {PLATFORM}')
print(f'Tags : {IMAGE}:{version} {IMAGE}:latest\n')
run([
'docker', 'buildx', 'build',
'--platform', PLATFORM,
'--push',
'-t', f'{IMAGE}:{version}',
'-t', f'{IMAGE}:latest',
'.',
], cwd=root)
print(f'\nFertig. Gepusht:')
print(f' docker pull {IMAGE}:{version}')
print(f' docker pull {IMAGE}:latest')
if __name__ == '__main__':
main()