The client is anything that pushes jobs to Redis, typically your passenger, puma or unicorn process running Rails or Sinatra. The server is the Sidekiq process which pulls jobs from Redis. One complexity: a Sidekiq server process can push new jobs to Redis thus acting like a client too!
config/sidekiq.yml
is meant to allow the same config as command line args. The initializer is meant for more complicated config which requires Ruby, for instance the Redis connection info or custom middleware.