aboutsummaryrefslogtreecommitdiff
path: root/manifests/yacy.pp
blob: e5b2f5e831e4bafc1a23aee1407984ef9944dd4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class nodo::yacy inherits nodo::vserver {
  include tor::daemon

  # It's important to use a subdir from the tor datadir
  # to ease backup/restore procedures as we don't mix
  # hidden service data with other tor files.
  if !defined(File["$tor::daemon::data_dir/hidden"]) {
    file { "$tor::daemon::data_dir/hidden":
      ensure => directory, 
      owner  => 'debian-tor',
      group  => 'debian-tor',
      mode   => 0700,
    }
  }

  package { 'yacy':
    ensure => installed,
  }

  service { 'yacy':
    ensure  => running,
    require => Package['yacy'],
  }

  # gracefully restart yacy everyday
  cron { "yacy-restart":
    command  => "/etc/init.d/yacy restart > /dev/null 2>&1",
    user     => root,
    hour     => "*/4",
    minute   => "0",
    ensure   => present,
    require  => Service['yacy'],
  }

  tor::daemon::hidden_service { 'yacy':
    ports    => [ '8090 127.0.0.1:8090', '80 127.0.0.1:8090' ],
    data_dir => "$tor::daemon::data_dir/hidden",
    ensure   => present,
  }
}