Open sonicboom171 opened 3 weeks ago
Hi @sonicboom171 ,
I have not worked on this project for a little while, and I must admit, I didnt do as much testing of the docker setup as I should have.
I don't have much time atm to go back through this project and debug all issues, but from a quick check it looks like I was missing matplotlib from the python dependencies.
If you have cloned/forked the repo you should be able to run the following from inside the directory (note this is for mac/linux)
python3 -m venv .venv # or just python -m venv .venv (depends on your python setup, it just needs to be python3)
source .venv/bin/activate # Use the virtual environment we just made
pip install -r requirements.txt # Install the dependencies locally
pip install matplotlib # It seems this was missing, so lets add it
pip freeze > requirements.txt # Regenerate the dependencies file
I recommend using virtual environments as it just makes dependency management so much easier, and at least you can test what docker will try to install via the requirements.txt.
Now you should be able to run the docker command again - if there anything else throwing please let me know! I'll update the repo shortly when i get time.
thanks i was able to solve the matplotlib issue by adding it to the requirements, and was able to figure out there was a need for openai api inorder to work so i added that.
it seems to be running fine from docker but im unable to launch localhost, is there anything im doing wrong or need to alter in the
[+] Building 0.9s (33/33) FINISHED docker:desktop-linux
=> [web internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 868B 0.0s
=> [celery-worker internal] load metadata for docker.io/library/python:3.12-slim 0.4s
=> [web internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [celery-worker 1/14] FROM docker.io/library/python:3.12-slim@sha256:59c7332a4a24373861c4a5f0eec2c92b87e3efeb8ddef011744ef9a751b1d11c 0.0s
=> [web internal] load build context 0.0s
=> => transferring context: 2.01kB 0.0s
=> CACHED [celery-worker 2/14] WORKDIR /app 0.0s
=> CACHED [celery-worker 3/14] RUN mkdir -p /app/data 0.0s
=> CACHED [celery-worker 4/14] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg fontconfig procps && 0.0s
=> CACHED [web 5/14] COPY requirements.txt /app/ 0.0s
=> CACHED [web 6/14] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [web 7/14] COPY ./app /app/app 0.0s
=> CACHED [web 8/14] COPY ./assets /app/assets 0.0s
=> CACHED [web 9/14] COPY ./docker-compose.yml /app/ 0.0s
=> CACHED [web 10/14] COPY ./Dockerfile /app/ 0.0s
=> CACHED [web 11/14] COPY ./.env-docker /app/ 0.0s
=> CACHED [web 12/14] COPY ./assets/Poppins-SemiBold.ttf /usr/share/fonts/ 0.0s
=> CACHED [web 13/14] COPY ./assets/Mont-HeavyDEMO.otf /usr/share/fonts/ 0.0s
=> CACHED [web 14/14] RUN fc-cache -fv 0.0s
=> [web] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:cff69fb2a53cf0cd33dd56293f43a4b6a7ad1ae1986cd1b0a4d09aa8e6f31f6c 0.0s
=> => naming to docker.io/library/reddit-tiktok-gen-main-web 0.0s
=> [celery-worker internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 868B 0.0s
=> [celery-worker internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [celery-worker internal] load build context 0.0s
=> => transferring context: 2.01kB 0.0s
=> CACHED [celery-worker 5/14] COPY requirements.txt /app/ 0.0s
=> CACHED [celery-worker 6/14] RUN pip install --no-cache-dir -r requirements.txt 0.0s
=> CACHED [celery-worker 7/14] COPY ./app /app/app 0.0s
=> CACHED [celery-worker 8/14] COPY ./assets /app/assets 0.0s
=> CACHED [celery-worker 9/14] COPY ./docker-compose.yml /app/ 0.0s
=> CACHED [celery-worker 10/14] COPY ./Dockerfile /app/ 0.0s
=> CACHED [celery-worker 11/14] COPY ./.env-docker /app/ 0.0s
=> CACHED [celery-worker 12/14] COPY ./assets/Poppins-SemiBold.ttf /usr/share/fonts/ 0.0s
=> CACHED [celery-worker 13/14] COPY ./assets/Mont-HeavyDEMO.otf /usr/share/fonts/ 0.0s
=> CACHED [celery-worker 14/14] RUN fc-cache -fv 0.0s
=> [celery-worker] exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:746b69640130648fca39ca23910b6f9526f702f94fdceeb7a7ef69b71039e71d 0.0s
=> => naming to docker.io/library/reddit-tiktok-gen-main-celery-worker 0.0s
[+] Running 2/0
✔ Container reddit-tiktok-gen-main-gentle-aligner-1 Created 0.0s
✔ Container reddit-tiktok-gen-main-redis-1 Created 0.0s
Attaching to celery-worker-1, gentle-aligner-1, redis-1, web-1
redis-1 | 1:C 17 Aug 2024 21:23:18.906 oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis-1 | 1:C 17 Aug 2024 21:23:18.906 Redis version=7.4.0, bits=64, commit=00000000, modified=0, pid=1, just started
redis-1 | 1:C 17 Aug 2024 21:23:18.906 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
redis-1 | 1:M 17 Aug 2024 21:23:18.906 monotonic clock: POSIX clock_gettime
redis-1 | 1:M 17 Aug 2024 21:23:18.907 Running mode=standalone, port=6379.
redis-1 | 1:M 17 Aug 2024 21:23:18.907 Server initialized
redis-1 | 1:M 17 Aug 2024 21:23:18.908 Ready to accept connections tcp
gentle-aligner-1 | INFO:root:gentle 0.10.1
gentle-aligner-1 | INFO:root:listening at 0.0.0.0:8765
gentle-aligner-1 |
gentle-aligner-1 | INFO:root:SERVE 8765, 0.0.0.0, 1
gentle-aligner-1 | INFO:root:about to listen
gentle-aligner-1 | INFO:root:listening
Gracefully stopping... (press Ctrl+C again to force)
dependency failed to start: container reddit-tiktok-gen-main-gentle-aligner-1 is unhealthy
seem to be getting this error which is preventing web interface from working now
@sonicboom171
The gentle-aligner container is a 3rd party dependency, so I cant trouble shoot without seeing the logs from the container instance itself. https://github.com/lowerquality/gentle This is the original project, if you want some more context.
You could try to run the container itself like docker run -P lowerquality/gentle
to see if its just an issue with your docker setup, but this should work out of the box as I am making no modifications to that service.
However, I can see the aligner did manage to start up and begin listening so I cant specifically see where the error has happened. Perhaps clean all the images docker has downloaded previously and start again?
thanks for the replies, gentle aligner is working and i can access it from 127.0.01:8765 for some reason web1 never sees it as running.
i also found another issues which ived fixed but just an FYI
celery-worker-1 | Traceback (most recent call last):
web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
celery-worker-1 | File "/usr/local/lib/python3.12/site-packages/celery/bin/celery.py", line 58, in convert
web-1 | File "/usr/local/lib/python3.12/subprocess.py", line 1026, in init
celery-worker-1 | return find_app(value)
web-1 | self._execute_child(args, executable, preexec_fn, close_fds,
celery-worker-1 | ^^^^^^^^^^^^^^^
web-1 | File "/usr/local/lib/python3.12/subprocess.py", line 1955, in _execute_child
celery-worker-1 | File "/usr/local/lib/python3.12/site-packages/celery/app/utils.py", line 386, in find_app
web-1 | raise child_exception_type(errno_num, err_msg, err_filename)
celery-worker-1 | sym = imp(app)
web-1 | FileNotFoundError: [Errno 2] No such file or directory: 'pgrep'
celery-worker-1 | ^^^^^^^^
celery-worker-1 | File "/usr/local/lib/python3.12/site-packages/celery/utils/imports.py", line 109, in import_from_cwd
celery-worker-1 | return imp(module, package=package)
celery-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
celery-worker-1 | File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module
celery-worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
celery-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
celery-worker-1 | File "
celery-worker-1 | File "
celery-worker-1 | File "
celery-worker-1 | File "
celery-worker-1 | File "
celery-worker-1 | File "/app/app/service/celery_app.py", line 2, in
celery-worker-1 | import app.config
celery-worker-1 | File "/app/app/config.py", line 96, in
celery-worker-1 | load_env()
celery-worker-1 | File "/app/app/config.py", line 46, in load_env
celery-worker-1 | if not check_process_running("gentle"):
celery-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
celery-worker-1 | File "/app/app/config.py", line 18, in check_process_running
celery-worker-1 | output = subprocess.run(["pgrep", "-af", process_name], capture_output=True, text=True)
celery-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
celery-worker-1 | File "/usr/local/lib/python3.12/subprocess.py", line 548, in run
celery-worker-1 | with Popen(*popenargs, **kwargs) as process:
celery-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
celery-worker-1 | File "/usr/local/lib/python3.12/subprocess.py", line 1026, in init
celery-worker-1 | self._execute_child(args, executable, preexec_fn, close_fds,
celery-worker-1 | File "/usr/local/lib/python3.12/subprocess.py", line 1955, in _execute_child
celery-worker-1 | raise child_exception_type(errno_num, err_msg, err_filename)
celery-worker-1 | FileNotFoundError: [Errno 2] No such file or directory: 'pgrep'
celery-worker-1 |
celery-worker-1 exited with code 2
downloaded the git unzipped installed all dependencies and matplot lib seperatly.
when running docker compose up build i get the following error
[+] Building 1.2s (33/33) FINISHED docker:desktop-linux => [web internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 845B 0.0s => [celery-worker internal] load metadata for docker.io/library/python:3.12-slim 0.6s => [web internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [celery-worker 1/14] FROM docker.io/library/python:3.12-slim@sha256:59c7332a4a24373861c4a5f0eec2c92b87e3efeb8ddef011744ef9a751b 0.0s => [web internal] load build context 0.0s => => transferring context: 2.01kB 0.0s => CACHED [celery-worker 2/14] WORKDIR /app 0.0s => CACHED [celery-worker 3/14] RUN mkdir -p /app/data 0.0s => CACHED [celery-worker 4/14] RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg fontconfig && rm - 0.0s => CACHED [web 5/14] COPY requirements.txt /app/ 0.0s => CACHED [web 6/14] RUN pip install --no-cache-dir -r requirements.txt 0.0s => CACHED [web 7/14] COPY ./app /app/app 0.0s => CACHED [web 8/14] COPY ./assets /app/assets 0.0s => CACHED [web 9/14] COPY ./docker-compose.yml /app/ 0.0s => CACHED [web 10/14] COPY ./Dockerfile /app/ 0.0s => CACHED [web 11/14] COPY ./.env-docker /app/ 0.0s => CACHED [web 12/14] COPY ./assets/Poppins-SemiBold.ttf /usr/share/fonts/ 0.0s => CACHED [web 13/14] COPY ./assets/Mont-HeavyDEMO.otf /usr/share/fonts/ 0.0s => CACHED [web 14/14] RUN fc-cache -fv 0.0s => [web] exporting to image 0.0s => => exporting layers 0.0s => => writing image sha256:f0de2fce183c6f11cd0be5efd15d19f857aab0470b43fb214226cef487556f1e 0.0s => => naming to docker.io/library/reddit-tiktok-gen-main-web 0.0s => [celery-worker internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 845B 0.0s => [celery-worker internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [celery-worker internal] load build context 0.0s => => transferring context: 2.01kB 0.0s => CACHED [celery-worker 5/14] COPY requirements.txt /app/ 0.0s => CACHED [celery-worker 6/14] RUN pip install --no-cache-dir -r requirements.txt 0.0s => CACHED [celery-worker 7/14] COPY ./app /app/app 0.0s => CACHED [celery-worker 8/14] COPY ./assets /app/assets 0.0s => CACHED [celery-worker 9/14] COPY ./docker-compose.yml /app/ 0.0s => CACHED [celery-worker 10/14] COPY ./Dockerfile /app/ 0.0s => CACHED [celery-worker 11/14] COPY ./.env-docker /app/ 0.0s => CACHED [celery-worker 12/14] COPY ./assets/Poppins-SemiBold.ttf /usr/share/fonts/ 0.0s => CACHED [celery-worker 13/14] COPY ./assets/Mont-HeavyDEMO.otf /usr/share/fonts/ 0.0s => CACHED [celery-worker 14/14] RUN fc-cache -fv 0.0s => [celery-worker] exporting to image 0.0s => => exporting layers 0.0s => => writing image sha256:8cc3029879a53237e7a260c7211418f333a5de2b61f2a8231b2f69d7aab41fd6 0.0s => => naming to docker.io/library/reddit-tiktok-gen-main-celery-worker 0.0s [+] Running 4/0 ✔ Container reddit-tiktok-gen-main-redis-1 Created 0.0s ✔ Container reddit-tiktok-gen-main-gentle-aligner-1 Created 0.0s ✔ Container reddit-tiktok-gen-main-web-1 Created 0.0s ✔ Container reddit-tiktok-gen-main-celery-worker-1 Created 0.0s Attaching to celery-worker-1, gentle-aligner-1, redis-1, web-1 redis-1 | 1:C 17 Aug 2024 19:07:51.683 oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo redis-1 | 1:C 17 Aug 2024 19:07:51.683 Redis version=7.4.0, bits=64, commit=00000000, modified=0, pid=1, just started redis-1 | 1:C 17 Aug 2024 19:07:51.683 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf", line 88, in _run_code
web-1 | File "/app/app/webapp.py", line 9, in
web-1 | from app.service.task import generate_video
web-1 | File "/app/app/service/task.py", line 1, in
web-1 | from app.service.celery_app import celery_app
web-1 | File "/app/app/service/celery_app.py", line 2, in
web-1 | import app.config
web-1 | File "/app/app/config.py", line 3, in
web-1 | import matplotlib.font_manager as font_manager
web-1 | ModuleNotFoundError: No module named 'matplotlib'
celery-worker-1 exited with code 2
web-1 exited with code 1
redis-1 | 1:M 17 Aug 2024 19:07:51.684 monotonic clock: POSIX clock_gettime redis-1 | 1:M 17 Aug 2024 19:07:51.685 Running mode=standalone, port=6379.
redis-1 | 1:M 17 Aug 2024 19:07:51.685 Server initialized
redis-1 | 1:M 17 Aug 2024 19:07:51.686 Loading RDB produced by version 7.4.0
redis-1 | 1:M 17 Aug 2024 19:07:51.686 RDB age 60823 seconds
redis-1 | 1:M 17 Aug 2024 19:07:51.686 RDB memory usage when created 0.90 Mb redis-1 | 1:M 17 Aug 2024 19:07:51.686 Done loading RDB, keys loaded: 0, keys expired: 0.
redis-1 | 1:M 17 Aug 2024 19:07:51.686 DB loaded from disk: 0.001 seconds
redis-1 | 1:M 17 Aug 2024 19:07:51.686 * Ready to accept connections tcp
gentle-aligner-1 | INFO:root:gentle 0.10.1
gentle-aligner-1 | INFO:root:listening at 0.0.0.0:8765 gentle-aligner-1 |
gentle-aligner-1 | INFO:root:SERVE 8765, 0.0.0.0, 1
gentle-aligner-1 | INFO:root:about to listen
gentle-aligner-1 | INFO:root:listening celery-worker-1 | Usage: celery [OPTIONS] COMMAND [ARGS]...
celery-worker-1 | Try 'celery --help' for help. celery-worker-1 |
celery-worker-1 | Error: Invalid value for '-A' / '--app':
celery-worker-1 | Unable to load celery application.
celery-worker-1 | While trying to load the module app.service.celery_app the following error occurred:
celery-worker-1 | Traceback (most recent call last):
celery-worker-1 | File "/usr/local/lib/python3.12/site-packages/celery/app/utils.py", line 383, in find_app celery-worker-1 | sym = symbol_by_name(app, imp=imp)
celery-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
celery-worker-1 | File "/usr/local/lib/python3.12/site-packages/kombu/utils/imports.py", line 64, in symbol_by_name
celery-worker-1 | return getattr(module, cls_name) if cls_name else module
celery-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^
celery-worker-1 | AttributeError: module 'app.service' has no attribute 'celery_app' celery-worker-1 |
celery-worker-1 | During handling of the above exception, another exception occurred:
celery-worker-1 |
celery-worker-1 | Traceback (most recent call last):
celery-worker-1 | File "/usr/local/lib/python3.12/site-packages/celery/bin/celery.py", line 58, in convert
celery-worker-1 | return find_app(value)
celery-worker-1 | ^^^^^^^^^^^^^^^ celery-worker-1 | File "/usr/local/lib/python3.12/site-packages/celery/app/utils.py", line 386, in find_app
celery-worker-1 | sym = imp(app)
celery-worker-1 | ^^^^^^^^
celery-worker-1 | File "/usr/local/lib/python3.12/site-packages/celery/utils/imports.py", line 109, in import_from_cwd
celery-worker-1 | return imp(module, package=package) celery-worker-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
celery-worker-1 | File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module
celery-worker-1 | return _bootstrap._gcd_import(name[level:], package, level)
web-1 | File "
im not sure where the issue with celery worker is and would appreciate the help