|
|
|
FROM alpine:3.18
|
|
|
|
# dependencies needed for compiling c extensions
|
|
|
|
# also busybox-extras for telnet for easier use of backdoor
|
|
|
|
RUN apk --update add py3-pip g++ python3-dev libffi-dev musl-dev postgresql-dev file make busybox-extras
|
|
|
|
|
|
|
|
# Try to get wheels working
|
|
|
|
RUN pip install --upgrade pip wheel
|
|
|
|
|
|
|
|
# Install gevent so that we don't need to re-install it when common changes
|
Pin gevent version to work around build issues
Seeing the following error on latest versions of gevent:
Traceback (most recent call last):
File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/lib/python3.9/site-packages/zulip_bots/schedulebot.py", line 2, in <module>
import gevent.monkey
File "/usr/lib/python3.9/site-packages/gevent/__init__.py", line 72, in <module>
from gevent._hub_local import get_hub
File "/usr/lib/python3.9/site-packages/gevent/_hub_local.py", line 150, in <module>
import_c_accel(globals(), 'gevent.__hub_local')
File "/usr/lib/python3.9/site-packages/gevent/_util.py", line 148, in import_c_accel
mod = importlib.import_module(cname)
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'gevent._gevent_c_hub_local'
1 year ago
|
|
|
RUN pip install gevent==22.10.2
|
|
|
|
|
|
|
|
# Install common lib first as it changes less
|
|
|
|
COPY common /tmp/common
|
|
|
|
RUN pip install /tmp/common && rm -r /tmp/common
|
|
|
|
|
|
|
|
# Install actual application
|
|
|
|
COPY playlist_manager /tmp/playlist_manager
|
|
|
|
RUN pip install /tmp/playlist_manager && rm -r /tmp/playlist_manager
|
|
|
|
|
|
|
|
LABEL org.opencontainers.image.source https://github.com/dbvideostriketeam/wubloader
|
|
|
|
ENTRYPOINT ["python3", "-m", "playlist_manager"]
|