···
1
+
import ../make-test-python.nix ({pkgs, ...}:
4
+
meta.maintainers = with pkgs.lib.maintainers; [ izorkin ];
11
+
{ address = "192.168.2.10"; prefixLength = 24; }
14
+
firewall.allowedTCPPorts = [ 5432 6379 ];
17
+
services.postgresql = {
21
+
hostnossl peertube_local peertube_test 192.168.2.11/32 md5
23
+
initialScript = pkgs.writeText "postgresql_init.sql" ''
24
+
CREATE ROLE peertube_test LOGIN PASSWORD '0gUN0C1mgST6czvjZ8T9';
25
+
CREATE DATABASE peertube_local TEMPLATE template0 ENCODING UTF8;
26
+
GRANT ALL PRIVILEGES ON DATABASE peertube_local TO peertube_test;
27
+
\connect peertube_local
28
+
CREATE EXTENSION IF NOT EXISTS pg_trgm;
29
+
CREATE EXTENSION IF NOT EXISTS unaccent;
36
+
requirePass = "turrQfaQwnanGbcsdhxy";
40
+
server = { pkgs, ... }: {
43
+
"peertube/password-posgressql-db".text = ''
44
+
0gUN0C1mgST6czvjZ8T9
46
+
"peertube/password-redis-db".text = ''
47
+
turrQfaQwnanGbcsdhxy
55
+
{ address = "192.168.2.11"; prefixLength = 24; }
59
+
192.168.2.11 peertube.local
61
+
firewall.allowedTCPPorts = [ 9000 ];
64
+
services.peertube = {
66
+
localDomain = "peertube.local";
67
+
enableWebHttps = false;
70
+
host = "192.168.2.10";
71
+
name = "peertube_local";
72
+
user = "peertube_test";
73
+
passwordFile = "/etc/peertube/password-posgressql-db";
77
+
host = "192.168.2.10";
78
+
passwordFile = "/etc/peertube/password-redis-db";
83
+
hostname = "0.0.0.0";
86
+
name = "PeerTube Test Server";
93
+
environment.systemPackages = [ pkgs.jq ];
97
+
{ address = "192.168.2.12"; prefixLength = 24; }
101
+
192.168.2.11 peertube.local
111
+
database.wait_for_unit("postgresql.service")
112
+
database.wait_for_unit("redis.service")
114
+
database.wait_for_open_port(5432)
115
+
database.wait_for_open_port(6379)
117
+
server.wait_for_unit("peertube.service")
118
+
server.wait_for_open_port(9000)
120
+
# Check if PeerTube is running
121
+
client.succeed("curl --fail http://peertube.local:9000/api/v1/config/about | jq -r '.instance.name' | grep 'PeerTube\ Test\ Server'")
125
+
database.shutdown()