45 lines
1.1 KiB
Nix
45 lines
1.1 KiB
Nix
|
{
|
||
|
pkgs ? import <nixpkgs> {}
|
||
|
}:
|
||
|
|
||
|
with pkgs; mkShell {
|
||
|
shellHook = ''
|
||
|
PEERTUBE=${peertube}
|
||
|
function deploy {
|
||
|
rm -rf /tmp/peertube
|
||
|
mkdir -p /tmp/peertube/{config,storage}
|
||
|
cp -r $PEERTUBE /tmp/peertube/code
|
||
|
mkdir /tmp/psql
|
||
|
initdb -D /tmp/psql/ --no-locale --encoding=UTF8
|
||
|
pg_ctl -D /tmp/psql -l logfile -o "--unix_socket_directories='$PWD'" start
|
||
|
createdb -h $PWD peertube
|
||
|
psql -h $PWD peertube -c "CREATE EXTENSION pg_trgm;"
|
||
|
psql -h $PWD peertube -c "CREATE EXTENSION unaccent;"
|
||
|
cp $PEERTUBE/config/default.yaml /tmp/peertube/config/default.yaml
|
||
|
cp production.yaml /tmp/peertube/config/production.yaml
|
||
|
echo "edit production.yaml"
|
||
|
# redis-server
|
||
|
echo "Launch redis-server in a separate shell"
|
||
|
cd /tmp/peertube/code
|
||
|
export NODE_ENV=production
|
||
|
export NODE_CONFIG_DIR=/tmp/peertube/config
|
||
|
node dist/server.js
|
||
|
# pg_ctl -D /tmp/psql stop
|
||
|
# stop redis
|
||
|
}
|
||
|
'';
|
||
|
nativeBuildInputs = [
|
||
|
peertube
|
||
|
postgresql_14
|
||
|
curl
|
||
|
unzip
|
||
|
nodejs-16_x
|
||
|
yarn
|
||
|
ffmpeg
|
||
|
openssl
|
||
|
redis
|
||
|
gcc
|
||
|
nginx
|
||
|
];
|
||
|
}
|