### Install Frontend Dependencies Source: https://github.com/autobrr/autobrr.com/blob/main/docs/contributing.md Navigate to the web directory and install frontend dependencies using pnpm. ```shell cd web && pnpm install ``` -------------------------------- ### Install Autobrr on Saltbox Source: https://github.com/autobrr/autobrr.com/blob/main/snippets/seedbox-solution-installers.mdx Execute this command to install Autobrr using the Saltbox installer. Consult Saltbox documentation for further information. ```shell sb install autobrr ``` -------------------------------- ### Install Project Dependencies Source: https://github.com/autobrr/autobrr.com/blob/main/README.md Run this command to install all necessary project dependencies using Yarn. ```bash yarn ``` -------------------------------- ### Install GoReleaser Source: https://github.com/autobrr/autobrr.com/blob/main/docs/contributing.md Install the GoReleaser tool, which is used for building cross-platform binaries. ```shell go install github.com/goreleaser/goreleaser@latest ``` -------------------------------- ### Start Local Development Server Source: https://github.com/autobrr/autobrr.com/blob/main/README.md Starts a local development server for live previewing changes. The browser will open automatically. ```bash yarn start ``` -------------------------------- ### Enable and Start Autobrr Systemd Service Source: https://github.com/autobrr/autobrr.com/blob/main/docs/installation/linux.md Enables the autobrr service to start on boot and starts it immediately. Replace `USERNAME` with the actual username under which autobrr should run. ```bash sudo systemctl enable --now autobrr@USERNAME.service ``` -------------------------------- ### Install Autobrr with Hostingby.design Source: https://github.com/autobrr/autobrr.com/blob/main/snippets/seedbox-installers.mdx Use this command to install Autobrr on Hostingby.design. This command is also used for upgrading. ```shell box install autobrr ``` -------------------------------- ### tqm Configuration Example Source: https://github.com/autobrr/autobrr.com/blob/main/docs/3rd-party-tools/manage-torrents.md Example configuration file for tqm, demonstrating how to set up client connections and define filters for managing torrents. Supports advanced rules using the Expr language. ```yaml clients: qbt: download_path: /mnt/local/downloads/torrents/qbittorrent/completed download_path_mapping: /downloads/torrents/qbittorrent/completed: /mnt/local/downloads/torrents/qbittorrent/completed enabled: true filter: default type: qbittorrent url: https://qbittorrent.domain.com/ user: user password: password filters: default: ignore: # general - TrackerStatus contains "Tracker is down" - Downloaded == false && !IsUnregistered() - SeedingHours < 26 && !IsUnregistered() # permaseed / un-sorted (unless torrent has been deleted) - Label startsWith "permaseed-" && !IsUnregistered() # Filter based on qbittorrent tags (only qbit at the moment) - '"permaseed" in Tags && !IsUnregistered()' remove: # general - IsUnregistered() # imported - Label in ["sonarr-imported", "radarr-imported", "lidarr-imported"] && (Ratio > 4.0 || SeedingDays >= 15.0) # ipt - Label in ["autoremove-ipt"] && (Ratio > 3.0 || SeedingDays >= 15.0) # hdt - Label in ["autoremove-hdt"] && (Ratio > 3.0 || SeedingDays >= 15.0) # bhd - Label in ["autoremove-bhd"] && (Ratio > 3.0 || SeedingDays >= 15.0) # ptp - Label in ["autoremove-ptp"] && (Ratio > 3.0 || SeedingDays >= 15.0) # btn - Label in ["autoremove-btn"] && (Ratio > 3.0 || SeedingDays >= 15.0) # hdb - Label in ["autoremove-hdb"] && (Ratio > 3.0 || SeedingDays >= 15.0) # Qbit tag utilities - HasAllTags("480p", "bad-encode") # match if all tags are present - HasAnyTag("remove-me", "gross") # match if at least 1 tag is present label: # btn 1080p season packs to permaseed (all must evaluate to true) - name: permaseed-btn update: - Label == "sonarr-imported" - TrackerName == "landof.tv" - Name contains "1080p" - len(Files) >= 3 # cleanup btn season packs to autoremove-btn (all must evaluate to true) - name: autoremove-btn update: - Label == "sonarr-imported" - TrackerName == "landof.tv" - not (Name contains "1080p") - len(Files) >= 3 # Change qbit tags based on filters tag: - name: low-seed # This must be set # "mode: full" means tag will be added to # torrent if matched and removed from torrent if not # use `add` or `remove` to only add/remove respectivly # NOTE: Mode does not change the way torrents are flagged, # meaning, even with "mode: remove", # tags will be removed if the torrent does NOT match the conditions. # "mode: remove" simply means that tags will not be added # to torrents that do match. mode: full update: - Seeds <= 3 ``` -------------------------------- ### Install Homebrew Package Manager Source: https://github.com/autobrr/autobrr.com/blob/main/docs/installation/macos.md Installs Homebrew, the recommended package manager for macOS, to simplify software installation. ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` -------------------------------- ### Install Autobrr using Homebrew Source: https://github.com/autobrr/autobrr.com/blob/main/docs/installation/macos.md Installs the autobrr application using the Homebrew package manager. ```bash brew install autobrr ``` -------------------------------- ### Install sqlite3 on Ubuntu Source: https://github.com/autobrr/autobrr.com/blob/main/docs/faqs.md Install the sqlite3 package on Ubuntu systems to manage SQLite databases. ```bash sudo apt install sqlite3 ``` -------------------------------- ### Install Autobrr on Quickbox Source: https://github.com/autobrr/autobrr.com/blob/main/snippets/seedbox-solution-installers.mdx This command installs Autobrr on Quickbox, requiring your username. Check Quickbox documentation for specifics. ```shell qb install autobrr -u ${username} ``` -------------------------------- ### Run Backend Development Server Source: https://github.com/autobrr/autobrr.com/blob/main/docs/contributing.md Start the backend API server using the default configuration. The API will be accessible at http://localhost:7474. ```shell go run cmd/autobrr/main.go ``` -------------------------------- ### Install Backend Go Dependencies Source: https://github.com/autobrr/autobrr.com/blob/main/docs/contributing.md Ensure all backend Go dependencies are correctly managed by running `go mod tidy`. ```shell go mod tidy ``` -------------------------------- ### Shared Seedbox Installation Script Source: https://github.com/autobrr/autobrr.com/blob/main/docs/installation/shared-seedbox.md This script automates the installation of autobrr on supported shared seedbox providers. It requires user input to configure the installation. ```bash #!/bin/bash # autobrr installation script for shared seedboxes # Supports: giga-rapid, hostingby.design, swizzin.net, ultra.cc, whatbox, seedhost, feralhosting, bytesized-hosting, rapidseedbox # --- Configuration --- # Prompt user for input read -p "Enter your username: " USERNAME read -p "Enter the installation directory (e.g., /home/$USERNAME/autobrr): " INSTALL_DIR read -p "Enter the port autobrr will run on (e.g., 7878): " PORT read -p "Enter the base URL for autobrr (e.g., http://yourdomain.com:7878): " BASE_URL # --- Dependencies --- # Check for necessary tools (curl, git, jq, etc.) command -v curl >/dev/null 2>&1 || { echo >&2 "curl is required but not installed. Aborting."; exit 1; } command -v git >/dev/null 2>&1 || { echo >&2 "git is required but not installed. Aborting."; exit 1; } command -v jq >/dev/null 2>&1 || { echo >&2 "jq is required but not installed. Aborting."; exit 1; } # --- Installation --- # Create installation directory if it doesn't exist mkdir -p "$INSTALL_DIR" cd "$INSTALL_DIR" # Clone the autobrr repository git clone https://github.com/autobrr/autobrr.git . # Download the latest release binary LATEST_RELEASE=$(curl -s https://api.github.com/repos/autobrr/autobrr/releases/latest | jq -r '.tag_name') curl -Lo autobrr https://github.com/autobrr/autobrr/releases/download/$LATEST_RELEASE/autobrr-linux-amd64 chmod +x autobrr # --- Configuration File --- # Create configuration file cat << EOF > config.yml port: $PORT base_url: "$BASE_URL" log_level: "info" log_format: "text" # Add other configuration options as needed EOF # --- Systemd Service --- # Create systemd service file cat << EOF > /etc/systemd/system/autobrr.service [Unit] Description=autobrr After=network.target [Service] User=$USERNAME Group=$USERNAME WorkingDirectory=$INSTALL_DIR ExecStart=$INSTALL_DIR/autobrr --config $INSTALL_DIR/config.yml Restart=on-failure [Install] WantedBy=multi-user.target EOF # Reload systemd, enable and start the service systemctl daemon-reload systemctl enable autobrr.service systemctl start autobrr.service echo "autobrr installed successfully!" echo "Access it at: $BASE_URL" ``` -------------------------------- ### Install Autobrr on Swizzin Source: https://github.com/autobrr/autobrr.com/blob/main/snippets/seedbox-solution-installers.mdx Use this command to install Autobrr via the Swizzin package manager. Refer to Swizzin documentation for more details. ```shell sudo box install autobrr ``` -------------------------------- ### Run Frontend Development Server Source: https://github.com/autobrr/autobrr.com/blob/main/docs/contributing.md Start the frontend development server. The frontend will be available at http://localhost:3000 and communicate with the API at http://localhost:7474. ```shell pnpm dev ``` -------------------------------- ### Install and Update Autobrr on Bytesized Source: https://github.com/autobrr/autobrr.com/blob/main/snippets/seedbox-installers.mdx This script handles both the installation and update of Autobrr on Bytesized. ```shell wget https://get.autobrr.com/autobrr/bytesized && bash ./bytesized ``` -------------------------------- ### Install Node.js LTS and cross-seed Source: https://github.com/autobrr/autobrr.com/blob/main/docs/3rd-party-tools/cross-seed.md Installs Node.js LTS (v18.x) and the cross-seed CLI globally. Requires root privileges. ```bash sudo su - curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - &&\ apt-get install -y nodejs npm install -g cross-seed ``` -------------------------------- ### Example Filter Values for TV & Movies Source: https://github.com/autobrr/autobrr.com/blob/main/docs/filters/tv-movies.md Provides examples of how to specify values for different TV & Movies filter fields. Supports comma-separated lists and wildcards for flexible matching. ```text That?Movie, *the* ``` ```text 2019,2020-2022 ``` ```text 1,3-6 ``` ```text 1,2,10-20 ``` -------------------------------- ### Start PostgreSQL Test Container Source: https://github.com/autobrr/autobrr.com/blob/main/docs/contributing.md Start the PostgreSQL test container using Docker Compose. This is required for running PostgreSQL integration tests. ```shell docker compose up -d test_postgres ``` -------------------------------- ### Install Nginx with Homebrew Source: https://github.com/autobrr/autobrr.com/blob/main/docs/installation/macos.md Installs the Nginx web server on macOS using Homebrew, often used as a reverse proxy for autobrr. ```bash brew install nginx ``` -------------------------------- ### Example Rejected Announce Output Source: https://github.com/autobrr/autobrr.com/blob/main/docs/usage/tips.md An example of a debug log entry showing a filter rejection. It details the release name and the reasons for rejection, such as episode mismatch or incorrect release group. ```json {"level":"debug","module":"filter","time":"2023-01-11T17:05:44Z","message":"filter.Service.CheckFilter: (Race - groups) for release: Teppen.Laughing.til.You.Cry.S01.720p.CR.WEB-DL.REPACK.AAC2.0.H.264-SubsPlease rejections: (episodes not matching. got: 0 want: 1-99, release groups not matching. got: SubsPlease want: ggez,glhf,DiRT,cinefeel,casstudio,cmrg,flux,smurf,ntb,kings,plzproper,gossip,playweb,cakes,bae,ggwp,rapidcows,trollhd,playhd,playtv,truffle)"} ``` -------------------------------- ### Find Sizechecker Binary Path Source: https://github.com/autobrr/autobrr.com/blob/main/docs/3rd-party-tools/sizechecker.md Command to locate the full path of the installed Sizechecker binary. ```bash which sizechecker ``` -------------------------------- ### Generate cross-seed configuration Source: https://github.com/autobrr/autobrr.com/blob/main/docs/3rd-party-tools/cross-seed.md Generates a default cross-seed configuration file and provides an example of essential parameters to set, including torznab URLs, torrent directory, output directory, and qBittorrent connection details. ```bash # Generate a cross-seed config file cross-seed gen-config # Open the file nano /home/$USER/.cross-seed/config.js # Make sure the following parameters are set within the config # You need to add at least one torznab URL from Prowlarr to the config for it to be valid # They will not be used by autobrr # outputDir needs to exist, but will not be used torznab: [ "http://127.0.0.1:9696/1/api?apikey=APIKEY&tracker=Tracker1", "http://127.0.0.1:9696/2/api?apikey=APIKEY&tracker=Tracker2" ], torrentDir: "/home/$USER/.local/share/qBittorrent/BT_backup", outputDir: "/home/$USER/torrentfiles", action: "inject", qbittorrentUrl: "http://user:pass@localhost:port", apiAuth: true, ``` -------------------------------- ### Configure Sizechecker in autobrr External Filter Source: https://github.com/autobrr/autobrr.com/blob/main/docs/3rd-party-tools/sizechecker.md Example arguments for setting up Sizechecker as an external executable in an autobrr filter to check for 50GB free space and send Discord notifications. ```bash --discord="YOUR_DISCORD_WEBHOOK_URL" --limit=50GB --runtype=a /path/to/check ``` -------------------------------- ### TorrentLeech RSS Key Example Source: https://github.com/autobrr/autobrr.com/blob/main/docs/faqs.md When setting up the TorrentLeech indexer, only include the alphanumeric RSS key, not the full URL. This ensures correct parsing of the RSS feed. ```text https://rss.tl.org/1812u12urr1203j12jeq ``` -------------------------------- ### Add qBittorrent Download Client Source: https://github.com/autobrr/autobrr.com/blob/main/docs/api.md Use this to add a new qBittorrent download client. Ensure the API key and host details are correct. ```bash curl -X POST 'http://127.0.0.1:7474/api/download_clients' -H 'X-API-Token: AUTOBRR_API_KEY' \ -d '{ "name": "qbit", "type": "QBITTORRENT", "enabled": true, "host": "http://172.17.0.1:10963", "port": 0, "tls": false, "tls_skip_verify": false, "username": "username", "password": "password", "settings": { "basic": { "auth": true, "username": "username", "password": "password" }, "rules": { "enabled": true, "max_active_downloads": 1, "ignore_slow_torrents": true, "ignore_slow_torrents_condition": "MAX_DOWNLOADS_REACHED", "download_speed_threshold": 10000, "upload_speed_threshold": 400 } } }' ``` -------------------------------- ### Readiness Check Source: https://github.com/autobrr/autobrr.com/blob/main/docs/api.md Verify if the application and its dependencies are ready to accept requests. Requires an API key in the header. ```bash curl -X GET 'http://127.0.0.1:7474/api/healthz/readiness' -H 'X-API-Token: AUTOBRR_API_KEY' ``` -------------------------------- ### Install and Update Autobrr using seedbox.io installer Source: https://github.com/autobrr/autobrr.com/blob/main/snippets/seedbox-installers.mdx This script can be used for installing and updating Autobrr on various providers. It may also work for other providers not explicitly listed. ```shell wget https://get.autobrr.com/autobrr/sbio && bash ./sbio ``` -------------------------------- ### Build Frontend for Production Source: https://github.com/autobrr/autobrr.com/blob/main/docs/contributing.md Build the frontend for production deployment. This command should be run from the root of the project. ```shell pnpm --dir web run build ``` -------------------------------- ### Install and Update Autobrr on Feralhosting Source: https://github.com/autobrr/autobrr.com/blob/main/snippets/seedbox-installers.mdx This script handles both the installation and update of Autobrr on Feralhosting. ```shell wget https://get.autobrr.com/autobrr/feral && bash ./feral ``` -------------------------------- ### Configure qBittorrent Client Source: https://github.com/autobrr/autobrr.com/blob/main/docs/configuration/download-clients/shared.md Use this configuration for connecting to qBittorrent on a shared seedbox. Ensure all connection details are accurate before saving. ```mdx import SharedqBittorrent from '/snippets/shared-download-clients/qbittorrent.mdx'; ``` -------------------------------- ### Start Autobrr as a Background Service Source: https://github.com/autobrr/autobrr.com/blob/main/docs/installation/macos.md Starts the autobrr service to run in the background and automatically restart on login. ```bash brew services start autobrr ``` -------------------------------- ### qBittorrent Configuration Source: https://github.com/autobrr/autobrr.com/blob/main/snippets/downloadclients.mdx Configure connection details for qBittorrent. Ensure the Host includes the protocol (http/https) and port. ```text Host: Takes IP:PORT or URL with http(s), eg. http://111.111.111.111:1234 or http://myserver.test. SSL: Use this if the server is on https. It's usually not the case. Username: Password: ``` -------------------------------- ### Build Frontend and Backend Source: https://github.com/autobrr/autobrr.com/blob/main/docs/contributing.md Build both the frontend and backend applications simultaneously. ```shell make build ``` -------------------------------- ### Start autobrr Docker Container Source: https://github.com/autobrr/autobrr.com/blob/main/docs/installation/docker.md Command to start the autobrr container in detached mode using Docker Compose. ```shell docker compose up -d ``` -------------------------------- ### Build Static Website Content Source: https://github.com/autobrr/autobrr.com/blob/main/README.md Generates the static website files into the 'build' directory, ready for hosting. ```bash yarn build ``` -------------------------------- ### Add *arr Download Client Source: https://github.com/autobrr/autobrr.com/blob/main/docs/api.md Use this to add a new *arr download client (e.g., Sonarr). Provide the API key and host details for the *arr instance. ```bash curl -X POST 'http://127.0.0.1:7474/api/download_clients' -H 'X-API-Token: AUTOBRR_API_KEY' \ -d '{ "name": "Sonarr", "type": "SONARR", "enabled": true, "host": "http://sonarr:9989/sonarr", "settings": { "apikey": "ARR_API_KEY", "basic": { "auth": true, "username": "USERNAME", "password": "PASSWORD" }, "external_download_client_id": 0 } }' ``` -------------------------------- ### Build Backend Application Source: https://github.com/autobrr/autobrr.com/blob/main/docs/contributing.md Compile the backend application into a binary. The output binary will be located at ./bin/autobrr. ```shell make build/app ``` -------------------------------- ### Deploy Website using SSH Source: https://github.com/autobrr/autobrr.com/blob/main/README.md Builds the website and deploys it to the gh-pages branch using SSH. Ensure USE_SSH is set to true. ```bash USE_SSH=true yarn deploy ``` -------------------------------- ### Manage cross-seed systemd service Source: https://github.com/autobrr/autobrr.com/blob/main/docs/3rd-party-tools/cross-seed.md Commands to reload systemd, enable the cross-seed service to start on boot, start the service, and view its logs. ```shell sudo systemctl daemon-reload # tell systemd to discover the unit file you just created sudo systemctl enable cross-seed # enable it to run on restart sudo systemctl start cross-seed # start the service sudo journalctl -u cross-seed # view the logs ``` -------------------------------- ### Create User via CLI Source: https://github.com/autobrr/autobrr.com/blob/main/docs/configuration/autobrr.md Use this command to create a new user from the command line, specifying the configuration directory and username. You will be prompted for a password after execution. ```shell autobrrctl --config ~/.config/autobrr create-user USERNAME ``` -------------------------------- ### Update Autobrr with Hostingby.design Source: https://github.com/autobrr/autobrr.com/blob/main/snippets/seedbox-installers.mdx Use this command to upgrade Autobrr on Hostingby.design. This command is also used for installation. ```shell box upgrade autobrr ``` -------------------------------- ### Readiness Check Source: https://github.com/autobrr/autobrr.com/blob/main/docs/api.md This endpoint checks if the application and its dependencies are ready to accept requests. ```APIDOC ## GET /healthz/readiness ### Description Checks if the application and its dependencies are ready to accept requests. ### Method GET ### Endpoint /healthz/readiness ### Response #### Success Response (200) - The application and its dependencies are ready to accept requests. #### Error Response (500) - Unhealthy. Database unreachable: Indicates an issue connecting to the database. ``` -------------------------------- ### Enable Update Check Source: https://github.com/autobrr/autobrr.com/blob/main/docs/api.md Enable or disable the automatic update check for Autobrr. This example enables the check. ```bash curl -X PATCH 'http://127.0.0.1:7474/api/config' -H 'X-API-Token: AUTOBRR_API_TOKEN' -d '{ "check_for_updates": true, }' ``` -------------------------------- ### Build Cross-Platform Binaries with GoReleaser Source: https://github.com/autobrr/autobrr.com/blob/main/docs/contributing.md Use GoReleaser to build snapshot binaries for multiple platforms. This command is useful for creating distributable artifacts. ```shell goreleaser build --snapshot --clean ``` -------------------------------- ### Change Log Level Source: https://github.com/autobrr/autobrr.com/blob/main/docs/api.md Update the log level of the Autobrr instance. This example sets the log level to 'TRACE'. ```bash curl -X PATCH 'http://127.0.0.1:7474/api/config' -H 'X-API-Token: AUTOBRR_API_TOKEN' -d '{ "log_level": "TRACE" }' ``` -------------------------------- ### Update qBittorrent Download Client Source: https://github.com/autobrr/autobrr.com/blob/main/docs/api.md Use this to update an existing qBittorrent download client. Provide the client's ID and the fields to modify. ```bash curl -X PUT 'http://127.0.0.1:7474/api/download_clients' -H 'X-API-Token: AUTOBRR_API_KEY' \ -d '{ "id": 21, "name": "Qbit", "type": "QBITTORRENT", "enabled": true, "host": "https://qbit.autobrr.com", "tls": true, "tls_skip_verify": true, "username": "USERNAME", "password": "NEW_PASSWORD", "settings": { "basic": { "auth": true, "username": "USERNAME", "password": "NEW_PASSWORD" }, "rules": { "enabled": true, "max_active_downloads": 2, "ignore_slow_torrents": true, "download_speed_threshold": 10000, "upload_speed_threshold": 2000, "ignore_slow_torrents_condition": "ALWAYS or MAX_DOWNLOADS_REACHED" }, "external_download_client_id": 1 } }' ``` -------------------------------- ### Make Sizechecker Binary Executable Source: https://github.com/autobrr/autobrr.com/blob/main/docs/3rd-party-tools/sizechecker.md Grant execute permissions to the Sizechecker binary. ```bash chmod +x sizechecker ``` -------------------------------- ### Restart an IRC Network Source: https://github.com/autobrr/autobrr.com/blob/main/docs/api.md Initiate a restart for a specific IRC network identified by its ID. This is a simple GET request to the dedicated restart endpoint. ```bash curl -X GET 'http://127.0.0.1:7474/api/irc/network/5/restart' -H 'X-API-Token: AUTOBRR_API_KEY' ``` -------------------------------- ### Reannounce Torrent Command Source: https://github.com/autobrr/autobrr.com/blob/main/docs/filters/skip-duplicates.md Use this command in an external script to reannounce a torrent. Ensure qbt is installed in your environment, especially if running qBittorrent in a container. ```bash qbt torrent reannounce --hash "%I" ``` -------------------------------- ### Configure PostgreSQL Database Source: https://github.com/autobrr/autobrr.com/blob/main/docs/installation/supplementary/postgresql.md Add these settings to your autobrr configuration file to enable PostgreSQL. Ensure your PostgreSQL instance is secured. ```toml # Database config # databaseType = "postgres" postgresHost = "localhost" postgresPort = 5432 postgresDatabase = "autobrr" postgresUser = "autobrr" postgresPass = "s0meth!ng-l0ng-4nd-s3cure" postgresSSLMode = "disable" postgresExtraParams = "" ``` -------------------------------- ### Environment Variables for Tailscale and autobrr Source: https://github.com/autobrr/autobrr.com/blob/main/docs/installation/reverse-proxy/tailscale-serve.md These environment variables are required for the Docker Compose setup, including Tailscale authentication, state directory, and timezone settings. ```toml BASE_DOCKER_DATA_PATH=/path/to/your/docker/data TZ=UTC TS_AUTHKEY=tskey-auth-adKJA23Skjhad-ASDoiqQoas1dQWda41sohi TS_EXTRA_ARGS=--advertise-tags=tag:container --reset TS_STATE_DIR=/var/lib/tailscale ```