aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile3
-rw-r--r--README.md5
-rw-r--r--app/ytdl.py5
3 files changed, 7 insertions, 6 deletions
diff --git a/Dockerfile b/Dockerfile
index e99dd6f..d148d02 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -25,8 +25,7 @@ COPY app ./app
COPY --from=builder /metube/dist/metube ./ui/dist/metube
ENV DOWNLOAD_DIR /downloads
-ENV STATE_DIR /state
+ENV STATE_DIR /downloads/.metube
VOLUME /downloads
-VOLUME /state
EXPOSE 8081
CMD ["python3", "app/main.py"]
diff --git a/README.md b/README.md
index f2cd0e2..f7a4e08 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ Web GUI for youtube-dl (using the [yt-dlp](https://github.com/yt-dlp/yt-dlp) for
## Run using Docker
```bash
-docker run -d -p 8081:8081 -v /path/to/downloads:/downloads -v /path/to/state:/state --user 1001:1001 alexta69/metube
+docker run -d -p 8081:8081 -v /path/to/downloads:/downloads --user 1001:1001 alexta69/metube
```
## Run using docker-compose
@@ -27,7 +27,6 @@ services:
- "8081:8081"
volumes:
- /path/to/downloads:/downloads
- - /path/to/state:/state # optional, if you want download queue persistence between re-creations of the container
```
## Configuration via environment variables
@@ -35,7 +34,7 @@ Certain values can be set via environment variables, using the `-e` parameter on
* __DOWNLOAD_DIR__: path to where the downloads will be saved. Defaults to `/downloads` in the docker image, and `.` otherwise.
* __AUDIO_DOWNLOAD_DIR__: path to where audio-only downloads will be saved, if you wish to separate them from the video downloads. Defaults to the value of `DOWNLOAD_DIR`.
-* __STATE_DIR__: path to where the queue persistence files will be saved. Defaults to `/state` in the docker image, and `.` otherwise.
+* __STATE_DIR__: path to where the queue persistence files will be saved. Defaults to `/downloads/.metube` in the docker image, and `.` otherwise.
* __URL_PREFIX__: base path for the web server (for use when hosting behind a reverse proxy). Defaults to `/`.
* __OUTPUT_TEMPLATE__: the template for the filenames of the downloaded videos, formatted according to [this spec](https://github.com/yt-dlp/yt-dlp/blob/master/README.md#output-template). Defaults to `%(title)s.%(ext)s`.
* __YTDL_OPTIONS__: Additional options to pass to youtube-dl, in JSON format. [See available options here](https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/YoutubeDL.py#L176). They roughly correspond to command-line options, though some do not have exact equivalents here, for example `--recode-video` has to be specified via `postprocessors`. Also note that dashes are replaced with underscores.
diff --git a/app/ytdl.py b/app/ytdl.py
index deb745c..6e406b0 100644
--- a/app/ytdl.py
+++ b/app/ytdl.py
@@ -136,9 +136,12 @@ class Download:
class PersistentQueue:
def __init__(self, path):
- self.path = path
+ pdir = os.path.dirname(path)
+ if not os.path.isdir(pdir):
+ os.mkdir(pdir)
with shelve.open(path, 'c'):
pass
+ self.path = path
self.dict = OrderedDict()
def load(self):
bgstack15