Cryptocurrency payment processor with the unique combination of gateway and merchant allowing you to accept payments in multiple cryptocurrencies without fees and intermediaries.
License: GPL-3.0. Website: https://shkeeper.io/. Source: https://github.com/vsys-host/shkeeper.io.
# curl -sfL https://get.k3s.io | sh - # mkdir /root/.kube && ln -s /etc/rancher/k3s/k3s.yaml /root/.kube/config # curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash ``` Create Shkeeper chart configuration file `values.yaml` with BTC, LTC, DOGE, XMR enabled: ``` # cat << EOF > values.yaml # # General # storageClassName: local-path # # BTC and forks # btc: enabled: true ltc: enabled: true doge: enabled: true # # Monero # monero: enabled: true fullnode: enabled: true EOF ``` Install Shkepeer helm chart: ``` # helm repo add vsys-host https://vsys-host.github.io/helm-charts # helm repo add mittwald https://helm.mittwald.de # helm repo update # helm install kubernetes-secret-generator mittwald/kubernetes-secret-generator # helm install -f values.yaml shkeeper vsys-host/shkeeper ``` Login to Shkeeper: http://\<ip>\:5000/ ### Install auto SSL Install cert-manager: ``` # helm repo add jetstack https://charts.jetstack.io # helm install \ cert-manager jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ --version v1.9.1 \ --set installCRDs=true ``` Create CRDs, replace "demo.shkeeper.io" and "[email protected]" with your own domain and email address: ``` cat << EOF > ssl.yaml --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: shkeeper-cert namespace: shkeeper spec: commonName: demo.shkeeper.io secretName: shkeeper-cert dnsNames: - demo.shkeeper.io issuerRef: name: letsencrypt-production kind: ClusterIssuer --- apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: letsencrypt-production spec: acme: email: [email protected] server: https://acme-v02.api.letsencrypt.org/directory privateKeySecretRef: name: your-own-very-secretive-key solvers: - http01: ingress: class: traefik --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: shkeeper namespace: shkeeper spec: entryPoints: - web - websecure routes: - match: Host(`demo.shkeeper.io`) kind: Rule services: - name: shkeeper port: 5000 namespace: shkeeper tls: secretName: shkeeper-cert EOF
Self-hosting gives you three things SaaS can’t: data ownership (the files live on disks you control), cost predictability (a one-time setup vs. recurring per-seat fees that grow with your household or team), and longevity (open-source means the app keeps working even if the maintainers move on, since you can pin a working version). The trade-off is that you take on the operational work of running a server, applying updates, and handling backups.
Most self-hosted apps run comfortably on modest hardware — a Raspberry Pi 4, a mini PC, a NAS with Docker support, or a small VPS is usually enough for personal or family use. CPU and RAM requirements scale with how many simultaneous users or how much data you push through SHKeeper. Storage requirements depend on the kind of data you keep; check the README for guidance on data retention.
Last verified: 2026-04-21