diff --git a/README.md b/README.md
index dadb4d0..92d2264 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,6 @@ This is a collection of kubernetes configurations for various services that I ha
- [ ] QBitTorrent
- [x] Radarr
- [x] Sonarr
-- [ ] Soulseek
+- [x] Soulseek
- [ ] Syncthing
- [ ] Tuwunnel
\ No newline at end of file
diff --git a/Soulseek/README.md b/Soulseek/README.md
index e69de29..08b0534 100644
--- a/Soulseek/README.md
+++ b/Soulseek/README.md
@@ -0,0 +1,8 @@
+# Soulseek/slskd
+A modern client-server application for the Soulseek file-sharing network.
+\- [source](https://github.com/slskd/slskd/)
+
+## Using this kubernetes config
+In `deployment.yml`, set the host directory paths for the music folder and the downloads folder. In the `ingress.yml` folder, set the domain name for soulseek.
+
+You will also need to create a kubernetes secret to store the username and password for your soulseek account. You can use an already existing account, or enter in new credentials to create a new account. Use the following command to create the secret: `kubectl create secret generic soulseek-creds --from-literal=username= --from-literal='password='`.
\ No newline at end of file
diff --git a/Soulseek/deployment.yml b/Soulseek/deployment.yml
new file mode 100644
index 0000000..2d56854
--- /dev/null
+++ b/Soulseek/deployment.yml
@@ -0,0 +1,69 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: soulseek
+spec:
+ selector:
+ matchLabels:
+ app: soulseek
+ template:
+ metadata:
+ labels:
+ app: soulseek
+ spec:
+ containers:
+ - name: soulseek
+ image: slskd/slskd
+ resources:
+ limits:
+ memory: "512Mi"
+ cpu: "1"
+ ports:
+ - containerPort: 5030
+ - containerPort: 50300
+ volumeMounts:
+ - name: soulseek-config
+ mountPath: /app
+ - name: music
+ mountPath: /music
+ - name: downloads
+ mountPath: /downloads
+ env:
+ - name: SLSKD_REMOTE_CONFIGURATION
+ value: "true"
+ - name: SLSKD_SLSK_USERNAME
+ valueFrom:
+ secretKeyRef:
+ key: username
+ name: soulseek-creds
+ - name: SLSKD_SLSK_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ key: password
+ name: soulseek-creds
+ - name: SLSKD_SHARED_DIR
+ value: /music
+ - name: SLSKD_DOWNLOADS_DIR
+ value: /downloads
+ volumes:
+ - name: soulseek-config
+ persistentVolumeClaim:
+ claimName: soulseek-config
+ - name: music
+ hostPath:
+ path:
+ - name: downloads
+ hostPath:
+ path:
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: soulseek-config
+spec:
+ resources:
+ requests:
+ storage: 128Mi
+ volumeMode: Filesystem
+ accessModes:
+ - ReadWriteOnce
diff --git a/Soulseek/ingress.yml b/Soulseek/ingress.yml
new file mode 100644
index 0000000..118fed0
--- /dev/null
+++ b/Soulseek/ingress.yml
@@ -0,0 +1,22 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: soulseek
+ annotations:
+ cert-manager.io/cluster-issuer: "letsencrypt-production"
+spec:
+ tls:
+ - hosts:
+ -
+ secretName: soulseek-tls
+ rules:
+ - host:
+ http:
+ paths:
+ - pathType: Prefix
+ path: "/"
+ backend:
+ service:
+ name: soulseek
+ port:
+ number: 80
diff --git a/Soulseek/service.yml b/Soulseek/service.yml
new file mode 100644
index 0000000..10a6649
--- /dev/null
+++ b/Soulseek/service.yml
@@ -0,0 +1,22 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: soulseek
+spec:
+ selector:
+ app: soulseek
+ ports:
+ - port: 80
+ targetPort: 5030
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: soulseek2
+spec:
+ selector:
+ app: soulseek
+ ports:
+ - port: 50300
+ targetPort: 50300
+ type: NodePort