ffmpeg on a separate fylr
How to outsource only processing with the tool ffmpeg (video files) to a separate linux
This is a variation of the main installation method described here. So we will concentrate on the differences. ffmpeg is an example, you could equally do this with other asset processing tools used in fylr.
Goal
One server with only the "execserver" part of fylr, which will be doing the heavy lifting of processing assets with ffmpeg, typically when big videos are uploaded. We call this installation by its domain ff.example.com, here.
Another server with all the remaining jobs of fylr: Webfrontend, SQL, Indexing, etc.. We call this installation by its domain main.example.com, here.
On the system with ffmpeg
(We call this system ff.example.com)
ensure that only main.example.com is allowed to reach port 8083 on ff.example.com (firewall, or private IP address, etc.)
use a
fylr.ymllike this: (which disables all parts except execserver)
fylr+:
logger+:
timeFormat: "2006-01-02 15:04:05Z07"
db:
plugin:
elastic:
execserver: # no need to configure the client here, as this fylr is the execserver
services+:
execserver+: # this is the local server config of ff.example.com's execserver
# all: delete failed jobs, for preserving disk space. done: keep failed jobs, for debugging
jobRemovalPolicy: all
addr: :8083
api:
backend:
webapp:
use such a
docker-compose.yml: (no postgreSQL, no Indexer)
About backups: You will have no permanent data on this system: no assets, no database. Just a bit of configuration.
On the main fylr system
(We call this system main.example.com)
caveat: this particular case+config has not been tested by us yet, so use it as a starting point
security: ensure that only ff.example.com and main.example.com are allowed to reach port 8080 and 8081 on main.example.com (firewall, or private IP address, etc.)
pitfalls: on the hand, make sure that DNS and routing works in both execservers, in the container, to reach back to the main fylr. Also that firewalling does not block them.
use a
fylr.ymlwith these changes, the rest remains as in the default installation:
use a
docker-compose.ymlwith these changes, the rest remains as in the default installation:
Last updated