Added PM2 and check if header response set.
This commit is contained in:
@@ -24,5 +24,7 @@ RUN apt-get update && apt-get install -y \
|
||||
|
||||
RUN npm run build
|
||||
|
||||
RUN npm install pm2 -g
|
||||
|
||||
EXPOSE 8000
|
||||
CMD [ "npm", "start" ]
|
||||
CMD [ "pm2-runtime", "ecosystem.config.js" ]
|
||||
@@ -1,36 +1,66 @@
|
||||
version: '2'
|
||||
services:
|
||||
|
||||
services:
|
||||
caddy-ims:
|
||||
image: caddy:latest
|
||||
container_name: caddy-service
|
||||
restart: unless-stopped
|
||||
command: caddy reverse-proxy --from imexmedia.duckdns.org --to ims:8000
|
||||
networks:
|
||||
c2_proxy:
|
||||
ipv4_address: 192.168.90.254
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- caddy_data:/data
|
||||
- caddy_config:/config
|
||||
ims:
|
||||
container_name: ims
|
||||
networks:
|
||||
- c2_proxy
|
||||
ports:
|
||||
- 8000:8000
|
||||
volumes:
|
||||
- ~:/root
|
||||
#- "C:\\IMS:/media"
|
||||
- "/Users/pfic/Desktop/ISM:/media"
|
||||
- "/Users/pfic/Desktop/IMS:/media"
|
||||
environment:
|
||||
- MEDIA_PATH=/media
|
||||
- DUPLICATE_BILL_TO_VENDOR=false
|
||||
- IMS_TOKEN=ThisIsAnImEXSecretTokenToBeSent
|
||||
image: imexonline/media-server:latest
|
||||
#image: imexonline/media-server:beta
|
||||
- IMS_TOKEN=test
|
||||
- CONVERT_QUALITY=0.5
|
||||
- KEEP_CONVERTED_ORIGINALS=TRUE
|
||||
image: imexonline/media-server:beta
|
||||
restart: unless-stopped
|
||||
|
||||
watchtower:
|
||||
container_name: watchtower-ims
|
||||
image: containrrr/watchtower
|
||||
networks:
|
||||
- c2_proxy
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /root/.docker/config.json:/config.json
|
||||
command: --interval 3600
|
||||
caddy:
|
||||
image: caddy:latest
|
||||
container_name: caddy-service
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- $PWD/Caddyfile:/etc/caddy/Caddyfile
|
||||
- caddy_data:/data
|
||||
- caddy_config:/config
|
||||
environment:
|
||||
- TZ=America/Vancouver
|
||||
- WATCHTOWER_CLEANUP=true
|
||||
- WATCHTOWER_REMOVE_VOLUMES=true
|
||||
- WATCHTOWER_INCLUDE_STOPPED=true
|
||||
- WATCHTOWER_INCLUDE_RESTARTING=true
|
||||
- WATCHTOWER_NO_STARTUP_MESSAGE=false
|
||||
- WATCHTOWER_REVIVE_STOPPED=true
|
||||
- WATCHTOWER_ROLLING_RESTART=true
|
||||
- WATCHTOWER_TIMEOUT=60s
|
||||
- WATCHTOWER_POLL_INTERVAL=3600
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
ims:
|
||||
caddy_data:
|
||||
caddy_config:
|
||||
caddy_config:
|
||||
|
||||
networks:
|
||||
c2_proxy:
|
||||
name: c2_proxy
|
||||
driver: bridge
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.90.0/24
|
||||
8
ecosystem.config.js
Normal file
8
ecosystem.config.js
Normal file
@@ -0,0 +1,8 @@
|
||||
module.exports = [
|
||||
{
|
||||
script: "dist/server.js",
|
||||
name: "MediaServer",
|
||||
exec_mode: "cluster",
|
||||
instances: 0,
|
||||
},
|
||||
];
|
||||
@@ -73,9 +73,9 @@ export async function JobsListMedia(req: Request, res: Response) {
|
||||
);
|
||||
}
|
||||
|
||||
res.json(ret);
|
||||
if (!res.headersSent) res.json(ret);
|
||||
} catch (error) {
|
||||
logger.error("Error listing job media.", { jobid, error });
|
||||
res.status(500).json(error);
|
||||
if (!res.headersSent) res.status(500).json(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { Request, Response } from "express";
|
||||
import fs from "fs-extra";
|
||||
import multer from "multer";
|
||||
import path from "path";
|
||||
import { logger } from "../server";
|
||||
import GenerateThumbnail from "../util/generateThumbnail";
|
||||
import generateUniqueFilename from "../util/generateUniqueFilename";
|
||||
import { ConvertHeicFiles } from "../util/heicConverter";
|
||||
import { PathToRoFolder } from "../util/pathGenerators";
|
||||
import { JobsListMedia } from "./jobsListMedia";
|
||||
import fs from "fs-extra";
|
||||
import { ConvertHeicFiles } from "../util/heicConverter";
|
||||
|
||||
export const JobMediaUploadMulter = multer({
|
||||
storage: multer.diskStorage({
|
||||
@@ -44,6 +44,7 @@ export async function jobsUploadMedia(req: Request, res: Response) {
|
||||
} else {
|
||||
//If we want to skip waiting for everything, just send it back that we're good.
|
||||
if (req.body.skip_thumbnail) {
|
||||
req.headers.skipReponse === "true";
|
||||
res.sendStatus(200);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user