Docker Registry

@ registry.enayet.co.uk

Was instructed that this is the best way to get into contact with Reda on behalf of the starseed council. You were sent down to Earth for the human experience but the transition of the evolution of the planet took a series of wrong turns. This is disrupting the whole experience and are calling back starseeds to their home planets and dimensions. In certain situations like this, we can pull you out or you will be able to leave anytime you want now being aware after the veil of forgetfulness. Memory purges and alterations can be initiated for the next experience on another planet/dimension or you could just choose to go back to the originating dimension or planet that you are originally from.

Available Images

ImageTagsDescriptionExample Run
categoriserr latest, v1.0

Categoriserr

A category enforcing companion app for the Starr applications Sonarr and Radarr which changes the location of media based on the tags associated

Categoriserr utilises the existing Radarr and Sonarr APIs to change the file/hardlink location and gets the Starr app to move the files

Installation/Setup

Docker

The docker image is available and can be pulled from Docker Hub: enayet123/categoriserr

Note: All environment variables associated with the Starr service you wish to manage must be provided.

Using docker compose is the recommended way to setup categoriserr e.g.

services:
  categoriserr:
    image: enayet123/categoriserr:latest
    container_name: categoriserr
    restart: unless-stopped
    environment:
      - RADARR_URL=http://192.168.1.1:7878
      - RADARR_API_KEY=api-key
      - RADARR_TAG_LOCATION_MAP=kids:/data/movies-kids/,anime:/data/movies-anime/,horror:/data/movies-horror/
      - SONARR_URL=http://192.168.1.1:8989
      - SONARR_API_KEY=api-key
      - SONARR_TAG_LOCATION_MAP=kids:/data/media/shows-kids/,anime:/data/media/shows-anime/
      - SCHEDULE_INTERVAL_MINUTES=1

Using docker CLI as an alternative

docker run -d \
  --name=categoriserr \
  -e RADARR_URL=http://192.168.1.1:7878 \
  -e RADARR_API_KEY=api-key \
  -e RADARR_TAG_LOCATION_MAP=kids:/data/movies-kids/,anime:/data/movies-anime/,horror:/data/movies-horror/ \
  -e SONARR_URL=http://192.168.1.1:8989 \
  -e SONARR_API_KEY=api-key \
  -e SONARR_TAG_LOCATION_MAP=kids:/data/media/shows-kids/,anime:/data/media/shows-anime/ \
  -e SCHEDULE_INTERVAL_MINUTES=1 \
  --restart unless-stopped \
  enayet123/categoriserr:latest

Python

Note: The following steps assume you already have python installed.

Clone the repository to a location of your choice

git clone git@github.com:enayet123/Categoriserr.git
cd Categoriserr

Provide the required environment variables and run the application

RADARR_URL=radarr RADARR_API_KEY=key RADARR_TAG_LOCATION=kids:/data/movies/kids python main.py

Environment Variables

All variables are optional however providing none will result in the application quitting

Variable Description
RADARR_URL The URL used to locate your Radarr instance
RADARR_API_KEY The API key used to authenticate with your Radarr instance (Settings -> General -> API Key)
RADARR_TAG_LOCATION The expected tags in Radarr mapped to their corresponding location with a colon delimited by a comma
SONARR_URL The URL used to locate your Sonarr instance
SONARR_API_KEY The API key used to authenticate with your Sonarr instance (Settings -> General -> API Key)
SONARR_TAG_LOCATION The expected tags in Sonarr mapped to their corresponding location with a colon delimited by a comma
SCHEDULE_INTERVAL_MINUTES The time between scans in minutes

Limitations

  • Current implementation is designed for a single instance of Radarr or Sonarr or both but no more (A work around to this can be to deploy multiple instances of Categoriserr)
  • Only a single tag is expected to be found, multiple will lead to undesired behaviour and the location will be the latest tag it reads
docker run -d --name=categoriserr -e RADARR_URL=http://192.168.1.1:7878 -e RADARR_API_KEY=api-key -e RADARR_TAG_LOCATION_MAP=kids:/data/movies-kids/,anime:/data/movies-anime/,horror:/data/movies-horror/ -e SONARR_URL=http://192.168.1.1:8989 -e SONARR_API_KEY=api-key -e SONARR_TAG_LOCATION_MAP=kids:/data/media/shows-kids/,anime:/data/media/shows-anime/ -e SCHEDULE_INTERVAL_MINUTES=1 --restart unless-stopped enayet123/categoriserr:latest
cryptostalker latest
jellyseerr latest, v2.7.3

<div align=“center”>⚠️ <strong>NOTE:</strong> We are currently in the process of merging Overseerr and Jellyseerr into this unified repository.</div>

<h1 align=“center” style=“font-size: 4em;”>🚧 Seerr</h1> <p align=“center”> <img src=“https://github.com/seerr-team/seerr/actions/workflows/release.yml/badge.svg” alt=“Seerr Release” /> <img src=“https://github.com/seerr-team/seerr/actions/workflows/ci.yml/badge.svg” alt=“Seerr CI”> </p> <p align=“center”> <a href=“https://discord.gg/seerr”><img src=“https://img.shields.io/discord/783137440809746482” alt=“Discord”></a> <a href=“https://hub.docker.com/r/seerr/seerr”><img src=“https://img.shields.io/docker/pulls/seerr/seerr” alt=“Docker pulls”></a> <a href=“https://translate.seerr.dev/engage/seerr/”><img src=“https://translate.seerr.dev/widget/seerr/seerr-frontend/svg-badge.svg” alt=“Translation status” /></a> <a href=“https://github.com/seerr-team/seerr/blob/develop/LICENSE”><img alt=“GitHub” src=“https://img.shields.io/github/license/seerr-team/seerr”></a>

Seerr is a free and open source software application for managing requests for your media library. It integrates with the media server of your choice: Jellyfin, Plex, and Emby. In addition, it integrates with your existing services, such as Sonarr, Radarr.

Current Features

  • Full Jellyfin/Emby/Plex integration including authentication with user import & management.
  • Support for PostgreSQL and SQLite databases.
  • Supports Movies, Shows and Mixed Libraries.
  • Ability to change email addresses for SMTP purposes.
  • Easy integration with your existing services. Currently, Seerr supports Sonarr and Radarr. More to come!
  • Jellyfin/Emby/Plex library scan, to keep track of the titles which are already available.
  • Customizable request system, which allows users to request individual seasons or movies in a friendly, easy-to-use interface.
  • Incredibly simple request management UI. Don’t dig through the app to simply approve recent requests!
  • Granular permission system.
  • Support for various notification agents.
  • Mobile-friendly design, for when you need to approve requests on the go!
  • Support for watchlisting & blacklisting media.

With more features on the way! Check out our issue tracker to see the features which have already been requested.

Getting Started

Check out our documentation for instructions on how to install and run Seerr:

https://docs.seerr.dev/getting-started/

Preview

<img src="./public/preview.jpg">

Support

API Documentation

You can access the API documentation from your local Seerr install at http://localhost:5055/api-docs

Community

You can ask questions, share ideas, and more in GitHub Discussions.

If you would like to chat with other members of our growing community, join the Seerr Discord server!

Our Code of Conduct applies to all Seerr community channels.

Contributing

You can help improve Seerr too! Check out our Contribution Guide to get started.

Contributors ✨

Contributors

Become a Backer Become a Sponsor

mineos latest

MineOS

MineOS is a specialized server management platform designed for hosting Minecraft servers, offering an intuitive web-based interface to simplify tasks such as creating, starting, stopping, and backing up servers. It supports multiple Minecraft server types, including Vanilla, Spigot, Paper, Forge, and others, and provides robust tools for scheduling, monitoring, and log management. Built to run on Linux-based systems.

Installation/Setup

Docker

Note: This docker image is an updated version of hexparrot/mineos modified to use JDK 21 as required since the 24w14a snapshot released in April.

Using docker compose (Recommended):

services:
  mineos:
    container_name: mineos
    image: enayet123/mineos:latest
    restart: unless-stopped
    stop_grace_period: 5m
    ports:
      - '8443:8443'
      - 25565-25570:25565-25570/tcp
      - 25565-25570:25565-25570/udp
    environment:
      - SERVER_PORT=8443
      - USE_HTTPS="false"
      - USER_NAME=username
      - USER_PASSWORD=password
      - USER_UID=1000
    volumes:
      - /path/to/folder/:/var/games/minecraft/

Using docker CLI:

docker run -d \
  --name mineos \
  --restart unless-stopped \
  --stop-timeout 300 \
  -p 8443:8443 \
  -p 25565-25570:25565-25570/tcp \
  -p 25565-25570:25565-25570/udp \
  -e SERVER_PORT=8443 \
  -e USE_HTTPS="false" \
  -e USER_NAME=username \
  -e USER_PASSWORD=password \
  -e USER_UID=1000 \
  -v /path/to/folder/:/var/games/minecraft/ \
  enayet123/mineos:latest

Host machine

Installing directly onto the host machine:

curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get update
apt-get install -y nodejs git rdiff-backup screen build-essential openjdk-21-jdk
mkdir -p /usr/games
cd /usr/games
git clone https://github.com/hexparrot/mineos-node.git minecraft
cd minecraft
chmod +x generate-sslcert.sh
./generate-sslcert.sh
cp mineos.conf /etc/mineos.conf
npm install
Variable Description
SERVER_PORT The port number used by the MineOS web interface.
USE_HTTPS Determines whether the web interface uses HTTPS ("true") or HTTP ("false").
USER_NAME The username for logging into the MineOS web interface.
USER_PASSWORD The password for the MineOS web interface login.
USER_UID The user ID (UID) assigned to the MineOS user inside the container, matching your system’s.

First run

  1. Access the WebUI for the service by navigating to <host-ip>:8443/admin/index.html.

Note: If you are running MineOS on the same machine you can use localhost:8443.

  1. Login using the credentials set in USER_NAME and USER_PASSWORD or using your OS credentials for a host machine setup.
  2. Select “Profiles” and download a desired version.
  3. Select “Create New Server” and fill in the details, provide at least the “Server Name”.
  4. Ensure the “Currently Selected Server” at the top is your deisred server and navigate to the “Server Status” page.
  5. Select a profile using the dropdown and select a runnable jar using the dropdown.
  6. Press “Start” and accept the EULA if prompted
  7. Navigate to “logs/latest.log” to view log output

FAQ’s

  • How do I create another user for MineOS? MineOS uses the hosts credentials so you would need to create a new user using adduser <username> however if this is done in the docker container the user will be lost during a container restart. To keep the new user you would need to ensure the /etc/passwd file persists during a restart by adding it to the volumes section in your docker compose or -v in your docker run command.

It is also possible to use entrypoint in your docker compose file but this may introduce other issues.

Disclaimer

This application is provided “as is” without any warranties or guarantees of any kind, either express or implied. The use of this application is at your own risk. The developers assume no liability for any damages, losses, or issues, including but not limited to data loss, system malfunctions, or financial impacts, that may arise from the use or misuse of this application.

By using this application, you agree to take full responsibility for any outcomes and understand that the developers are not liable for any consequences resulting from its use. Always test the application in a controlled environment before deploying it in production.

docker run -d --name mineos --restart unless-stopped --stop-timeout 300 -p 8443:8443 -p 25565-25570:25565-25570/tcp -p 25565-25570:25565-25570/udp -e SERVER_PORT=8443 -e USE_HTTPS="false" -e USER_NAME=username -e USER_PASSWORD=password -e USER_UID=1000 -v /path/to/folder/:/var/games/minecraft/ enayet123/mineos:latest
namecheap-dyndns latest, v1.0

Namecheap-DynDNS

A simple containerised dynamic DNS updater for Namecheap

Namecheap-DynDNS utilises Namecheaps DynDNS REST API

Installation/Setup

Docker

The docker image is available and can be pulled from Docker Hub: enayet123/namecheap-dyndns

Note: DOMAIN, DYNAMIC_DNS_PASSWORD and SUBDOMAINS are required environment variables

docker compose:

services:
  namecheap:
    image: enayet123/namecheap-dyndns:latest
    container_name: namecheap
    restart: unless-stopped
    environment:
      - DOMAIN=your.domain.com
      - DYNAMIC_DNS_PASSWORD=password
      - SUBDOMAINS=subdomain,portal,admin
      - CHECK_INTERVAL_SECONDS=3600

Docker CLI:

docker run -d \
  --name=namecheap \
  -e DOMAIN=your.domain.com \
  -e DYNAMIC_DNS_PASSWORD=password \
  -e SUBDOMAINS=@,subdomain,portal,admin \ # '@' updates the root domain
  -e CHECK_INTERVAL_SECONDS=3600 \
  --restart unless-stopped \
  enayet123/namecheap-dyndns:latest

Python

Note: The following steps assume you already have python installed in your environment.

Clone the repository to a location of your choice

git clone git@github.com:enayet123/Namecheap-DynDNS.git
cd Namecheap-DynDNS

Provide the required environment variables and run the application

DOMAIN=your.domain.com DYNAMIC_DNS_PASSWORD=password SUBDOMAINS=subdomain,portal,admin CHECK_INTERVAL_SECONDS=3600 python main.py

Environment Variables

All variables are optional however providing none will result in the application quitting

Variable Description
DOMAIN The domain you want to dynamically update the IP address for
DYNAMIC_DNS_PASSWORD Your namecheap DynDNS password found under Advanced DNS
SUBDOMAINS A list of subdomains to update
CHECK_INTERVAL_SECONDS The time interval between IP address checks (optional)
docker run -d --name=namecheap -e DOMAIN=your.domain.com -e DYNAMIC_DNS_PASSWORD=password -e SUBDOMAINS=@,subdomain,portal,admin -e CHECK_INTERVAL_SECONDS=3600 --restart unless-stopped enayet123/namecheap-dyndns:latest
qsequencer latest, v1.0

qSequencer

A companion application for qBittorrent to handle sequential data checking and improving the performance on hard drives by reducing the likiness of seek thrashing and random seek latency.

Note: You must have Pre-allocate disk space for all files enabled in qBittorrent under the Downloads section. This prevents data fragmentation and improves sequential file read time

Installation/Setup

Docker

The docker image is available and can be pulled from Docker Hub: enayet123/qsequencer

Note: All environment variables associated with the Starr service you wish to manage must be provided.

Using docker compose is the recommended way to setup qSequencer e.g.

services:
  qsequencer:
    image: enayet123/qsequencer:latest
    container_name: qsequencer
    restart: unless-stopped
    environment:
      - URL=http://192.168.1.1:8090
      - USERNAME=
      - PASSWORD=

Using docker CLI as an alternative

docker run -d \
  --name=qsequencer \
  -e URL=http://192.168.1.1:8090 \
  -e USERNAME=user \
  -e PASSWORD=pass \
  --restart unless-stopped \
  enayet123/qsequencer:latest

Python

Note: The following steps assume you already have python installed.

Clone the repository to a location of your choice

git clone git@github.com:enayet123/qSequencer.git
cd qSequencer

Provide the required environment variables and run the application

URL=http://192.168.1.1:8090 USERNAME=user PASSWORD=pass

Environment Variables

All variables are optional however providing none will result in the application quitting

Variable Description
URL The URL used to locate your qBittorrent instance
USERNAME The username to access your qBittorrent WebUI (Tools -> Options -> WebUI -> Authentication)
PASSWORD The password to access your qBittorrent WebUI (Tools -> Options -> WebUI -> Authentication)

Disclaimer

This application is provided “as is” without any warranties or guarantees of any kind, either express or implied. The use of this application is at your own risk. The developers assume no liability for any damages, losses, or issues, including but not limited to data loss, system malfunctions, or financial impacts, that may arise from the use or misuse of this application.

By using this application, you agree to take full responsibility for any outcomes and understand that the developers are not liable for any consequences resulting from its use. Always test the application in a controlled environment before deploying it in production.

docker run -d --name=qsequencer -e URL=http://192.168.1.1:8090 -e USERNAME=user -e PASSWORD=pass --restart unless-stopped enayet123/qsequencer:latest
texterr latest, v1.0.0, v1.1.0

Texterr – Jellyseer SMS Notification Service

Textie is a lightweight Python service that listens for Jellyseer notifications and sends SMS alerts via The SMS Works API. It supports a web interface to manage username → phone number mappings and sends SMS/MMS messages when requested media becomes available.


Features

  • Receives Jellyseer webhook notifications (MEDIA_AVAILABLE) for movies and TV shows.
  • Sends SMS via The SMS Works API using a pre-generated JWT token.
  • Maintains a username → phone number mapping editable through a web UI.
  • Sends media info (event, subject, image) in the SMS message.
  • Dockerized for easy deployment.
  • Supports .env configuration and persistent mapping storage.

Table of Contents

  1. Installation
  2. Configuration
  3. Usage
  4. Docker
  5. Webhook Setup
  6. License

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/textie.git
cd textie
  1. Create a Python virtual environment (optional):
python3 -m venv venv
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt

Configuration

  1. Environment variables (stored in .env):
SMSWORKS_JWT_TOKEN=your_jwt_token_here
SENDER_NAME=Jellyseer
  1. Username → Phone Number Mapping
  • Stored in mappings.json.
  • Example:
{
  "Someone": "+44123456789",
  "Else": "+44987654321"
}
  • Can be edited via the web UI.

Usage

Run the service locally:

python main.py

  • Web interface: http://localhost:8080/ to edit mappings.
  • Webhook endpoint: http://localhost:8080/webhook

Docker

Run container

docker run -d -p 8080:8080 \ --env-file .env \ -v $(pwd)/mappings.json:/app/mappings.json \ registry.myhub.co.uk/textie:latest

The container uses .env.example and mappings.json.example if no files are mounted.

Webhook Setup in Jellyseer

  1. Go to Settings → Notifications → Add Notification Agent → Webhook.
  2. Use the URL: POST http://<your_server_ip>:8080/webhook
  3. Enable notifications for Request Available events.

Notes

  • The service expects pre-generated JWT tokens from The SMS Works API.

  • Images from Jellyseer are sent as plain text URLs in SMS. MMS support can be added.

  • This service is designed to run internally, no external authentication required.

docker run -d -p 8080:8080 --env-file .env -v /path/to/folder/mappings.json:/app/mappings.json registry.enayet.co.uk/texterr:latest