X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Ftools%2Fmgoblin%2Fdefault.nix;fp=modules%2Fprivate%2Fwebsites%2Ftools%2Fmgoblin%2Fdefault.nix;h=0000000000000000000000000000000000000000;hp=1e5f5a0b8e501ca15425c85b2f530e076fb85579;hb=1a64deeb894dc95e2645a75771732c6cc53a79ad;hpb=fa25ffd4583cc362075cd5e1b4130f33306103f0 diff --git a/modules/private/websites/tools/mgoblin/default.nix b/modules/private/websites/tools/mgoblin/default.nix deleted file mode 100644 index 1e5f5a0..0000000 --- a/modules/private/websites/tools/mgoblin/default.nix +++ /dev/null @@ -1,134 +0,0 @@ -{ lib, pkgs, config, ... }: -let - env = config.myEnv.tools.mediagoblin; - cfg = config.myServices.websites.tools.mediagoblin; - mcfg = config.services.mediagoblin; -in { - options.myServices.websites.tools.mediagoblin = { - enable = lib.mkEnableOption "enable mediagoblin's website"; - }; - - config = lib.mkIf cfg.enable { - secrets.keys."webapps/tools-mediagoblin" = { - user = "mediagoblin"; - group = "mediagoblin"; - permissions = "0400"; - text = - let - psql_url = with env.postgresql; "postgresql://${user}:${password}@:${port}/${database}?host=${socket}"; - redis_url = with env.redis; "redis+socket://${socket}?virtual_host=${db}"; - in - '' - [DEFAULT] - data_basedir = "${mcfg.dataDir}" - - [mediagoblin] - direct_remote_path = /mgoblin_static/ - email_sender_address = "mediagoblin@tools.immae.eu" - - #sql_engine = sqlite:///%(data_basedir)s/mediagoblin.db - sql_engine = ${psql_url} - - email_debug_mode = false - allow_registration = false - allow_reporting = true - - theme = airymodified - - user_privilege_scheme = "uploader,commenter,reporter" - - # We need to redefine them here since we override data_basedir - # cf /usr/share/webapps/mediagoblin/mediagoblin/config_spec.ini - workbench_path = %(data_basedir)s/media/workbench - crypto_path = %(data_basedir)s/crypto - theme_install_dir = %(data_basedir)s/themes/ - theme_linked_assets_dir = %(data_basedir)s/theme_static/ - plugin_linked_assets_dir = %(data_basedir)s/plugin_static/ - - [storage:queuestore] - base_dir = %(data_basedir)s/media/queue - - [storage:publicstore] - base_dir = %(data_basedir)s/media/public - base_url = /mgoblin_media/ - - [celery] - CELERY_RESULT_DBURI = ${redis_url} - BROKER_URL = ${redis_url} - CELERYD_CONCURRENCY = 1 - - [plugins] - [[mediagoblin.plugins.geolocation]] - [[mediagoblin.plugins.ldap]] - [[[immae.eu]]] - LDAP_SERVER_URI = 'ldaps://${env.ldap.host}:636' - LDAP_SEARCH_BASE = '${env.ldap.base}' - LDAP_BIND_DN = '${env.ldap.dn}' - LDAP_BIND_PW = '${env.ldap.password}' - LDAP_SEARCH_FILTER = '${env.ldap.filter}' - EMAIL_SEARCH_FIELD = 'mail' - [[mediagoblin.plugins.basicsearch]] - [[mediagoblin.plugins.piwigo]] - [[mediagoblin.plugins.processing_info]] - [[mediagoblin.media_types.image]] - [[mediagoblin.media_types.video]] - ''; - }; - - users.users.mediagoblin.extraGroups = [ "keys" ]; - - services.mediagoblin = { - enable = true; - package = pkgs.webapps.mediagoblin.withPlugins (p: [p.basicsearch]); - configFile = config.secrets.fullPaths."webapps/tools-mediagoblin"; - }; - services.filesWatcher.mediagoblin-web = { - restart = true; - paths = [ mcfg.configFile ]; - }; - services.filesWatcher.mediagoblin-celeryd = { - restart = true; - paths = [ mcfg.configFile ]; - }; - - services.websites.env.tools.modules = [ - "proxy" "proxy_http" - ]; - users.users.wwwrun.extraGroups = [ "mediagoblin" ]; - services.websites.env.tools.vhostConfs.mgoblin = { - certName = "eldiron"; - addToCerts = true; - hosts = ["mgoblin.immae.eu" ]; - root = null; - extraConfig = [ '' - Alias /mgoblin_media ${mcfg.dataDir}/media/public - - Options -Indexes +FollowSymLinks +MultiViews +Includes - Require all granted - - - Alias /theme_static ${mcfg.dataDir}/theme_static - - Options -Indexes +FollowSymLinks +MultiViews +Includes - Require all granted - - - Alias /plugin_static ${mcfg.dataDir}/plugin_static - - Options -Indexes +FollowSymLinks +MultiViews +Includes - Require all granted - - - ProxyPreserveHost on - ProxyVia On - ProxyRequests Off - ProxyPass /mgoblin_media ! - ProxyPass /theme_static ! - ProxyPass /plugin_static ! - ProxyPassMatch ^/.well-known/acme-challenge ! - ProxyPass / unix://${mcfg.sockets.paster}|http://mgoblin.immae.eu/ - ProxyPassReverse / unix://${mcfg.sockets.paster}|http://mgoblin.immae.eu/ - '' ]; - }; - }; -}