betanin alternatives and similar software solutions
Based on the "Automation" category.
Alternatively, view betanin alternatives based on common mentions on social networks and blogs.
-
Home Assistant
:house_with_garden: Open source home automation that puts local control and privacy first. -
n8n
Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services. -
Huginn
Create agents that monitor and act on your behalf. Your agents are standing by! -
Gekko
Gekko is a Bitcoin TA trading and backtesting bot which support multiple exchanges and cryptocurrencies. -
Zenbot 3
Zenbot is a command-line cryptocurrency trading bot using Node.js and MongoDB. -
WebUI-aria2
The aim for this project is to create the worlds best and hottest interface to interact with aria2. Very simple to use, just download and open index.html in any web browser. -
Healthchecks
Open-source cron job and background task monitoring service, written in Python & Django -
StackStorm
StackStorm (aka "IFTTT for Ops") is event-driven automation for auto-remediation, incident responses, troubleshooting, deployments, and more for DevOps and SREs. Includes rules engine, workflow, 160 integration packs with 6000+ actions (see https://exchange.stackstorm.org) and ChatOps. Installer at https://docs.stackstorm.com/install/index.html -
pyLoad
The free and open-source Download Manager written in pure Python -
Actionsflow
The free Zapier/IFTTT alternative for developers to automate your workflows based on Github actions -
Automatisch
The open source Zapier alternative. Build workflow automation without spending time and money. -
YoutubeDL-Material
Self-hosted YouTube downloader built on Material Design -
TriggerHappy
An opensource clone of IFTTT, a bridge between your internet services. -
Medusa
Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic. -
Podgrab
A self-hosted podcast manager/downloader/archiver tool to download podcast episodes as soon as they become live with an integrated player. -
µTask
µTask is an automation engine that models and executes business processes declared in yaml. ✏️📋 -
Klaxon
Klaxon enables reporters and editors to monitor scores of sites on the web for newsworthy changes. -
ActiveWorkflow
Polyglot workflows without leaving the comfort of your technology stack. -
HRConvert2
A self-hosted, drag-and-drop & nosql file conversion server & share tool that supports 86 file formats in 13 languages. -
Accelerated Text
Accelerated Text is a no-code natural language generation platform. It will help you construct document plans which define how your data is converted to textual descriptions varying in wording and structure. -
Patrowl
PatrOwl - Open Source, Smart and Scalable Security Operations Orchestration Platform -
FHEM
Branch 'master' is an unofficial read-only-mirror of https://svn.fhem.de/fhem/trunk which is updated once a day. (branch sf_old a mirror of the old repo: svn://svn.code.sf.net/p/fhem/code/trunk) -
SiteInspector
A tool for catching spelling errors, grammatical errors, broken links, and other errors on websites. -
Episodes
Self Hosted TV show Episode tracker and recommender built using django, bootstrap4. -
feedmixer
A self-hosted API to fetch and mix entries from Atom and RSS feeds (returns Atom, RSS, or JSON) -
homebank-converter
A web app to convert an export bank file to compatible Homebank csv file. -
feed2toot
Feed2toot parses a RSS feed, extracts the last entries and sends them to Mastodon. -
LazyLibrarian
LazyLibrarian is a program to follow authors and grab metadata for all your digital reading needs. It uses a combination of Goodreads Librarything and optionally GoogleBooks as sources for author info and book info.
Tired of breaking your main and manually rebasing outdated pull requests?
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of betanin or a related project?
Popular Comparisons
README
beets.io based man-in-the-middle of your torrent client and music player
workflow
notifiers
betanin uses apprise for notifications. so anything supported there will work. but some include
- discord
- telegram
- emby
installation
pip install --user betanin
usage
# start server
betanin
# a config file will be created, add your credentials to it
# start again
betanin [--host=<host>] [--port=<port>]
# ui will be available at port
# you may also use env vars instead, eg
BETANIN_HOST=0.0.0.0 betanin
BETANIN_PORT=4030 betanin
# optionally start cli (for db operations, debugging)
betanin-shell
# or if docker
docker exec -it <container_id> betanin-shell
screenshots
docker
image
docker pull sentriz/betanin
volumes /b/.local/share/betanin/
for a persistent database
/b/.config/betanin/
for a persistent betanin config
/b/.config/beets/
for a persistent beets home (point this to your
current beets home if you have one)
/music/
so beets can access your music
/downloads/
so beets can access your downloads
compose
betanin:
image: sentriz/betanin
ports:
- 9393:9393
restart: unless-stopped
environment:
- UID=1000 # (optionally) set user id
- GID=1000 # (optionally) set group id
volumes:
- ${DATA}/betanin/data:/b/.local/share/betanin/
- ${DATA}/betanin/config:/b/.config/betanin/
- ${DATA}/betanin/beets:/b/.config/beets/
- ${MEDIA}/music:/music/
- ${MEDIA}/downloads:/downloads/
transmission
create a script named done.sh
or anything you like, and make it
executable:
chmod +x done.sh
settings.json (example excerpt)
...
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/scripts/done.sh",
...
done script
#!/bin/sh
curl \
--request POST \
--data-urlencode "path=<path_to_transmission_downloads>" \
--data-urlencode "name=$TR_TORRENT_NAME" \
--header "X-API-Key: <your_api_key>" \
"https://betanin.example.com/api/torrents"
transmission docker compose (excerpt)
volumes:
- ${DATA}/transmission/config:/config
- ${DATA}/transmission/scripts:/scripts
- ${MEDIA}/download:/downloads
deluge
create a script named done.sh
or anything you like, and make it
executable:
chmod +x done.sh
you must also be using the
Execute plugin,
set to the Torrent Complete
event
done script
#!/bin/sh
curl \
--request POST \
--data-urlencode "path=<path_to_deluge_downloads>" \
--data-urlencode "name=$2" \
--header "X-API-Key: <your_api_key>" \
"https://betanin.example.com/api/torrents"
qbittorrent
create a script named done.sh
or anything you like, and make it
executable:
chmod +x done.sh
open qbittorrent Tools
> Options
> check Run external program on torrent completion
set the path to the above done.sh
and arguments such as
/path/to/done.sh "%L" "%R"
done script
#!/bin/sh
echo "category: $1"
echo "path: $2"
[ "$1" != "music" ] && exit
curl \
--request POST \
--data-urlencode "both=$2" \
--header "X-API-Key: <your_api_key>" \
"https://betanin.example.com/api/torrents"
now any music downloaded to the music category will be imported by betanin
developing
working on the backend
there is not much else to do, write your code,
python -m betanin.entry.betanin
, kill it, write your code, etc. the
webserver will be available at http://localhost:9393/. the static
frontend is served at /
, and the api is served at /api
. (there is a
swagger ui there too) also see python -m betanin.entry.shell
.
if you need to do a manual migration do
env FLASK_APP='betanin.application:create' flask db migrate --directory betanin_migrations/
(then upgrades are automatically done on betanin start)
working on the frontend
start the backend with python -m betanin.entry.betanin
, but don’t use
the static frontend served at http://localhost:9393/. Instead, in a
new shell, do npm --prefix betanin_client/ run serve
and use the
frontend served at http://localhost:8081/. it will look for a backend
listening on port 9393 locally. after that you can edit anything in
betanin_client/src
, it will be linted and automatically reflected in
your web browser.