* Dropped all references to Resque * Moved all jobs under app/workers since that's the Sidekiq convention * Renamed Jobs module to Worker to match new location * Adapted all jobs to Sidekiq * Replaced all enqueue calls with perform_async * Dropped Resque hacks from specs and features, replaced with sidekig/testing in RSpec and sidekig/testing/inline in Cucumber * Updated scripts to start a Sidekiq server * Inline Sidekiq sinatra app * Let Sidekiq create the actual Redis instance * Workaround already initialized constant warnings in service models * Resolved ToDo in one job definition by creating proper exception clases for some errors in receiving posts * Added sidekiq section to configuration to make it completly configurable to the user * Add Sidekiq middleware for clean backtraces * Delay HttpMulti retry to give offline pods a chance to come back up * Do not retry on GUID already taken and alike errors * Be graceful about deleted posts in GatherOEmbedData
332 lines
12 KiB
Text
332 lines
12 KiB
Text
## Some notes about this file:
|
|
## - All comments start with a double #
|
|
## - All settings are by default commented out with a single #
|
|
## You need to uncomment them in order to work.
|
|
## - Take care to keep proper indentation, that is keeping the indentation
|
|
## of the original #, with no additional space before the settings
|
|
## name.
|
|
## - Take care to keep proper quoting. All ' should have a matching ' at
|
|
## the end of the same line. Same goes for "
|
|
## - Lines containing "## Section" are sections, categories or however you
|
|
## like to name them. Do not edit those!
|
|
## - Lists need the space after the -
|
|
## - true, false and numbers should have no quoting.
|
|
## Single words could have none, but doesn't do any harm to them.
|
|
##
|
|
## You can set and/or override all this settings through environment variables
|
|
## with the following conversion rules:
|
|
## - Strip the top level namespace (configuration, production, etc.)
|
|
## - Build the path to the setting, for example environment.s3.enable
|
|
## - Replace the dots with underscores: environment_s3_enable
|
|
## - Upcase everything: ENVIRONMENT_S3_ENABLE
|
|
## - Specify lists/arrays as comma separated values
|
|
|
|
configuration: ## Section
|
|
|
|
## Settings you need to change or at least review
|
|
## in order for your pod to basically work
|
|
environment: ## Section
|
|
|
|
## Set the hostname of the machine you're running Diaspora on, as seen
|
|
## from the internet. This should be the URL you want to use to
|
|
## access the pod. So if you plan to reverse proxy it, it should be
|
|
## the URL the proxy listens on.
|
|
## DO NOT CHNANGE THIS AFTER INITIAL SETUP
|
|
## UNLESS YOU KNOW WHAT YOU'RE DOING!
|
|
## However changing http to https is okay and has no consequences.
|
|
## If you do change it you have to start over as it's hardcoded into
|
|
## the database.
|
|
#url: "https://example.org/"
|
|
|
|
## Setting the bundle of certificate authorities (CA) certificates.
|
|
## This is operating system specific.
|
|
## Examples, uncomment one or add your own:
|
|
## Debian, Ubuntu, Archlinux, Gentoo (package ca-certificates)
|
|
#certificate_authorities: '/etc/ssl/certs/ca-certificates.crt'
|
|
## CentOS, Fedora
|
|
#certificate_authorities: '/etc/pki/tls/certs/ca-bundle.crt'
|
|
|
|
## URL for a remote redis.
|
|
## Don't forget to restrict the IP access!
|
|
## Leave it commented out for the default (localhost)
|
|
#redis: 'redis://exmaple_host'
|
|
#redis: 'redis://username:password@host:6379/0'
|
|
#redis: 'unix:///tmp/redis.sock'
|
|
|
|
## Require SSL, default true.
|
|
## When set, your pod will force you to use https in production.
|
|
## Since OAuth2 requires SSL Diasporas future API might not work if you're not
|
|
## on SSL. Also no gurantee that posting to services is given if SSL
|
|
## is disabled.
|
|
#require_ssl: true
|
|
|
|
## Single process mode
|
|
## If set to true Diaspora will work with just the appserver,
|
|
## thin by default, running, however this makes it quite slow as
|
|
## all the time intensive jobs must be run inside the request cycle.
|
|
## So this is higly unrecommended for production setups.
|
|
#single_process_mode: true
|
|
|
|
## Sidekiq - background processing
|
|
sidekiq: ## Section
|
|
## Number of parallel threads Sidekiq uses
|
|
## If you touch this please set the pool setting
|
|
## in your database.yml to a value that's at minimum
|
|
## close to this! The default value is 5 but you can safely
|
|
## increase it to 25 and more on a medium sized pod.
|
|
## This applies per started Sidekiq worker, so if you set it to
|
|
## 25 and start two workers you'll process up to 50 jobs in parallel.
|
|
#concurrency: 25
|
|
|
|
## Number of times a job is retried
|
|
## There's an exponential backoff, if you set this too
|
|
## high you might get too many jobs in the queue
|
|
## Set this to false to disable it completely
|
|
#retry: 10
|
|
|
|
## Time in seconds before a job is killed
|
|
#timeout: 900
|
|
|
|
## Namespace to use in Redis, useful if you need to run
|
|
## multiple instances of Diaspora using the same Redis instance
|
|
#namespace: "diaspora"
|
|
|
|
## Lines of backtrace that is stored on failure
|
|
## Set this to false if you're not interested in this data to
|
|
## reduce memory usage (and log size)
|
|
#backtrace: 15
|
|
|
|
## Log file for Sidekiq
|
|
#log: "log/sidekiq.log"
|
|
|
|
## Use Amazon S3 instead of your local filesystem
|
|
## to handle uploaded pictures.
|
|
s3: ## Section
|
|
#enable: true
|
|
#key: 'changeme'
|
|
#secret: 'changeme'
|
|
#bucket: 'my_photos'
|
|
#region: 'us-east-1'
|
|
|
|
# Use max-age header on Amazon S3 resources.
|
|
# this would set a max-age value of 1 year
|
|
#cache : true
|
|
|
|
## Related to S3 you can set a url to redirect all requests to uploaded
|
|
## images to another host. If you for example set
|
|
## https://images.example.org here, all requests made to
|
|
## pictures under /uploads/images will be redirected to
|
|
## https://images.example.org/uploads/images/...
|
|
#image_redirect_url: 'https://images.example.org'
|
|
|
|
assets: ## Section
|
|
## Serve static assets via the appserver.
|
|
## This is highly discouraged for production use,
|
|
## let your reverse proxy/webserver do it by serving the files
|
|
## under public/ directly.
|
|
#serve: true
|
|
|
|
## Upload your assets to S3
|
|
#upload: true
|
|
|
|
## Specify an asset host. Ensure it does not have a trailing slash (/).
|
|
#host: http://cdn.example.org/diaspora
|
|
|
|
## Diaspora is only tested against this default pubsub server.
|
|
## You likely don't want to change this.
|
|
#pubsub_server: 'https://pubsubhubbub.appspot.com/'
|
|
|
|
## Settings affecting how ./script/server behaves.
|
|
server: ## Section
|
|
## The port on which the appserver should listen
|
|
#port: 3000
|
|
|
|
## The environment in which the server should be started by default.
|
|
#rails_environment: 'production'
|
|
|
|
## Write unicorn stderr and stdout log
|
|
#stderr_log: '/usr/local/app/diaspora/log/unicorn-stderr.log'
|
|
#stdout_log: '/usr/local/app/diaspora/log/unicorn-stdout.log'
|
|
|
|
## The database type the server should use by default.
|
|
## Valid choices are 'mysql' and 'postgres'
|
|
#database: 'mysql'
|
|
|
|
## Number of unicorn worker processes, increase this if
|
|
## you have many users
|
|
#unicorn_worker: 2
|
|
|
|
## Embed a Sidekiq worker inside the unicorn process, useful for
|
|
## minimal Heroku setups
|
|
#embed_sidekiq_worker: true
|
|
|
|
## Settings probably affecting the privacy of your users
|
|
privacy: ## Section
|
|
|
|
## Include jQuery from Google's CDN
|
|
## This potentially saves you some traffic and speeds up
|
|
## load time since most clients already have this one cached
|
|
#jquery_cdn: true
|
|
|
|
## Provide a key to enable tracking by Google Analytics
|
|
#google_analytics_key:
|
|
|
|
## Piwik Tracking
|
|
## Provide a site ID and the host piwik is running on to enable
|
|
## tracking through Piwik.
|
|
piwik: ## Section
|
|
#enable: true
|
|
#host: 'stats.example.org'
|
|
#site_id: 1
|
|
|
|
## Mixpanel event tracking
|
|
#mixpanel_uid:
|
|
|
|
## Chartbeat tracking
|
|
#chartbeat_uid:
|
|
|
|
## General settings
|
|
settings: ## Section
|
|
|
|
## The name of your pod displayed in various locations,
|
|
## including the header.
|
|
#pod_name: "Diaspora*"
|
|
|
|
## Set this to false to prevent people from signing up for your pod
|
|
## without an invitation. Note that this needs to be true even for
|
|
## the first registration (you).
|
|
#enable_registrations: true
|
|
|
|
## Set this to false if you don't want your users to follow the
|
|
## diasporahq@joindiaspora.com account on account creation.
|
|
## The diasporahq account helps users start with some activity in
|
|
## their stream and get news about Diaspora, but if you don't want
|
|
## your server to contact joindiaspora.com, set this to false:
|
|
#follow_diasporahq: false
|
|
|
|
## Settings about invitations
|
|
invitations: ## Section
|
|
|
|
## Set this to true if you want users to be able to send invites.
|
|
#open: true
|
|
|
|
## The default amount of invitiations an invite link has.
|
|
## Every user has such a link. Default count is 25, uncomment to set
|
|
## another value.
|
|
#count: 25
|
|
|
|
## Paypal donations
|
|
## You can provide the ID of a hosted Paypal button here to kindly ask
|
|
## your users for donations to run their pod. If you leave this out
|
|
## we kindly ask your users to donate to the Diaspora Foundation :)
|
|
#paypal_hosted_button_id: ""
|
|
|
|
## Community Spotlight
|
|
## The community spotlight gives new users a starting point on who
|
|
## could be interesting Diasporas community. To add a person
|
|
## to the spotlight add the 'spotlight' role to it.
|
|
community_spotlight: ## Section
|
|
#enable: false
|
|
## E-Mail address users can make suggestions about who should be
|
|
## in the spotlight to.
|
|
#suggest_email: 'admin@example.org'
|
|
|
|
## CURL debug
|
|
## Turn on extra verbose output when sending stuff. No you
|
|
## don't need to touch this unless explicitly told to.
|
|
#typhoeus_verbose: true
|
|
|
|
## Setup E-Mail
|
|
mail: ## Section
|
|
|
|
## First you need to enable it ;)
|
|
#enable: true
|
|
|
|
## Sender address used in mail send by Diaspora
|
|
#sender_address: 'no-reply@example.org'
|
|
|
|
## This selects which mailer should be used. Take 'smtp' for a smtp
|
|
## connection, 'sendmail' to use the sendmail binary or
|
|
## 'messagebus' to use the messagebus service.
|
|
#method: 'smtp'
|
|
|
|
## Ignore if method isn't 'smtp'
|
|
smtp: ## Section
|
|
## Host and port of the smtp server handling outgoing mail.
|
|
## This should match the common name of the certificate
|
|
## the SMTP server sends. If he sends one.
|
|
#host: 'smtp.example.org'
|
|
#port: 587
|
|
|
|
## Authentication required to send mail. Use one of 'plain',
|
|
## 'login' or 'cram_md5'. Use 'none' if server does not support
|
|
## authentication
|
|
#authentication: 'plain'
|
|
|
|
## Credentials to log in to the SMTP server - may be necessary if
|
|
## authentication is not 'none'
|
|
#username: 'changeme'
|
|
#password: 'changeme'
|
|
|
|
## Automatically enable TLS? Ignored if authentication is set to none
|
|
#starttls_auto: true
|
|
|
|
## The domain for the HELO command if needed
|
|
#domain: 'smtp.example.org'
|
|
|
|
## OpenSSL verify mode used when connecting to a
|
|
## SMTP server with TLS. Set this to none if you have
|
|
## a self signed certificate. Possible values:
|
|
## 'none', 'peer', 'client_once', 'fail_if_no_peer_cert'
|
|
#openssl_verify_mode: 'none'
|
|
|
|
## Ignore if method isn't 'sendmail'
|
|
sendmail: ## Section
|
|
## The path to the sendmail binary.
|
|
#location: '/usr/sbin/sendmail'
|
|
|
|
## Set this to true if you want to use exim and sendmail
|
|
#exim_fix: true
|
|
|
|
## Ignore if method isn't 'messagebus'
|
|
#message_bus_api_key: 'abcdef'
|
|
|
|
## Settings around Diasporas capabilities to post to services
|
|
services: ## Section
|
|
## OAuth credentials for Facebook:
|
|
facebook: ## Section
|
|
#enable: true
|
|
#app_id: 'abcdef'
|
|
#secret: 'changeme'
|
|
|
|
## OAuth credentials for Twitter:
|
|
twitter: ## Section
|
|
#enable: true
|
|
#key: 'abcdef'
|
|
#secret: 'changeme'
|
|
|
|
## OAuth credentials for Tumblr
|
|
tumblr: ## Section
|
|
#enable: true
|
|
#key: 'abcdef'
|
|
#secret: 'changeme'
|
|
|
|
## Settings relevant to administrators
|
|
admins: ## Section
|
|
|
|
## Set the admin account.
|
|
## This doesn't make the user an admin but is used when a generic
|
|
## admin contact is neeeded, much like the postmaster role in mail
|
|
## systems. Set only the username, NOT the full ID.
|
|
#account: "podmaster"
|
|
|
|
## E-Mail address users can contact the administrator
|
|
#podmin_email: 'podmin@example.org'
|
|
|
|
## Here you can make overides to settings defined above if you need
|
|
## to have them different in different environments.
|
|
production: ## Section
|
|
|
|
development: ## Section
|
|
environment: ## Section
|
|
#redis_url: 'redis://production.example.org:6379'
|