henhao
This commit is contained in:
1 parent
721f9cee63
commit
1f8e11b745
12 files changed
+402
-22
No files matched your search
@@ -9,3 +9,8 @@ data/
|
|||||||
surf.sublime-workspace
|
surf.sublime-workspace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Added by cargo
|
||||||
|
|
||||||
|
/target
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "slskdecks"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
+5
-4
@@ -9,7 +9,9 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- SLSKD_REMOTE_CONFIGURATION=true
|
- SLSKD_REMOTE_CONFIGURATION=true
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/shared:/app
|
- ./data/shared:/app/data
|
||||||
|
- ./src:/app/src/
|
||||||
|
- ./etc/:/app/etc/
|
||||||
- ./etc/slskd.yml:/app/slskd.yml
|
- ./etc/slskd.yml:/app/slskd.yml
|
||||||
|
|
||||||
slskdecks:
|
slskdecks:
|
||||||
@@ -17,12 +19,11 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: slskdecks.Dockerfile
|
dockerfile: slskdecks.Dockerfile
|
||||||
|
env_file: .env
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/shared:/app/data/shared
|
- ./data/shared:/app/data/shared
|
||||||
- ./src:/app/src/
|
- ./src:/app/src/
|
||||||
- ./etc/sldl.conf:/root/.config/sldl/sldl.conf
|
- ./etc/:/app/etc/
|
||||||
command: |
|
|
||||||
sleep 10000
|
|
||||||
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
+24
@@ -0,0 +1,24 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
set -uxe
|
||||||
|
|
||||||
|
SLDL_CONF_DIR="/root/.config/sldl/"
|
||||||
|
SLDL_CONF="$SLDL_CONF_DIR/sldl.conf"
|
||||||
|
|
||||||
|
configure() {
|
||||||
|
cd /app
|
||||||
|
|
||||||
|
mkdir -p $SLDL_CONF_DIR
|
||||||
|
envsubst < /app/etc/sldl.tpl.conf > $SLDL_CONF
|
||||||
|
|
||||||
|
echo "--------------------------------------------------------------"
|
||||||
|
echo "configured sldl"
|
||||||
|
cat $SLDL_CONF
|
||||||
|
echo "--------------------------------------------------------------"
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
configure
|
||||||
|
}
|
||||||
|
|
||||||
|
main
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
set -uxe
|
||||||
|
|
||||||
|
SLDL_CONF_DIR="/slskd/"
|
||||||
|
SLDL_CONF="$SLDL_CONF_DIR/slskd.yml"
|
||||||
|
|
||||||
|
configure() {
|
||||||
|
cd /app
|
||||||
|
|
||||||
|
mkdir -p $SLDL_CONF_DIR
|
||||||
|
envsubst < /app/etc/slskd.tpl.yml > $SLDL_CONF
|
||||||
|
|
||||||
|
echo "--------------------------------------------------------------"
|
||||||
|
echo "configured slskd"
|
||||||
|
cat $SLDL_CONF
|
||||||
|
echo "--------------------------------------------------------------"
|
||||||
|
}
|
||||||
|
|
||||||
|
run() {
|
||||||
|
cd /slskd
|
||||||
|
/usr/bin/tini -- ./start.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
configure
|
||||||
|
run
|
||||||
|
}
|
||||||
|
|
||||||
|
main
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
[slskdecks]
|
|
||||||
username = "${SLSK_USER}"
|
|
||||||
password = "${SLSK_PASS}"
|
|
||||||
|
|
||||||
name-format = "{item-name}/{artist( - )title|filename}"
|
|
||||||
|
|
||||||
fast-search = true
|
|
||||||
interactive = false
|
|
||||||
concurrent-downloads = 4
|
|
||||||
|
|
||||||
pref-format = "flac,mp3"
|
|
||||||
pref-min-bitrate = 200
|
|
||||||
pref-max-bitrate = 2500
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
[slskdecks]
|
||||||
|
username = "${SLDL_USER}"
|
||||||
|
password = "${SLDL_PASS}"
|
||||||
|
|
||||||
|
name-format = "{albumartist(/)album(/)track( )title|(missing-tags/)slsk-foldername(/)slsk-filename}"
|
||||||
|
# name-format = "{item-name}/{artist( - )title|filename}"
|
||||||
|
|
||||||
|
fast-search = true
|
||||||
|
interactive = false
|
||||||
|
concurrent-downloads = 4
|
||||||
|
|
||||||
|
pref-format = "flac,mp3"
|
||||||
|
pref-min-bitrate = 200
|
||||||
|
pref-max-bitrate = 2500
|
||||||
Executable
+302
@@ -0,0 +1,302 @@
|
|||||||
|
# debug: false
|
||||||
|
# headless: false
|
||||||
|
# remote_configuration: false
|
||||||
|
# remote_file_management: false
|
||||||
|
# instance_name: default
|
||||||
|
# flags:
|
||||||
|
# no_logo: false
|
||||||
|
# no_start: false
|
||||||
|
# no_config_watch: false
|
||||||
|
# no_connect: false
|
||||||
|
# no_share_scan: false
|
||||||
|
# force_share_scan: false
|
||||||
|
# force_migrations: false
|
||||||
|
# no_version_check: false
|
||||||
|
# log_sql: false
|
||||||
|
# experimental: false
|
||||||
|
# volatile: false
|
||||||
|
# case_sensitive_reg_ex: false
|
||||||
|
# legacy_windows_tcp_keepalive: false
|
||||||
|
# optimistic_relay_file_info: false
|
||||||
|
# relay:
|
||||||
|
# enabled: false
|
||||||
|
# mode: controller # controller (default), agent, or debug (for local development)
|
||||||
|
# # controller config is required when running in 'agent' mode
|
||||||
|
# # this specifies the relay controller that will be controlling this agent
|
||||||
|
# controller:
|
||||||
|
# address: https://some.site.com:5000
|
||||||
|
# ignore_certificate_errors: false
|
||||||
|
# api_key: <a 16-255 character string corresponding to one of the controller's 'readwrite' or 'administrator' API keys>
|
||||||
|
# secret: <a 16-255 character shared secret matching the controller's config for this agent>
|
||||||
|
# downloads: false
|
||||||
|
# # agent config is optional when running in 'controller' mode
|
||||||
|
# # this specifies all of the agents capable of connecting
|
||||||
|
# agents:
|
||||||
|
# my_agent:
|
||||||
|
# instance_name: my_agent # make sure the top-level instance_name of the agent matches!
|
||||||
|
# secret: <a 16-255 character string unique to this agent>
|
||||||
|
# cidr: 0.0.0.0/0,::/0
|
||||||
|
# permissions:
|
||||||
|
# file:
|
||||||
|
# mode: ~ # not for Windows, chmod syntax, e.g. 644, 777. can't escalate beyond umask
|
||||||
|
# directories:
|
||||||
|
# incomplete: ~
|
||||||
|
# downloads: ~
|
||||||
|
shares:
|
||||||
|
directories:
|
||||||
|
- /app/shared
|
||||||
|
# filters:
|
||||||
|
# - \.ini$
|
||||||
|
# - Thumbs.db$
|
||||||
|
# - \.DS_Store$
|
||||||
|
# cache:
|
||||||
|
# storage_mode: memory
|
||||||
|
# workers: 16
|
||||||
|
# retention: ~ # retain indefinitely (do not automatically re-scan)
|
||||||
|
# rooms:
|
||||||
|
# - ~
|
||||||
|
# global:
|
||||||
|
# upload:
|
||||||
|
# slots: 20
|
||||||
|
# speed_limit: 1000 # in kibibytes
|
||||||
|
# limits:
|
||||||
|
# queued:
|
||||||
|
# files: 500
|
||||||
|
# megabytes: 5000
|
||||||
|
# daily:
|
||||||
|
# files: 1000
|
||||||
|
# megabytes: 10000
|
||||||
|
# failures: 200
|
||||||
|
# weekly:
|
||||||
|
# files: 5000
|
||||||
|
# megabytes: 50000
|
||||||
|
# failures: 1000
|
||||||
|
# download:
|
||||||
|
# slots: 500
|
||||||
|
# speed_limit: 1000
|
||||||
|
# groups:
|
||||||
|
# default:
|
||||||
|
# upload:
|
||||||
|
# priority: 500
|
||||||
|
# strategy: roundrobin
|
||||||
|
# slots: 10
|
||||||
|
# limits:
|
||||||
|
# queued:
|
||||||
|
# files: 150
|
||||||
|
# megabytes: 1500
|
||||||
|
# daily: ~ # no daily limits (weekly still apply)
|
||||||
|
# weekly:
|
||||||
|
# files: 1500
|
||||||
|
# megabytes: 15000
|
||||||
|
# failures: 150
|
||||||
|
# leechers:
|
||||||
|
# thresholds:
|
||||||
|
# files: 1
|
||||||
|
# directories: 1
|
||||||
|
# upload:
|
||||||
|
# priority: 999
|
||||||
|
# strategy: roundrobin
|
||||||
|
# slots: 1
|
||||||
|
# speed_limit: 100
|
||||||
|
# limits:
|
||||||
|
# queued:
|
||||||
|
# files: 15
|
||||||
|
# megabytes: 150
|
||||||
|
# daily:
|
||||||
|
# files: 30
|
||||||
|
# megabytes: 300
|
||||||
|
# failures: 10
|
||||||
|
# weekly:
|
||||||
|
# files: 150
|
||||||
|
# megabytes: 1500
|
||||||
|
# failures: 30
|
||||||
|
# blacklisted:
|
||||||
|
# members:
|
||||||
|
# - <username to blacklist>
|
||||||
|
# cidrs:
|
||||||
|
# - <CIDR to blacklist, e.g. 255.255.255.255/32>
|
||||||
|
# user_defined:
|
||||||
|
# my_buddies:
|
||||||
|
# upload:
|
||||||
|
# priority: 250
|
||||||
|
# strategy: firstinfirstout
|
||||||
|
# slots: 10
|
||||||
|
# limits:
|
||||||
|
# queued:
|
||||||
|
# files: 1000 # override global default
|
||||||
|
# members:
|
||||||
|
# - alice
|
||||||
|
# - bob
|
||||||
|
# blacklist:
|
||||||
|
# enabled: true
|
||||||
|
# file: <path to file containing CIDRs to blacklist>
|
||||||
|
# filters:
|
||||||
|
# search:
|
||||||
|
# request:
|
||||||
|
# - ^.{1,2}$
|
||||||
|
web:
|
||||||
|
port: 5030
|
||||||
|
https:
|
||||||
|
disabled: false
|
||||||
|
port: 5031
|
||||||
|
force: false
|
||||||
|
certificate:
|
||||||
|
pfx: ~
|
||||||
|
password: ~
|
||||||
|
url_base: /
|
||||||
|
content_path: wwwroot
|
||||||
|
logging: false
|
||||||
|
authentication:
|
||||||
|
disabled: false
|
||||||
|
username: ${SLSKD_WEB_USER}
|
||||||
|
password: ${SLSKD_WEB_PASS}
|
||||||
|
# jwt:
|
||||||
|
# key: ~
|
||||||
|
# ttl: 604800000
|
||||||
|
# api_keys:
|
||||||
|
# my_api_key:
|
||||||
|
# key: <some example string between 16 and 255 characters>
|
||||||
|
# role: readonly # readonly, readwrite, administrator
|
||||||
|
# cidr: 0.0.0.0/0,::/0
|
||||||
|
# retention:
|
||||||
|
# search: 10080 # 7 days, in minutes
|
||||||
|
# transfers:
|
||||||
|
# upload:
|
||||||
|
# succeeded: 1440 # 1 day, in minutes
|
||||||
|
# errored: 30
|
||||||
|
# cancelled: 5
|
||||||
|
# download:
|
||||||
|
# succeeded: 1440 # 1 day, in minutes
|
||||||
|
# errored: 20160 # 2 weeks, in minutes
|
||||||
|
# cancelled: 5
|
||||||
|
# files:
|
||||||
|
# complete: 20160 # 2 weeks, in minutes
|
||||||
|
# incomplete: 43200 # 30 days, in minutes
|
||||||
|
# logs: 180 # days
|
||||||
|
# logger:
|
||||||
|
# disk: false
|
||||||
|
# no_color: false
|
||||||
|
# loki: ~
|
||||||
|
# metrics:
|
||||||
|
# enabled: false
|
||||||
|
# url: /metrics
|
||||||
|
# authentication:
|
||||||
|
# disabled: false
|
||||||
|
# username: slskd
|
||||||
|
# password: slskd
|
||||||
|
# feature:
|
||||||
|
# swagger: false
|
||||||
|
soulseek:
|
||||||
|
address: vps.slsknet.org
|
||||||
|
port: 2271
|
||||||
|
username: ${SLSKD_SS_USER}
|
||||||
|
password: ${SLSKD_SS_PASS}
|
||||||
|
# description: |
|
||||||
|
# A slskd user. https://github.com/slskd/slskd
|
||||||
|
# picture: path/to/slsk-profile-picture.jpg
|
||||||
|
# listen_ip_address: 0.0.0.0
|
||||||
|
# listen_port: 50300
|
||||||
|
# diagnostic_level: Info
|
||||||
|
# distributed_network:
|
||||||
|
# disabled: false
|
||||||
|
# disable_children: false
|
||||||
|
# child_limit: 25
|
||||||
|
# logging: false
|
||||||
|
# connection:
|
||||||
|
# timeout:
|
||||||
|
# connect: 10000
|
||||||
|
# inactivity: 15000
|
||||||
|
# buffer:
|
||||||
|
# read: 16384
|
||||||
|
# write: 16384
|
||||||
|
# transfer: 262144
|
||||||
|
# write_queue: 250
|
||||||
|
# proxy:
|
||||||
|
# enabled: false
|
||||||
|
# address: ~
|
||||||
|
# port: ~
|
||||||
|
# username: ~
|
||||||
|
# password: ~
|
||||||
|
# integration:
|
||||||
|
# webhooks:
|
||||||
|
# my_webhook:
|
||||||
|
# on:
|
||||||
|
# - DownloadFileComplete
|
||||||
|
# call:
|
||||||
|
# url: https://192.168.1.42:8080/slskd_webhook
|
||||||
|
# headers:
|
||||||
|
# - name: X-API-Key
|
||||||
|
# value: foobar1234
|
||||||
|
# - name: Authorization
|
||||||
|
# value: Bearer eyJ...ssw5c
|
||||||
|
# - name: User-Agent
|
||||||
|
# value: slskd/0.0
|
||||||
|
# ignore_certificate_errors: false
|
||||||
|
# timeout: 5000 # in milliseconds
|
||||||
|
# retry:
|
||||||
|
# attempts: 3
|
||||||
|
# scripts:
|
||||||
|
# run_command_with_linux_system_shell: # automatically uses the executable defined in $SHELL
|
||||||
|
# on:
|
||||||
|
# - DownloadFileComplete
|
||||||
|
# run:
|
||||||
|
# command: 'echo "$SLSKD_SCRIPT_DATA" >> linux_system_shell.txt'
|
||||||
|
# run_with_sh:
|
||||||
|
# on:
|
||||||
|
# - DownloadFileComplete
|
||||||
|
# run:
|
||||||
|
# executable: /bin/sh
|
||||||
|
# args: '-c "echo $SLSKD_SCRIPT_DATA >> linux_sh.txt"'
|
||||||
|
# run_with_sh_and_args_list:
|
||||||
|
# on:
|
||||||
|
# - DownloadFileComplete
|
||||||
|
# run:
|
||||||
|
# executable: /bin/sh
|
||||||
|
# arglist:
|
||||||
|
# - -c
|
||||||
|
# - echo $SLSKD_SCRIPT_DATA >> linux_sh_and_args_list.txt
|
||||||
|
# run_command_with_windows_system_shell: # automatically uses cmd.exe (included with all Windows installs)
|
||||||
|
# on:
|
||||||
|
# - DownloadFileComplete
|
||||||
|
# run:
|
||||||
|
# command: 'echo "%SLSKD_SCRIPT_DATA%" >> windows_system_shell.txt'
|
||||||
|
# run_with_windows_cmd:
|
||||||
|
# on:
|
||||||
|
# - DownloadFileComplete
|
||||||
|
# run:
|
||||||
|
# executable: cmd.exe
|
||||||
|
# args: '/c "echo "%SLSKD_SCRIPT_DATA%" >> windows_cmd.txt"'
|
||||||
|
# run_with_windows_git_bash:
|
||||||
|
# on:
|
||||||
|
# - DownloadFileComplete
|
||||||
|
# run:
|
||||||
|
# executable: C:\Program Files\Git\bin\bash.exe
|
||||||
|
# args: '-c "echo "$SLSKD_SCRIPT_DATA" >> windows_git_bash.txt"'
|
||||||
|
# run_with_windows_cmd_and_args_list:
|
||||||
|
# on:
|
||||||
|
# - DownloadFileComplete
|
||||||
|
# run:
|
||||||
|
# executable: cmd.exe
|
||||||
|
# arglist:
|
||||||
|
# - /c
|
||||||
|
# - 'echo "%SLSKD_SCRIPT_DATA%" >> windows_cmd_and_args_list.txt'
|
||||||
|
# ftp:
|
||||||
|
# enabled: false
|
||||||
|
# address: ~
|
||||||
|
# port: ~
|
||||||
|
# username: ~
|
||||||
|
# password: ~
|
||||||
|
# remote_path: /
|
||||||
|
# encryption_mode: auto
|
||||||
|
# ignore_certificate_errors: false
|
||||||
|
# overwrite_existing: true
|
||||||
|
# connection_timeout: 5000
|
||||||
|
# retry_attempts: 3
|
||||||
|
# pushbullet:
|
||||||
|
# enabled: false
|
||||||
|
# access_token: ~
|
||||||
|
# notification_prefix: "From slskd:"
|
||||||
|
# notify_on_private_message: true
|
||||||
|
# notify_on_room_mention: true
|
||||||
|
# retry_attempts: 3
|
||||||
|
# cooldown_time: 900000
|
||||||
Executable → Regular
+2
-2
@@ -148,8 +148,8 @@ web:
|
|||||||
logging: false
|
logging: false
|
||||||
authentication:
|
authentication:
|
||||||
disabled: false
|
disabled: false
|
||||||
username: ntwl
|
username: ${SLSKD_WEB_USER}
|
||||||
password: church
|
password: ${SLSKD_WEB_PASS}
|
||||||
# jwt:
|
# jwt:
|
||||||
# key: ~
|
# key: ~
|
||||||
# ttl: 604800000
|
# ttl: 604800000
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
FROM slskd/slskd
|
||||||
|
|
||||||
|
RUN apk add envsubst
|
||||||
|
|
||||||
|
ENTRYPOINT ["bash", "/app/etc/run_slskd.sh"]
|
||||||
@@ -6,6 +6,7 @@ RUN apt-get update
|
|||||||
RUN apt-get install -y \
|
RUN apt-get install -y \
|
||||||
curl \
|
curl \
|
||||||
unzip \
|
unzip \
|
||||||
|
gettext-base \
|
||||||
libicu-dev
|
libicu-dev
|
||||||
|
|
||||||
RUN mkdir -p /tmp/setup
|
RUN mkdir -p /tmp/setup
|
||||||
@@ -18,7 +19,9 @@ RUN chmod +x sldl
|
|||||||
RUN mv sldl /usr/local/bin/
|
RUN mv sldl /usr/local/bin/
|
||||||
RUN rm -rf /tmp/setup
|
RUN rm -rf /tmp/setup
|
||||||
|
|
||||||
COPY ./src/ /app/src/slskdecks
|
COPY ./src/ /app/src
|
||||||
|
COPY ./etc/ /app/etc
|
||||||
|
|
||||||
WORKDIR /app/data/shared
|
WORKDIR /app/
|
||||||
# CMD npm start
|
|
||||||
|
CMD ["bash", "/app/etc/run.sh"]
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
println!("Hello, world!");
|
||||||
|
}
|
||||||
Reference in new issue
Block a user