-{ env, makeWrapper, stdenv, writeText, fetchurl, buildBowerComponents, fetchedGit, fetchedGithub, which, python3, pkgs, automake, autoconf, nodejs, nodePackages, git, cacert }:
+{ env, makeWrapper, stdenv, writeText, fetchurl, buildBowerComponents, fetchedGit, fetchedGithub, which, python36, pkgs, automake, autoconf, nodejs, nodePackages, git, cacert }:
let
plugins = {
basicsearch = stdenv.mkDerivation (fetchedGithub ./mediagoblin-plugin-basicsearch.json // rec {
url = "mirror://pypi/P/PasteScript/${name}.tar.gz";
sha256 = "1h3nnhn45kf4pbcv669ik4faw04j58k8vbj1hwrc532k0nc28gy0";
};
- propagatedBuildInputs = with self; [ six paste PasteDeploy argparse ];
+ propagatedBuildInputs = with self; [ six paste PasteDeploy ];
});
};
in
- python3.override { inherit packageOverrides; };
+ python36.override { inherit packageOverrides; };
pythonEnv = python-pkgs: with python-pkgs; [
waitress alembic dateutil wtforms pybcrypt
pytest pytest_xdist werkzeug celery
sqlalchemy itsdangerous pytz sphinx six
oauthlib unidecode jsonschema PasteDeploy
requests PyLD exifread
- typing pasteScript
+ typing pasteScript lxml
# For images plugin
pillow
# For video plugin
url_scheme = https
'';
- mediagoblin_local = writeText "mediagoblin_local.ini" ''
- [DEFAULT]
- data_basedir = "${varDir}"
+ keys.tools-mediagoblin = {
+ destDir = "/run/keys/webapps";
+ user = "mediagoblin";
+ group = "mediagoblin";
+ permissions = "0400";
+ text = ''
+ [DEFAULT]
+ data_basedir = "${varDir}"
- [mediagoblin]
- direct_remote_path = /mgoblin_static/
- email_sender_address = "mediagoblin@mail.immae.eu"
+ [mediagoblin]
+ direct_remote_path = /mgoblin_static/
+ email_sender_address = "mediagoblin@tools.immae.eu"
- #sql_engine = sqlite:///%(data_basedir)s/mediagoblin.db
- sql_engine = ${env.psql_url}
+ #sql_engine = sqlite:///%(data_basedir)s/mediagoblin.db
+ sql_engine = ${env.psql_url}
- email_debug_mode = false
- allow_registration = false
- allow_reporting = true
+ email_debug_mode = false
+ allow_registration = false
+ allow_reporting = true
- theme = airymodified
+ theme = airymodified
- user_privilege_scheme = "uploader,commenter,reporter"
+ 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/
+ # 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:queuestore]
+ base_dir = %(data_basedir)s/media/queue
- [storage:publicstore]
- base_dir = %(data_basedir)s/media/public
- base_url = /mgoblin_media/
+ [storage:publicstore]
+ base_dir = %(data_basedir)s/media/public
+ base_url = /mgoblin_media/
- [celery]
- CELERY_RESULT_DBURI = ${env.redis_url}
- BROKER_URL = ${env.redis_url}
- CELERYD_CONCURRENCY = 1
+ [celery]
+ CELERY_RESULT_DBURI = ${env.redis_url}
+ BROKER_URL = ${env.redis_url}
+ CELERYD_CONCURRENCY = 1
- [plugins]
- [[mediagoblin.plugins.geolocation]]
- [[mediagoblin.plugins.ldap]]
- [[[immae.eu]]]
- LDAP_SERVER_URI = 'ldaps://ldap.immae.eu:636'
- LDAP_SEARCH_BASE = 'dc=immae,dc=eu'
- LDAP_BIND_DN = 'cn=mediagoblin,ou=services,dc=immae,dc=eu'
- LDAP_BIND_PW = '${env.ldap.password}'
- LDAP_SEARCH_FILTER = '(&(memberOf=cn=users,cn=mediagoblin,ou=services,dc=immae,dc=eu)(uid={username}))'
- EMAIL_SEARCH_FIELD = 'mail'
- [[mediagoblin.plugins.basicsearch]]
- [[mediagoblin.plugins.piwigo]]
- [[mediagoblin.plugins.processing_info]]
- [[mediagoblin.media_types.image]]
- [[mediagoblin.media_types.video]]
- '';
+ [plugins]
+ [[mediagoblin.plugins.geolocation]]
+ [[mediagoblin.plugins.ldap]]
+ [[[immae.eu]]]
+ LDAP_SERVER_URI = 'ldaps://ldap.immae.eu:636'
+ LDAP_SEARCH_BASE = 'dc=immae,dc=eu'
+ LDAP_BIND_DN = 'cn=mediagoblin,ou=services,dc=immae,dc=eu'
+ LDAP_BIND_PW = '${env.ldap.password}'
+ LDAP_SEARCH_FILTER = '(&(memberOf=cn=users,cn=mediagoblin,ou=services,dc=immae,dc=eu)(uid={username}))'
+ EMAIL_SEARCH_FIELD = 'mail'
+ [[mediagoblin.plugins.basicsearch]]
+ [[mediagoblin.plugins.piwigo]]
+ [[mediagoblin.plugins.processing_info]]
+ [[mediagoblin.media_types.image]]
+ [[mediagoblin.media_types.video]]
+ '';
+ };
pythonRoot =
with pkgs.gst_all_1;
stdenv.mkDerivation {
--prefix GI_TYPELIB_PATH : ${typelib_paths}
find . -type f -exec sed -i "s|$mediagoblin|$out|g" {} \;
ln -s ${paste_local} ./paste_local.ini
- ln -s ${mediagoblin_local} ./mediagoblin_local.ini
+ ln -s /run/keys/webapps/tools-mediagoblin ./mediagoblin_local.ini
ln -sf ${varDir} ./user_dev
'';
};