Compare commits

...

10 Commits

8 changed files with 87 additions and 36 deletions

7
bash/build_base.sh Executable file
View File

@@ -0,0 +1,7 @@
# torsearch-app is built from this base, and torsearch-worker & torsearch-scheduler are built from torsearch-app
# This image is used to speed up build times
export FRANKENPHP_TAG=php8.4
docker buildx build --platform=linux/amd64 -f docker/Dockerfile.base -t code.caldwell.digital/home/torsearch-base:${FRANKENPHP_TAG} -t code.caldwell.digital/home/torsearch-base:latest --build-arg "FRANKENPHP_TAG=${FRANKENPHP_TAG}" .
docker push code.caldwell.digital/home/torsearch-base:${FRANKENPHP_TAG}
docker push code.caldwell.digital/home/torsearch-base:latest

57
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "c133ccd27ac6a41256bdc69129c16546",
"content-hash": "e055bbbbe5836c92bb147b6dbb1d1d46",
"packages": [
{
"name": "1tomany/rich-bundle",
@@ -9467,6 +9467,57 @@
],
"time": "2025-05-12T14:48:23+00:00"
},
{
"name": "symfony/serializer-pack",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer-pack.git",
"reference": "2844d81a5fc86b617b82f44a8bfcaaba1d583eee"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/serializer-pack/zipball/2844d81a5fc86b617b82f44a8bfcaaba1d583eee",
"reference": "2844d81a5fc86b617b82f44a8bfcaaba1d583eee",
"shasum": ""
},
"require": {
"phpdocumentor/reflection-docblock": "*",
"phpstan/phpdoc-parser": "*",
"symfony/property-access": "*",
"symfony/property-info": "*",
"symfony/serializer": "*"
},
"conflict": {
"symfony/property-info": "<5.4",
"symfony/serializer": "<5.4"
},
"type": "symfony-pack",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "A pack for the Symfony serializer",
"support": {
"issues": "https://github.com/symfony/serializer-pack/issues",
"source": "https://github.com/symfony/serializer-pack/tree/v1.3.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-06-03T13:55:25+00:00"
},
{
"name": "symfony/service-contracts",
"version": "v3.6.0",
@@ -13347,7 +13398,7 @@
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"stability-flags": {},
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
@@ -13355,7 +13406,7 @@
"ext-ctype": "*",
"ext-iconv": "*"
},
"platform-dev": [],
"platform-dev": {},
"platform-overrides": {
"php": "8.4"
},

View File

@@ -1,19 +1,8 @@
FROM dunglas/frankenphp
ENV SERVER_NAME=":80"
ENV CADDY_GLOBAL_OPTIONS="auto_https off"
ENV APP_RUNTIME="Runtime\\FrankenPhpSymfony\\Runtime"
FROM code.caldwell.digital/torsearch/torsearch-base:php8.4
ARG APP_VERSION="0.dev"
ENV APP_VERSION="${APP_VERSION}"
RUN install-php-extensions \
pdo_mysql \
gd \
intl \
zip \
opcache
COPY . /app
COPY --chmod=775 docker/app/entrypoint.sh /usr/local/bin/docker-entrypoint
COPY docker/app/Caddyfile /etc/frankenphp/Caddyfile

16
docker/Dockerfile.base Normal file
View File

@@ -0,0 +1,16 @@
ARG FRANKENPHP_TAG
FROM dunglas/frankenphp:${FRANKENPHP_TAG}
ENV SERVER_NAME=":80"
ENV CADDY_GLOBAL_OPTIONS="auto_https off"
ENV APP_RUNTIME="Runtime\\FrankenPhpSymfony\\Runtime"
RUN install-php-extensions \
pdo_mysql \
gd \
intl \
zip \
opcache && \
apt install -y wget && \
apt clean && apt autoremove

View File

@@ -1,6 +1,6 @@
ARG APP_VERSION
FROM code.caldwell.digital/torsearch/torsearch-app:${APP_VERSION}
FROM code.caldwell.digital/home/torsearch-app:${APP_VERSION}
ENTRYPOINT [ "php", "/app/bin/console", "messenger:consume", "scheduler_monitor" ]

View File

@@ -1,22 +1,10 @@
FROM dunglas/frankenphp:php8.4-alpine
ARG APP_VERSION
ENV SERVER_NAME=":80"
ENV CADDY_GLOBAL_OPTIONS="auto_https off"
ENV APP_RUNTIME="Runtime\\FrankenPhpSymfony\\Runtime"
FROM code.caldwell.digital/home/torsearch-app:${APP_VERSION}
ARG APP_VERSION="0.dev"
ENV APP_VERSION="${APP_VERSION}"
RUN install-php-extensions \
pdo_mysql \
gd \
intl \
zip \
opcache
RUN apk add --no-cache wget
COPY . /app
RUN apt install -y wget && \
apt autoremove && \
apt clean
ENTRYPOINT [ "php", "/app/bin/console", "messenger:consume", "async" ]

View File

@@ -68,7 +68,7 @@ class Monitor
#[ORM\ManyToOne(targetEntity: self::class, inversedBy: 'children')]
private ?self $parent = null;
#[ORM\OneToMany(targetEntity: self::class, mappedBy: 'parent')]
#[ORM\OneToMany(targetEntity: self::class, mappedBy: 'parent', cascade: ['remove'])]
private Collection $children;
public function __construct()

View File

@@ -10,9 +10,9 @@
<twig:Card title="" class="w-full" contentClass="flex flex-col gap-4 justify-between w-full text-gray-50">
<div class="p-2 md:p-4 flex flex-col md:flex-row gap-6">
{% if results.media.poster != null %}
<img class="w-full md:w-40 rounded-lg" src="{{ results.media.poster }}" />
<img class="w-full md:w-[12.5rem] rounded-lg" src="{{ results.media.poster }}" />
{% else %}
<div class="w-full md:w-40 h-[144px] rounded-lg bg-gray-700 flex items-center justify-center">
<div class="w-full md:w-[12.5rem] h-[144px] rounded-lg bg-gray-700 flex items-center justify-center">
<twig:ux:icon width="24" name="hugeicons:loading-01" />
</div>
{% endif %}