bump library (#289)

This commit is contained in:
Stavros Kois
2024-08-29 21:04:16 +03:00
committed by GitHub
parent 60b89cbf95
commit eca78f8916
219 changed files with 2400 additions and 214 deletions

View File

@@ -11,7 +11,7 @@ keywords:
- finance
- budget
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -33,4 +33,4 @@ sources:
- https://hub.docker.com/r/actualbudget/actual-server
title: Actual Budget
train: community
version: 1.0.6
version: 1.0.7

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -19,7 +19,7 @@ keywords:
- dns
- adblock
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -40,4 +40,4 @@ sources:
- https://hub.docker.com/r/adguard/adguardhome
title: AdGuard Home
train: community
version: 1.0.8
version: 1.0.9

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -10,7 +10,7 @@ keywords:
- media
- audiobook
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -33,4 +33,4 @@ sources:
- https://github.com/advplyr/audiobookshelf
title: Audiobookshelf
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -11,7 +11,7 @@ keywords:
- torrent
- usenet
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -31,4 +31,4 @@ sources:
- https://github.com/autobrr/autobrr
title: Autobrr
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -11,7 +11,7 @@ keywords:
- media
- subtitles
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -31,4 +31,4 @@ sources:
- https://github.com/morpheus65535/bazarr
title: Bazarr
train: community
version: 1.0.9
version: 1.0.10

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -12,7 +12,7 @@ keywords:
- hard-drive
- chia
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -30,4 +30,4 @@ sources:
- https://www.chia.net/
title: Chia
train: community
version: 1.0.3
version: 1.0.4

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -20,7 +20,7 @@ keywords:
- anti-virus
- clamav
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -38,4 +38,4 @@ sources:
- https://www.clamav.net/
title: ClamAV
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -12,7 +12,7 @@ keywords:
- cloudflare
- tunnel
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -30,4 +30,4 @@ sources:
- https://hub.docker.com/r/cloudflare/cloudflared
title: Cloudflared
train: community
version: 1.0.8
version: 1.0.9

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -9,7 +9,7 @@ icon: https://media.sys.truenas.net/apps/dashy/icons/icon.png
keywords:
- dashboard
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -29,4 +29,4 @@ sources:
- https://github.com/lissy93/dashy
title: Dashy
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -10,7 +10,7 @@ keywords:
- ddns-updater
- ddns
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -30,4 +30,4 @@ sources:
- https://hub.docker.com/r/qmcgaw/ddns-updater
title: DDNS Updater
train: community
version: 1.0.9
version: 1.0.10

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -20,7 +20,7 @@ keywords:
- torrent
- download
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -38,4 +38,4 @@ sources:
- https://deluge-torrent.org/
title: Deluge
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -11,7 +11,7 @@ keywords:
- registry
- container
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -30,4 +30,4 @@ sources:
- https://github.com/distribution/distribution
title: Distribution
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -29,7 +29,7 @@ keywords:
- docker
- compose
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -48,4 +48,4 @@ sources:
- https://github.com/louislam/dockge
title: Dockge
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -10,7 +10,7 @@ keywords:
- diagram
- whiteboard
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -32,4 +32,4 @@ sources:
- https://github.com/jgraph/drawio
title: Draw.io
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -11,7 +11,7 @@ keywords:
- files
- browser
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -33,4 +33,4 @@ sources:
- https://hub.docker.com/r/filebrowser/filebrowser
title: File Browser
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -15,7 +15,7 @@ icon: https://media.sys.truenas.net/apps/flame/icons/icon.png
keywords:
- startpage
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -34,4 +34,4 @@ sources:
- https://github.com/pawelmalak/flame
title: Flame
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -41,4 +41,4 @@ sources:
- https://hub.docker.com/r/freshrss/freshrss
title: FreshRSS
train: community
version: 1.0.6
version: 1.0.7

View File

@@ -11,7 +11,7 @@ keywords:
- index
- crawler
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -30,4 +30,4 @@ sources:
- https://fscrawler.readthedocs.io/
title: FSCrawler
train: community
version: 1.0.6
version: 1.0.7

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -13,7 +13,7 @@ keywords:
- metrics
- dashboards
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -34,4 +34,4 @@ sources:
- https://github.com/grafana
title: Grafana
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -29,7 +29,7 @@ keywords:
- video
- transcoder
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -47,4 +47,4 @@ sources:
- https://hub.docker.com/r/jlesage/handbrake
title: Handbrake
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -10,7 +10,7 @@ icon: https://media.sys.truenas.net/apps/homarr/icons/icon.svg
keywords:
- dashboard
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -31,4 +31,4 @@ sources:
- https://github.com/ajnart/homarr
title: Homarr
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -9,7 +9,7 @@ icon: https://media.sys.truenas.net/apps/homepage/icons/icon.png
keywords:
- dashboard
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -33,4 +33,4 @@ sources:
- https://github.com/benphelps/homepage
title: Homepage
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -8,7 +8,7 @@ home: https://github.com/bastienwirtz/homer
host_mounts: []
icon: https://media.sys.truenas.net/apps/homer/icons/icon.png
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -30,4 +30,4 @@ tags:
- homepage
title: Homer
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -13,7 +13,7 @@ keywords:
- file-sharing
- kubo
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -33,4 +33,4 @@ sources:
- https://ipfs.tech/
title: IPFS
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -15,7 +15,7 @@ keywords:
- media
- streaming
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -35,4 +35,4 @@ sources:
- https://jellyfin.org/
title: Jellyfin
train: community
version: 1.0.12
version: 1.0.13

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -10,7 +10,7 @@ icon: https://media.sys.truenas.net/apps/jellyseerr/icons/icon.svg
keywords:
- media
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -29,4 +29,4 @@ sources:
- https://hub.docker.com/r/fallenbagel/jellyseerr
title: Jellyseerr
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -10,7 +10,7 @@ keywords:
- automation
- ci/cd
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -31,4 +31,4 @@ sources:
- https://www.jenkins.io/
title: Jenkins
train: community
version: 1.0.2
version: 1.0.3

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -11,7 +11,7 @@ keywords:
- comic
- media
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -31,4 +31,4 @@ sources:
- https://github.com/Casvt/Kapowarr
title: Kapowarr
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -21,7 +21,7 @@ keywords:
- ebook
- manga
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -44,4 +44,4 @@ sources:
- https://www.kavitareader.com
title: Kavita
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -11,7 +11,7 @@ keywords:
- comics
- mangas
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -31,4 +31,4 @@ sources:
- https://hub.docker.com/r/gotson/komga
title: Komga
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -10,7 +10,7 @@ keywords:
- media
- music
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -31,4 +31,4 @@ sources:
- https://github.com/Lidarr/Lidarr
title: Lidarr
train: community
version: 1.0.8
version: 1.0.9

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -11,7 +11,7 @@ keywords:
- knowledge
- management
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -28,4 +28,4 @@ sources:
- https://github.com/logseq/logseq
title: Logseq
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -11,7 +11,7 @@ keywords:
- youtube-dl
- yt-dlp
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -30,4 +30,4 @@ sources:
- https://github.com/alexta69/metube
title: MeTube
train: community
version: 1.0.7
version: 1.0.8

View File

@@ -94,6 +94,8 @@ def perms_item(data, values=None, opts=None):
data.update({"mount_path": opts["mount_path"]})
volume_mount = vol_mount(data, values)
# For perms volume mount, always set read_only to false
volume_mount.update({"read_only": False})
return {
"vol_mount": volume_mount,

View File

@@ -1,6 +1,8 @@
import hashlib
import secrets
import bcrypt
import sys
import re
from . import security
@@ -22,7 +24,31 @@ def secure_string(length):
def basic_auth_header(username, password):
return f"Basic {security.htpasswd(username, password)}"
return f"Basic {basic_auth(username, password)}"
def basic_auth(username, password):
return security.htpasswd(username, password)
def bcrypt_hash(password, escape=True):
hashed = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt()).decode("utf-8")
if escape:
# Docker compose will try to expand the value, so we need to escape it
return hashed.replace("$", "$$")
return hashed
def match_regex(value, regex):
if not re.match(regex, value):
return False
return True
def must_match_regex(value, regex):
if not match_regex(value, regex):
throw_error(f"Expected [{value}] to match [{regex}]")
return value
def merge_dicts(*dicts):
@@ -81,3 +107,7 @@ def hash_data(data=""):
def get_image_with_hashed_data(images={}, name="", data=""):
return f"ix-{get_image(images, name)}-{hash_data(data)}"
def copy_dict(dict):
return dict.copy()

View File

@@ -20,7 +20,7 @@ keywords:
- world
- building
lib_version: 1.0.0
lib_version_hash: 66ead85a4b23fec4388da34e481b2041aa26171deaa90b5229f112a7ec519f2b
lib_version_hash: cf9546c485fbe89048600cccef958ecf56873aa85b5d46b3f15cfe355ff93d3b
maintainers:
- email: dev@ixsystems.com
name: truenas
@@ -38,4 +38,4 @@ sources:
- https://github.com/itzg/docker-minecraft-server
title: Minecraft
train: community
version: 1.0.7
version: 1.0.8

Some files were not shown because too many files have changed in this diff Show More