-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathmajorsilence-media-workerservice.service
51 lines (44 loc) · 2.75 KB
/
majorsilence-media-workerservice.service
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
41
42
43
44
45
46
47
48
49
50
51
[Unit]
Description=Majorsilence Media WorkerService API
Wants=network-online.target
After=network-online.target
# How to install:
# Copy /etc/systemd/system/majorsilence-media-workerservice.service
# systemctl daemon-reload
# systemctl enable majorsilence-media-workerservice.service
# systemctl start majorsilence-media-workerservice.service
[Service]
# In production use a dedicated user/group.
# sudo useradd -m media-workerservice
# To update permissions, use 'chown media-workerservice:media-workerservice -R /opt/majorsilence/media-workerservice' to take ownership of the folder and files,
# Use 'chmod +x /opt/majorsilence/media-workerservice/app' to allow execution of the executable file.
User=media-workerservice
ExecStart=/opt/majorsilence/media-workerservice/app/Majorsilence.Media.WorkerService
Restart=always
RestartSec=10 # Restart service after 10 seconds if node service crashes
StandardOutput=syslog # Output to syslog" >> /etc/systemd/system/majorsilence-media-workerservice.service
StandardError=syslog # Output to syslog" >> /etc/systemd/system/majorsilence-media-workerservice.service
SyslogIdentifier=majorsilence-media-workerservice
WorkingDirectory=/opt/majorsilence/media-workerservice/app
# https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-8.0&tabs=linux-ubuntu
KillSignal=SIGINT
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
# UploadFolder should match the upload folder of Majorsilence.Media.Web
# UploadFolder, give media-workerservice access in addition to media-web
# sudo setfacl -R -m u:media-workerservice:rwx /opt/majorsilence/media-web/data/uploads
# sudo setfacl -R -m d:u:media-workerservice:rwx /opt/majorsilence/media-web/data/uploads
Environment=ApiSettings__UploadFolder=/opt/majorsilence/media-web/data/uploads
Environment=ApiSettings__ConvertedFolder=/opt/majorsilence/media-workerservice/data/converted
Environment=ApiSettings__FfmpegPath=/usr/bin/ffmpeg
# Valid ConversionTypes are "streaming", "download", or "all"
Environment=ApiSettings__ConversionType=streaming
Environment=ApiSettings__StreamingTypes__MpegDash=
Environment=ApiSettings__StreamingTypes__Hls=-i [PLACEHOLDER_INPUT] -map 0:v -map 0:a -s:v:0 426x240 -c:v:0 libx264 -b:v:0 250k -s:v:1 640x360 -c:v:1 libx264 -b:v:1 800k -s:v:2 854x480 -c:v:2 libx264 -b:v:2 1400k -s:v:3 1280x720 -c:v:3 libx264 -b:v:3 2800k -s:v:4 1920x1080 -c:v:4 libx264 -b:v:4 5000k -c:a aac -b:a 128k -hls_time 4 -hls_playlist_type vod -hls_segment_filename [PLACEHOLDER_OUTPUT]_%03d.ts [PLACEHOLDER_OUTPUT].m3u8
# https://www.freedesktop.org/software/systemd/man/systemd.exec.html
NoNewPrivileges=yes
PrivateTmp=yes
ProtectSystem=full
ProtectHome=yes
[Install]
WantedBy=multi-user.target