aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile30
-rw-r--r--ui/src/app/app.component.ts2
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());
}
bgstack15