51 lines
4.0 KiB
Nix
51 lines
4.0 KiB
Nix
{ config, containerCfg, pkgs, lib, builder, name,... }:
|
|
let
|
|
version = "latest";
|
|
serverCfg = config.syscfg.server;
|
|
in {
|
|
sops = false;
|
|
db = false;
|
|
paths = [
|
|
{
|
|
path = "${serverCfg.configPath}/calibre-web/";
|
|
mode = "0755";
|
|
dirs = ["library" "ingest"];
|
|
}
|
|
];
|
|
|
|
containers = {
|
|
server = builder.mkContainer {
|
|
subdomain = containerCfg.subdomain;
|
|
image = "crocodilestick/calibre-web-automated:${version}";
|
|
port = 8083;
|
|
# secret = name;
|
|
extraEnv = {
|
|
CWA_PORT_OVERRIDE = "8083";
|
|
|
|
PUID = "1000";
|
|
PGID = "1000";
|
|
#HARDCOVER_TOKEN= ....
|
|
TRUSTED_PROXY_COUNT= "1";
|
|
};
|
|
extraLabels = {
|
|
"traefik.http.routers.${containerCfg.subdomain}-login.rule" = "Host(`${containerCfg.subdomain}.${serverCfg.domain}`)";
|
|
"traefik.http.routers.${containerCfg.subdomain}-login.middlewares" = if (serverCfg.containers?authentik) then "authentik" else "";
|
|
"traefik.http.routers.${containerCfg.subdomain}-login.priority" = "100";
|
|
"traefik.http.routers.${containerCfg.subdomain}-login.entrypoints" = "web-secure";
|
|
"traefik.http.routers.${containerCfg.subdomain}-login.tls" = "true";
|
|
};
|
|
overrides = {
|
|
cmd = [ ];
|
|
volumes = [
|
|
"${serverCfg.configPath}/calibre-web/library/:/calibre-library"
|
|
"${serverCfg.configPath}/calibre-web/ingest/:/cwa-book-ingest"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
# curl 'https://books.test.helcel.net/admin/ajaxconfig' \
|
|
# -X POST
|
|
# -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8'
|
|
# --data-raw 'csrf_token=${CSRF_TOKEN}&config_certfile=&config_keyfile=&config_updatechannel=0&config_trustedhosts=&config_log_level=20&config_logfile=%2Fdev%2Fstdout&config_access_logfile=%2Fconfig%2Faccess.log&config_embed_metadata=on&config_uploading=on&config_upload_formats=m4b%2Cacsm%2Cdoc%2Cpdf%2Cmp3%2Codt%2Ccbr%2Crtf%2Clit%2Cprc%2Cm4a%2Cdjv%2Cfb2%2Copus%2Cdocx%2Cazw3%2Cepub%2Cdjvu%2Cwav%2Ccb7%2Ccbz%2Cmp4%2Ckfx-zip%2Cmobi%2Ccbt%2Cogg%2Ckfx%2Ckepub%2Ctxt%2Cazw%2Chtml%2Cflac&config_external_port=8083&config_goodreads_api_key=&config_hardcover_token=&config_use_https=on&config_reverse_proxy_login_header_name=&config_login_type=1&config_ldap_provider_url=sso.test.helcel.net&config_ldap_port=389&config_ldap_encryption=0&config_ldap_cacert_path=&config_ldap_cert_path=&config_ldap_key_path=&config_ldap_authentication=2&config_ldap_serv_username=cn%3Dldap-service%2Cou%3Dusers%2C%24%7BLDAP_DC_DOMAIN%7D&config_ldap_serv_password_e=%24DEFAULT_LDAP_PASSWORD&config_ldap_dn=%24%7BLDAP_DC_DOMAIN%7D&config_ldap_user_object=(memberOf%3Dcn%3Dcloud%2Cou%3Dgroups%2C%24%7BLDAP_DC_DOMAIN%7D)&config_ldap_openldap=on&config_ldap_auto_create_users=on&config_ldap_group_object_filter=(memberOf%3Dcn%3Dcloud%2Cou%3Dgroups%2C%24%7BLDAP_DC_DOMAIN%7D)&config_ldap_group_name=cloud&config_ldap_group_members_field=memberUid&ldap_import_user_filter=0&config_ldap_member_user_object=&config_generic_oauth_metadata_url=&config_generic_oauth_server_url=&config_generic_oauth_auth_url=&config_generic_oauth_token_url=&config_generic_oauth_userinfo_url=&config_generic_oauth_scope=email+openid+profile&config_oauth_redirect_host=&config_generic_oauth_client_id=&config_generic_oauth_client_secret=&config_generic_oauth_username_mapper=preferred_username&config_generic_oauth_email_mapper=email&config_generic_oauth_admin_group=admin&config_generic_oauth_login_button=OpenID+Connect&config_1_oauth_client_id=&config_1_oauth_client_secret=&config_2_oauth_client_id=&config_2_oauth_client_secret=&config_binariesdir=%2Fusr%2Fbin&config_calibre=&config_kepubifypath=%2Fusr%2Fbin%2Fkepubify&config_rarfile_location=%2Fusr%2Fbin%2Funrar&config_enable_oauth_group_admin_management=on&config_ratelimiter=on&config_limiter_uri=&config_limiter_options=&config_check_extensions=on&config_session=1&config_password_policy=on&config_password_min_length=8&config_password_number=on&config_password_lower=on&config_password_upper=on&config_password_character=on&config_password_special=on'
|
|
} |