Fixed EACCES permission when mounting bind volume, add dynamic location for backup directory

This commit is contained in:
Alex Tran 2022-02-11 22:23:06 -06:00
parent 4f47c8c06b
commit 56627caf5b
6 changed files with 17 additions and 10 deletions

View file

@ -520,6 +520,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.11"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.3"
meta:
dependency: transitive
description:
@ -832,7 +839,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.3"
version: "0.4.8"
timing:
dependency: transitive
description:

View file

@ -7,7 +7,7 @@ DB_PASSWORD=postgres
DB_DATABASE_NAME=
# Upload File Config
UPLOAD_LOCATION=./upload
UPLOAD_LOCATION=absolute_location_on_your_machine_where_you_want_to_store_the_backup
# JWT SECRET
JWT_SECRET=

View file

@ -12,11 +12,9 @@ services:
command: npm run start:dev
ports:
- "3000:3000"
# expose:
# - 3000
volumes:
- .:/usr/src/app
- userdata:/usr/src/app/upload
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /usr/src/app/node_modules
env_file:
- .env
@ -67,5 +65,4 @@ services:
networks:
immich_network:
volumes:
pgdata:
userdata:
pgdata:

View file

@ -4,9 +4,10 @@ import { existsSync, mkdirSync } from 'fs';
import { diskStorage } from 'multer';
import { extname } from 'path';
import { Request } from 'express';
import { APP_UPLOAD_LOCATION } from '../constants/upload_location.constant';
export const multerConfig = {
dest: process.env.UPLOAD_LOCATION,
dest: APP_UPLOAD_LOCATION,
};
export const multerOption: MulterOptions = {

View file

@ -0,0 +1 @@
export const APP_UPLOAD_LOCATION = './upload';

View file

@ -7,6 +7,7 @@ import sharp from 'sharp';
import { existsSync, mkdirSync, readFile } from 'fs';
import { ConfigService } from '@nestjs/config';
import ffmpeg from 'fluent-ffmpeg';
import { APP_UPLOAD_LOCATION } from '../../constants/upload_location.constant';
@Processor('optimize')
export class ImageOptimizeProcessor {
@ -21,7 +22,7 @@ export class ImageOptimizeProcessor {
async resizeUploadedImage(job: Job) {
const { savedAsset }: { savedAsset: AssetEntity } = job.data;
const basePath = this.configService.get('UPLOAD_LOCATION');
const basePath = APP_UPLOAD_LOCATION;
const resizePath = savedAsset.originalPath.replace('/original/', '/thumb/');
// Create folder for thumb image if not exist
@ -77,7 +78,7 @@ export class ImageOptimizeProcessor {
async resizeUploadedVideo(job: Job) {
const { savedAsset, filename }: { savedAsset: AssetEntity; filename: String } = job.data;
const basePath = this.configService.get('UPLOAD_LOCATION');
const basePath = APP_UPLOAD_LOCATION;
// const resizePath = savedAsset.originalPath.replace('/original/', '/thumb/');
// Create folder for thumb image if not exist
const resizeDir = `${basePath}/${savedAsset.userId}/thumb/${savedAsset.deviceId}`;