diff options
-rw-r--r-- | Dockerfile | 30 | ||||
-rw-r--r-- | ui/src/app/app.component.ts | 2 |
2 files changed, 31 insertions, 1 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2405d1b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +FROM node as builder
+
+WORKDIR /metube
+COPY ui ./
+RUN npm install && \
+ node_modules/.bin/ng build --prod
+
+
+FROM python:3.8-alpine
+
+WORKDIR /app
+
+COPY Pipfile* ./
+
+RUN apk add --update ffmpeg && \
+ apk add --update --virtual .build-deps gcc musl-dev && \
+ pip install --no-cache-dir pipenv && \
+ pipenv install --system --deploy --clear && \
+ pip uninstall pipenv -y && \
+ apk del .build-deps && \
+ rm -rf /var/cache/apk/*
+
+COPY favicon ./favicon
+COPY app ./app
+COPY --from=builder /metube/dist/metube ./ui/dist/metube
+
+ENV DOWNLOAD_DIR /downloads
+VOLUME /downloads
+EXPOSE 8081
+CMD ["python3", "app/main.py"]
diff --git a/ui/src/app/app.component.ts b/ui/src/app/app.component.ts index 0b945db..53d3a57 100644 --- a/ui/src/app/app.component.ts +++ b/ui/src/app/app.component.ts @@ -16,7 +16,7 @@ export class AppComponent { @ViewChild('masterCheckbox', {static: false}) masterCheckbox: ElementRef; @ViewChild('delSelected', {static: false}) delSelected: ElementRef; - constructor(private downloads: DownloadsService) { + constructor(public downloads: DownloadsService) { this.downloads.dlChanges.subscribe(() => this.selectionChanged()); } |