- systemd.services.diaspora = {
- description = "Diaspora";
- wantedBy = [ "multi-user.target" ];
- after = [
- "network.target" "redis.service" "postgresql.service"
- ];
- wants = [
- "redis.service" "postgresql.service"
- ];
-
- environment.RAILS_ENV = "production";
- environment.BUNDLE_PATH = "${diaspora.gems}/${diaspora.gems.ruby.gemPath}";
- environment.BUNDLE_GEMFILE = "${diaspora.gems.confFiles}/Gemfile";
- environment.EYE_SOCK = "${socketsDir}/eye.sock";
- environment.EYE_PID = "${socketsDir}/eye.pid";
-
- path = [ diaspora.gems pkgs.nodejs diaspora.gems.ruby pkgs.curl pkgs.which pkgs.gawk ];
-
- preStart = ''
- ./bin/bundle exec rails db:migrate
- '';
-
- script = ''
- exec ${diaspora}/script/server
- '';
-
- serviceConfig = {
- User = "diaspora";
- PrivateTmp = true;
- Restart = "always";
- Type = "simple";
- WorkingDirectory = diaspora;
- StandardInput = "null";
- KillMode = "control-group";
- };
-
- unitConfig.RequiresMountsFor = varDir;
- };
-
- system.activationScripts.diaspora = {
- deps = [ "users" ];
- text = ''
- install -m 0755 -o diaspora -g diaspora -d ${socketsDir}
- install -m 0755 -o diaspora -g diaspora -d ${varDir} \
- ${varDir}/uploads ${varDir}/tmp \
- ${varDir}/log
- install -m 0700 -o diaspora -g diaspora -d ${varDir}/tmp/pids
- if [ ! -f ${varDir}/schedule.yml ]; then
- echo "{}" | $wrapperDir/sudo -u diaspora tee ${varDir}/schedule.yml
- fi
- '';
+ services.diaspora = {
+ enable = true;
+ package = pkgs.webapps.diaspora.override { ldap = true; };
+ dataDir = "/var/lib/diaspora_immae";
+ adminEmail = "diaspora@tools.immae.eu";
+ configDir = "/var/secrets/webapps/diaspora";