From 2f05dbad5de85a46f08bdf1125ac092013b28bfc Mon Sep 17 00:00:00 2001 From: daniel31x13 Date: Wed, 19 Mar 2025 23:47:31 -0400 Subject: [PATCH] improvements to docker --- .env.sample | 4 ++-- Dockerfile | 2 +- docker-compose.yml | 13 ++++++++++--- lib/api/meilisearchClient.ts | 8 ++++---- lib/api/preservationScheme/handleMonolith.ts | 2 +- scripts/worker.ts | 1 - 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.env.sample b/.env.sample index 5955bb5d..e61b09ef 100644 --- a/.env.sample +++ b/.env.sample @@ -62,8 +62,8 @@ ANTHROPIC_API_KEY= ANTHROPIC_MODEL= # MeiliSearch Settings -MEILISEARCH_HOST= -MEILISEARCH_KEY= +MEILI_HOST= +MEILI_MASTER_KEY= # AWS S3 Settings SPACES_KEY= diff --git a/Dockerfile b/Dockerfile index 9fb7a09a..55ea8bff 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ # Purpose: Uses the Rust image to build monolith # Notes: # - Fine to leave extra here, as only the resulting binary is copied out -FROM docker.io/rust:1.80-bullseye AS monolith-builder +FROM docker.io/rust:1.85-bullseye AS monolith-builder RUN set -eux && cargo install --locked monolith diff --git a/docker-compose.yml b/docker-compose.yml index 63a87403..6523d840 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,3 @@ -version: "3.5" services: postgres: image: postgres:16-alpine @@ -11,11 +10,19 @@ services: environment: - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres restart: always - # build: . # uncomment this line to build from source - image: ghcr.io/linkwarden/linkwarden:latest # comment this line to build from source + # build: . # uncomment to build from source + image: ghcr.io/linkwarden/linkwarden:latest # comment to build from source ports: - 3000:3000 volumes: - ./data:/data/data depends_on: - postgres + - meilisearch + meilisearch: + image: getmeili/meilisearch:v1.12.8 + restart: always + env_file: + - .env + volumes: + - ./meili_data:/meili_data diff --git a/lib/api/meilisearchClient.ts b/lib/api/meilisearchClient.ts index c8f1316f..b4f6010f 100644 --- a/lib/api/meilisearchClient.ts +++ b/lib/api/meilisearchClient.ts @@ -1,10 +1,10 @@ import { MeiliSearch } from "meilisearch"; -const host = process.env.MEILISEARCH_HOST; +const apiKey = process.env.MEILI_MASTER_KEY; -export const meiliClient = host +export const meiliClient = apiKey ? new MeiliSearch({ - host, - apiKey: process.env.MEILISEARCH_KEY, + host: process.env.MEILI_HOST || "http://meilisearch:7700", + apiKey, }) : null; diff --git a/lib/api/preservationScheme/handleMonolith.ts b/lib/api/preservationScheme/handleMonolith.ts index b6d0f662..e757e2fe 100644 --- a/lib/api/preservationScheme/handleMonolith.ts +++ b/lib/api/preservationScheme/handleMonolith.ts @@ -9,7 +9,7 @@ const handleMonolith = async (link: Link, content: string) => { try { let html = execSync( `monolith - -I -b "${link.url}" ${ - process.env.MONOLITH_CUSTOM_OPTIONS || "-j -F -s" + process.env.MONOLITH_CUSTOM_OPTIONS || "-j -F -q" } -o -`, { timeout: 120000, diff --git a/scripts/worker.ts b/scripts/worker.ts index c0087777..b18db26d 100644 --- a/scripts/worker.ts +++ b/scripts/worker.ts @@ -2,7 +2,6 @@ import "dotenv/config"; import { prisma } from "../lib/api/db"; import archiveHandler from "../lib/api/archiveHandler"; import Parser from "rss-parser"; -import { hasPassedLimit } from "../lib/api/verifyCapacity"; import { LinkWithCollectionOwnerAndTags } from "../types/global"; import getLinkBatch from "../lib/api/getLinkBatch"; import { meiliClient } from "../lib/api/meilisearchClient";