Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| c3tracker:setup [2022/12/28 21:46] – andi | c3tracker:setup [2024/10/19 16:50] – better document the "decentralised samba" setup stuebinm | ||
|---|---|---|---|
| Line 7: | Line 7: | ||
| * Compare project properties with previous instalment of the same event | * Compare project properties with previous instalment of the same event | ||
| - | optimal properties from current project | + | ==== optimal properties from current project |
| + | |||
| + | |||
| + | Meta.Acronym | ||
| + | Meta.Album | ||
| + | Meta.License | ||
| + | Meta.Year | ||
| + | |||
| + | Processing.Auphonic.Enable | ||
| + | Processing.BasePath | ||
| + | Processing.MasterMe.Enable | ||
| + | Processing.Path.Intros | ||
| + | Processing.Path.Outro | ||
| + | |||
| + | Publishing.Upload.SkipSlaves | ||
| + | Publishing.UploadTarget | ||
| + | Publishing.Tags | ||
| + | Publishing.Voctoweb.Enable | ||
| + | Publishing.Voctoweb.Path | ||
| + | Publishing.Voctoweb.Slug | ||
| + | Publishing.Voctoweb.Thumbpath | ||
| + | Publishing.YouTube.Category | ||
| + | Publishing.YouTube.Enable | ||
| + | Publishing.YouTube.Playlists | ||
| + | Publishing.YouTube.Privacy | ||
| + | Publishing.YouTube.Token | ||
| + | |||
| + | Record.Container | ||
| + | Record.EndPadding | ||
| + | Record.Slides | ||
| + | Record.StartPadding | ||
| - | ``` | ||
| - | Project | ||
| - | Project.Slug eh19 | ||
| - | Processing | ||
| - | Processing.Loudnorm.Enable yes | ||
| - | Processing.BasePath / | ||
| - | Processing.Path.Intros / | ||
| - | Processing.Path.Outro / | ||
| - | Publishing | ||
| - | Publishing.Path / | ||
| - | Publishing.Upload.SkipSlaves speedy, | ||
| - | Publishing.UploadOptions -i / | ||
| - | Publishing.UploadTarget upload@releasing.c3voc.de:/ | ||
| - | Publishing.Voctoweb.Enable yes | ||
| - | Publishing.Voctoweb.Path / | ||
| - | Publishing.Voctoweb.Thumbpath / | ||
| - | Publishing.Voctoweb.Slug eh19 | ||
| - | Publishing.Voctoweb.Tags easterhegg, | ||
| - | Publishing.Voctoweb.Url https:// | ||
| - | Publishing.YouTube.Category 27 | ||
| - | Publishing.YouTube.Enable yes | ||
| - | Publishing.YouTube.Privacy public | ||
| - | Publishing.YouTube.Tags easterhegg, | ||
| - | Publishing.YouTube.TitlePrefix Easterhegg 2019 - | ||
| - | Publishing.YouTube.Token 1/ | ||
| - | Publishing.Mastodon.Enable yes | ||
| - | Publishing.Twitter.Enable yes | ||
| - | Record | ||
| - | Record.Container TS | ||
| - | Record.Slides yes | ||
| - | ``` | ||
| === Worker Filter Examples | === Worker Filter Examples | ||
| - | ``` | ||
| - | EncodingProfile.IsMaster=no | ||
| - | EncodingProfile.IsMaster=yes | ||
| - | EncodingProfile.IsMaster= | ||
| - | Fahrplan.Room=Servus.at Lab | ||
| - | ``` | ||
| + | EncodingProfile.IsMaster=no | ||
| + | EncodingProfile.IsMaster=yes | ||
| + | EncodingProfile.IsMaster= | ||
| + | Fahrplan.Room=Servus.at Lab | ||
| + | |||
| + | |||
| + | Please note that the conditions in the " | ||
| + | Specifying a property with an empty value, which is often done for EncodingProfile.IsMaster, | ||
| == Pipeline setup during event | == Pipeline setup during event | ||
| Line 56: | Line 57: | ||
| - | === Simple: | + | === Simple: |
| {{drawio> | {{drawio> | ||
| Line 84: | Line 85: | ||
| For each encoderX start rsync on the central storage: `sudo systemctl start rsync-from-encoder@encoderX.lan.c3voc.de` | For each encoderX start rsync on the central storage: `sudo systemctl start rsync-from-encoder@encoderX.lan.c3voc.de` | ||
| - | Then, start tracker workers on storage: `sudo systemctl start crs-worker.target` | + | Then, start tracker workers on storage: `sudo systemctl start crs-worker.target` |
| ==== Minion setup | ==== Minion setup | ||
| Line 91: | Line 92: | ||
| After mounting, you can start the tracker encoding workers: `sudo systemctl start crs-encoding.service` | After mounting, you can start the tracker encoding workers: `sudo systemctl start crs-encoding.service` | ||
| + | |||
| + | The minion VMs running inside our event colo case automatically mount `storage.lan.c3voc.de` via cifs and start their worker scripts. You usually do not need to touch them. | ||
| | | ||
| ==== Cube as worker setup | ==== Cube as worker setup | ||
| Line 100: | Line 103: | ||
| The rest is very similar to above, but with different mounts so `/ | The rest is very similar to above, but with different mounts so `/ | ||
| - | ```bash | + | |
| - | sudo mount -t cifs -o uid=voc, | + | sudo mount -t cifs -o uid=voc, |
| - | sudo mount -t cifs -o uid=voc, | + | sudo mount -t cifs -o uid=voc, |
| - | sudo mount -t cifs -o uid=voc, | + | sudo mount -t cifs -o uid=voc, |
| - | sudo mount -t cifs -o uid=voc, | + | sudo mount -t cifs -o uid=voc, |
| - | ``` | + | |
| | | ||
| - | === decentralised pipeline (Variant 3) | + | === decentralised pipeline |
| <panel type=" | <panel type=" | ||
| - | Similar to variant 2, but the release encoder (minion) only mounts the / | + | Similar to variant 2, but extended to work with multiple rooms. Instead of using rsync, recorded snippets remain on the encoding cubes and '' |
| - | You have to set the room filters | + | Tracker filters |
| - | * On recording cubes: | + | On recording cubes: start the followin |
| - | * On release encoders: | + | |
| + | | ||
| + | | ||
| + | On all minions, including the one acting as storage, do | ||
| + | mkdir -p / | ||
| + | mount.cifs -o uid=voc, | ||
| + | mount.cifs -o uid=voc, | ||
| + | ... | ||
| - | ==== New example with systemd units and case 1 and 5: | + | On all minions except the one acting as storage, also mount: |
| + | |||
| + | mount.cifs -o uid=voc, | ||
| + | mount.cifs -o uid=voc, | ||
| + | mount.cifs -o uid=voc, | ||
| + | |||
| + | Finally on all minions, including the one acting as storage, start the following systemd units: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ==== Old example with systemd units and case 1 and 5, which was used during jev22 in Munich: | ||
| {{drawio> | {{drawio> | ||
| Line 139: | Line 160: | ||
| on master minion (in this example `storage.lan.c3voc.de`) | on master minion (in this example `storage.lan.c3voc.de`) | ||
| - | ``` | ||
| - | mkdir -p / | ||
| - | mount -t cifs -o password= {// | ||
| - | mount -t cifs -o password= {// | ||
| - | sudo systemctl start crs-encoding | + | mkdir -p / |
| - | sudo systemctl start crs-postencoding | + | mount -t cifs -o password= {// |
| - | sudo systemctl start crs-postprocessing | + | mount -t cifs -o password= {// |
| + | |||
| + | | ||
| + | sudo systemctl start crs-postencoding | ||
| + | sudo systemctl start crs-postprocessing | ||
| + | |||
| + | # check if everything is running as expected – you might have to disable/ | ||
| + | sudo systemctl status -n 0 crs-* | ||
| - | # check if everything is running as expected – you might have to disable/ | ||
| - | sudo systemctl status -n 0 crs-* | ||
| - | |||
| - | ``` | ||
| //(ensure that samba is installed on this master minion aka storage)// | //(ensure that samba is installed on this master minion aka storage)// | ||
| Line 157: | Line 177: | ||
| on other minions | on other minions | ||
| - | ``` | ||
| - | mkdir -p / | ||
| - | mount -t cifs -o uid=voc, | ||
| - | mount -t cifs -o uid=voc, | ||
| - | mount -t cifs // | ||
| - | mount -t cifs -o password= // | ||
| - | mount -t cifs -o password= // | ||
| - | mount -t cifs -o password= {// | ||
| - | ``` | + | mkdir -p / |
| + | mount -t cifs -o uid=voc, | ||
| + | mount -t cifs -o uid=voc, | ||
| + | mount -t cifs // | ||
| + | mount -t cifs -o password= // | ||
| + | mount -t cifs -o password= // | ||
| + | mount -t cifs -o password= {// | ||
| Line 180: | Line 198: | ||
| on master minion (in this example minion5) | on master minion (in this example minion5) | ||
| - | ``` | ||
| - | mount -t cifs -o password= // | ||
| - | mount -t cifs -o password= // | ||
| - | mount -t cifs -o password= // | ||
| - | cd / | ||
| - | sudo ./start screenrc-pipeline # with steps D, E, F | ||
| - | ``` | + | mount -t cifs -o password= // |
| + | mount -t cifs -o password= // | ||
| + | mount -t cifs -o password= // | ||
| + | cd / | ||
| + | sudo ./start screenrc-pipeline # with steps D, E, F | ||
| //(ensure that samba is installed on this master minion)// | //(ensure that samba is installed on this master minion)// | ||
| on other minions | on other minions | ||
| - | ``` | ||
| - | mount -t cifs -o password= {// | ||
| - | mount -t cifs -o password= {// | ||
| - | mount -t cifs // | ||
| - | mount -t cifs -o password= // | ||
| - | mount -t cifs -o password= // | ||
| - | mount -t cifs -o password= {// | ||
| - | cd / | ||
| - | sudo ./start screenrc-encoding-only # only step E | ||
| - | |||
| - | ``` | ||
| + | mount -t cifs -o password= {// | ||
| + | mount -t cifs -o password= {// | ||
| + | mount -t cifs // | ||
| + | mount -t cifs -o password= // | ||
| + | mount -t cifs -o password= // | ||
| + | mount -t cifs -o password= {// | ||
| + | cd / | ||
| + | sudo ./start screenrc-encoding-only # only step E | ||