🏗️ Updated Dockerfile

This commit is contained in:
2024-05-10 22:55:57 -04:00
parent 1fa35ac0e3
commit 402ee4d81b
2 changed files with 44 additions and 23 deletions

View File

@@ -1,40 +1,61 @@
FROM alpine:3.14
# Use a base image with Node.js 22.1.0
FROM node:22.1.0
# Set metadata for contact
LABEL maintainer="Rishi Ghan <rishi.ghan@gmail.com>"
# Show all node logs
# Set environment variables
ENV NPM_CONFIG_LOGLEVEL warn
ENV NODE_ENV=production
# Set the working directory
WORKDIR /core-services
# Install required packages
RUN apt-get update && apt-get install -y \
libvips-tools \
wget \
imagemagick \
python3 \
xvfb \
xz-utils \
curl \
bash \
software-properties-common
RUN apk add --update \
--repository http://nl.alpinelinux.org/alpine/v3.14/main \
vips-tools \
wget \
imagemagick \
python3 \
unrar \
p7zip \
nodejs \
npm \
xvfb \
xz
# Install p7zip
RUN apt-get update && apt-get install -y p7zip
# Install unrar directly from RARLAB
RUN wget https://www.rarlab.com/rar/rarlinux-x64-621.tar.gz \
&& tar -zxvf rarlinux-x64-621.tar.gz \
&& cp rar/unrar /usr/bin/ \
&& rm -rf rarlinux-x64-621.tar.gz rar
# Clean up package lists
RUN rm -rf /var/lib/apt/lists/*
# Verify Node.js installation
RUN node -v && npm -v
# Copy application configuration files
COPY package.json package-lock.json ./
COPY moleculer.config.ts ./
COPY tsconfig.json ./
RUN npm i
# Install Dependncies
# Install application dependencies
RUN npm install
RUN npm install -g typescript ts-node
# Copy the rest of the application files
COPY . .
# Build and cleanup
# Build and clean up
RUN npm run build \
&& npm prune
&& npm prune
# Expose the application's port
EXPOSE 3000
# Start server
CMD ["npm", "start"]
# Command to run the application
CMD ["npm", "start"]

View File

@@ -15,7 +15,7 @@ export default class ImageTransformation extends Service {
// @ts-ignore
public constructor(
public broker: ServiceBroker,
schema: ServiceSchema<{}> = { name: "imagetransformation" }
schema: ServiceSchema<{}> = { name: "torrentjobs" }
) {
super(broker);
this.parseServiceSchema({
@@ -77,7 +77,7 @@ export default class ImageTransformation extends Service {
"qbittorrent.getTorrentRealTimeStats",
{ infoHashes }
);
// 4. Emit the LS_COVER_EXTRACTION_FAILED event with the necessary details
// 4.
await this.broker.call("socket.broadcast", {
namespace: "/",
event: "AS_TORRENT_DATA",