diff --git a/.env b/.env index 32f7757..a87e55c 100644 --- a/.env +++ b/.env @@ -36,3 +36,8 @@ MERCURE_JWT_SECRET="!ChangeThisMercureHubJWTSecretKey!" # MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0 ###< symfony/messenger ### + +REDIS_HOST=redis://redis + +MOVIES_PATH=/var/download/movies +TVSHOWS_PATH=/var/download/tvshows diff --git a/compose.yml b/compose.yml index 62630ca..bed9343 100755 --- a/compose.yml +++ b/compose.yml @@ -13,11 +13,9 @@ services: - $PWD/bash/certs:/etc/ssl web: - image: code.caldwell.digital/home/torsearch/web:latest - ports: - - '8080:80' - volumes: - - $PWD/bash/nginx.conf:/etc/nginx/conf.d/default.conf + build: + dockerfile: docker/Dockerfile.web + context: . depends_on: app: condition: service_healthy @@ -38,11 +36,16 @@ services: condition: service_healthy worker: - image: code.caldwell.digital/home/torsearch:0.14.5-worker + build: + dockerfile: docker/Dockerfile.worker + context: . volumes: - - ./:/var/www - - ./var/download:/var/download - command: php ./bin/console messenger:consume async -vvv --time-limit=3600 + - ./:/app + - ./var/downloads/movies:/var/download/movies + - ./var/downloads/tvshows:/var/download/tvshows + command: -v --time-limit=3600 --limit=10 + env_file: + - .env depends_on: app: condition: service_healthy diff --git a/config/services.yaml b/config/services.yaml index 06debfe..61195bb 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -7,7 +7,7 @@ parameters: # Media media.default_movies_dir: movies media.default_tvshows_dir: tvshows - media.movies_path: '/var/download/%env(default:media.default_movies_dir:MOVIES_PATH)%' + media.movies_path: '%env(default:media.default_movies_dir:MOVIES_PATH)%' media.tvshows_path: '/var/download/%env(default:media.default_tvshows_dir:TVSHOWS_PATH)%' # Mercure diff --git a/deploy.compose.yml b/deploy.compose.yml index 09e00e9..71fb560 100755 --- a/deploy.compose.yml +++ b/deploy.compose.yml @@ -10,12 +10,12 @@ services: condition: service_healthy app: - image: registry.caldwell.digital/home/torsearch/app:${TAG} + image: code.caldwell.digital/home/torsearch/app:${TAG} deploy: replicas: 2 worker: - image: registry.caldwell.digital/home/torsearch/app:${TAG} + image: code.caldwell.digital/home/torsearch/app:${TAG} volumes: - /mnt/media/downloads:/var/download command: php ./bin/console messenger:consume async -v --time-limit=3600 --limit=10 @@ -23,7 +23,7 @@ services: replicas: 2 scheduler: - image: registry.caldwell.digital/home/torsearch/app:${TAG} + image: code.caldwell.digital/home/torsearch/app:${TAG} volumes: - /mnt/media/downloads:/var/download command: php ./bin/console messenger:consume scheduler_monitor -vv --time-limit=3600 diff --git a/docker/Dockerfile.scheduler b/docker/Dockerfile.scheduler new file mode 100644 index 0000000..ae6b1f2 --- /dev/null +++ b/docker/Dockerfile.scheduler @@ -0,0 +1,7 @@ +FROM php:8.4-cli-alpine3.21 + +RUN docker-php-ext-install pdo_mysql + +COPY --chown=www-data:www-data . /app + +ENTRYPOINT [ "php", "/app/bin/console", "messenger:consume", "scheduler_monitor" ] diff --git a/docker/Dockerfile.worker b/docker/Dockerfile.worker index b3dfa86..83e35a3 100644 --- a/docker/Dockerfile.worker +++ b/docker/Dockerfile.worker @@ -1,12 +1,7 @@ -FROM registry.caldwell.digital/library/php:8.4-apache +FROM php:8.4-cli-alpine3.21 -RUN apt-get update && \ - apt-get install libldap2-dev -y && \ - rm -rf /var/lib/apt/lists/* && \ - docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ - docker-php-ext-install ldap +RUN docker-php-ext-install pdo_mysql -COPY --chown=www-data:www-data . /var/www +COPY --chown=www-data:www-data . /app -COPY ./bash/vhost.conf /etc/apache2/sites-enabled/vhost.conf -RUN rm /etc/apache2/sites-enabled/000-default.conf +ENTRYPOINT [ "php", "/app/bin/console", "messenger:consume", "async" ] diff --git a/docs/examples/compose.yml b/docs/examples/compose.yml index 5bb64b9..12916f1 100644 --- a/docs/examples/compose.yml +++ b/docs/examples/compose.yml @@ -14,7 +14,7 @@ services: # This container runs the actual web app in a php:8.4-fpm # base container. app: - image: code.caldwell.digital/home/torsearch-app:0.14.8 + image: code.caldwell.digital/home/torsearch-app:0.14.9 env_file: - .env depends_on: @@ -29,11 +29,11 @@ services: # This container runs a Symfony worker process. # See: https://symfony.com/doc/current/messenger.html worker: - image: code.caldwell.digital/home/torsearch-worker:0.14.8 + image: code.caldwell.digital/home/torsearch-worker:0.14.9 volumes: - - ./downloads/movies:/var/download/movies - - ./downloads/tvshows:/var/download/tvshows - command: php ./bin/console messenger:consume async -v --time-limit=3600 --limit=10 + - /mnt/media/downloads/movies:/var/download/movies + - /mnt/media/downloads/tvshows:/var/download/tvshows + command: -v --time-limit=3600 --limit=10 env_file: - .env depends_on: @@ -46,10 +46,10 @@ services: # This container runs a Symfony worker process. # See: https://symfony.com/doc/current/messenger.html scheduler: - image: code.caldwell.digital/home/torsearch-worker:0.14.8 + image: code.caldwell.digital/home/torsearch-scheduler:0.14.9 volumes: - ./downloads:/var/download - command: php ./bin/console messenger:consume scheduler_monitor -vv --time-limit=3600 + command: -vv --time-limit=3600 env_file: - .env depends_on: