Compare commits

...

2 Commits

Author SHA1 Message Date
710ea0d79f Merge branch 'v2' of ssh.gitea.moe:lamp/ytdl-server into v2 2025-08-04 15:54:13 -07:00
621a260b88 separate metadata dir 2025-08-04 15:53:26 -07:00
4 changed files with 8 additions and 6 deletions

View File

@ -5,9 +5,10 @@ ADD . /app
WORKDIR /app WORKDIR /app
RUN npm ci RUN npm ci
ENV DOWNLOADS=/downloads ENV DOWNLOADS=/downloads
RUN mkdir -p $DOWNLOADS/metadata; chown -R ytdl $DOWNLOADS ENV META_DIR=/metadata
RUN mkdir $DOWNLOADS $META_DIR; chown -R ytdl $DOWNLOADS $META_DIR
USER ytdl USER ytdl
ENV PATH="/home/ytdl/.local/bin:$PATH" ENV PATH="/home/ytdl/.local/bin:$PATH"
VOLUME $DOWNLOADS VOLUME $DOWNLOADS $META_DIR
EXPOSE 8080 EXPOSE 8080
CMD ["sh", "-c", "pip install --break-system-packages --upgrade yt-dlp; exec node ."] CMD ["sh", "-c", "pip install --break-system-packages --upgrade yt-dlp; exec node ."]

View File

@ -1,5 +1,6 @@
process.env.DOWNLOADS ||= "downloads"; process.env.DOWNLOADS ||= "downloads";
process.env.META_DIR ||= "metadata";
process.env.PORT ||= 8080; process.env.PORT ||= 8080;
require("./web.js") require("./web.js");
require("./wss.js") require("./wss.js");

View File

@ -18,7 +18,7 @@ async function generateList() {
var files = fs.readdirSync(process.env.DOWNLOADS, {withFileTypes: true}).filter(f => f.isFile()).map(f => f.name); var files = fs.readdirSync(process.env.DOWNLOADS, {withFileTypes: true}).filter(f => f.isFile()).map(f => f.name);
var list = await Promise.all(files.map(async name => { var list = await Promise.all(files.map(async name => {
var filepath = path.join(process.env.DOWNLOADS, name); var filepath = path.join(process.env.DOWNLOADS, name);
var metapath = path.join(process.env.DOWNLOADS, "metadata", name) + ".json"; var metapath = path.join(process.env.META_DIR, name) + ".json";
try { try {
var metadata = JSON.parse(fs.readFileSync(metapath, "utf8")); var metadata = JSON.parse(fs.readFileSync(metapath, "utf8"));

View File

@ -1,5 +1,5 @@
docker build -t ytdl-server . docker build -t ytdl-server .
docker run -d --restart=unless-stopped --name ytdl-server -p 8660:8080 -v "/zpool1/fungible/ytdls:/downloads" ytdl-server docker run -d --restart=unless-stopped --name ytdl-server -p 8660:8080 -v "/zpool1/ytdls:/downloads" -v "./metadata/:/metadata" ytdl-server
docker ipv6 required docker ipv6 required