123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- #
- # tracim - TurboGears 2 development environment configuration
- #
- # The %(here)s variable will be replaced with the parent directory of this file
- #
- # This file is for deployment specific config options -- other configuration
- # that is always required for the app is done in the config directory,
- # and generally should not be modified by end users.
-
- [DEFAULT]
- debug = true
- # Uncomment and replace with the address which should receive any error reports
- #email_to = you@yourdomain.com
- smtp_server = localhost
- error_email_from = turbogears@localhost
-
- [server:main]
- # Below is the HTTP server to be used. See documentation online if you want to use another server
- # http://turbogears.readthedocs.org/en/latest/turbogears/gearbox.html#changing-http-server
- use = egg:gearbox#cherrypy
-
- # If you want to access to the instance through the network,
- # change host value below to 0.0.0.0 or to the IP address
- # you want it to manage (this may be usefull if you have several
- # network interfaces)
- host = 127.0.0.1
- port = 8080
-
- [sa_auth]
- cookie_secret = 3283411b-1904-4554-b0e1-883863b53080
-
- [app:main]
- use = egg:tracim
- full_stack = true
- # Fallback language if browser and tracim can't find one they agree on.
- i18n.lang = en
-
- cache_dir = %(here)s/data
- # preview generator cache directory
- preview_cache_dir = /tmp/tracim/preview/
- # file depot storage
- depot_storage_name = tracim
- depot_storage_dir = %(here)s/depot/
-
- beaker.session.key = tracim
- beaker.session.secret = 3283411b-1904-4554-b0e1-883863b53080
-
- # Auth type (internal or ldap)
- auth_type = internal
-
- # If auth_type is ldap, uncomment following ldap_* parameters
-
- # LDAP server address
- # ldap_url = ldap://localhost:389
-
- # Base dn to make queries
- # ldap_base_dn = dc=directory,dc=fsf,dc=org
-
- # Bind dn to identify the search
- # ldap_bind_dn = cn=admin,dc=directory,dc=fsf,dc=org
-
- # The bind password
- # ldap_bind_pass = toor
-
- # Attribute name of user record who contain user login (email)
- # ldap_ldap_naming_attribute = uid
-
- # Matching between ldap attribute and ldap user field (ldap_attr1=user_field1,ldap_attr2=user_field2,...)
- # ldap_user_attributes = mail=email
-
- # TLS usage to communicate with your LDAP server
- # ldap_tls = False
-
- # If True, LDAP own tracim group managment (not available for now!)
- # ldap_group_enabled = False
-
- # User auth token validity in seconds (used to interfaces like web calendars)
- user.auth_token.validity = 604800
-
- #By default session is store in cookies to avoid the overhead
- #of having to manage a session storage. On production you might
- #want to switch to a better session storage.
- beaker.session.type = cookie
- beaker.session.validate_key = 3283411b-1904-4554-b0e1-883863b53080
-
- # Disable template autoreload to boost performances in production
- # WARNING: if you want to deploy your application using a zipped egg
- # (ie: if your application's setup.py defines zip-safe=True, then you
- # MUST put "false" for the production environment because there will
- # be no disk and real files to compare time with.
- #auto_reload_templates = false
-
- # If you'd like to fine-tune the individual locations of the cache data dirs
- # for the Cache data, or the Session saves, un-comment the desired settings
- # here:
- #beaker.cache.data_dir = %(here)s/data/cache
- #beaker.session.data_dir = %(here)s/data/sessions
-
- # pick the form for your database
- # %(here) may include a ':' character on Windows environments; this can
- # invalidate the URI when specifying a SQLite db via path name
- # sqlalchemy.url=postgresql://username:password@hostname:port/databasename
- # sqlalchemy.url=mysql://username:password@hostname:port/databasename
- # sqlalchemy.url = postgresql://tracimuser:tracimpassword@127.0.0.1:5432/tracimdb?client_encoding=utf8
- # sqlalchemy.url = mysql+pymysql://tracimuser:tracimpassword@127.0.0.1/tracimdb
- sqlalchemy.url = sqlite:///tracimdb.sqlite
-
- #echo shouldn't be used together with the logging module.
- sqlalchemy.echo = false
- sqlalchemy.echo_pool = false
- sqlalchemy.pool_recycle = 3600
-
- # This line ensures that Genshi will render xhtml when sending the
- # output. Change to html or xml, as desired.
- templating.genshi.method = xhtml
- templating.genshi.doctype = html5
-
- # the compiled template dir is a directory that must be readable and writable
- # by your webserver. It will be used to store the resulting templates once
- # compiled by the TemplateLookup system.
- # During development you generally don't need this option since paste's HTTP
- # server will have access to you development directories, but in production
- # you'll most certainly want to have apache or nginx to write in a directory
- # that does not contain any source code in any form for obvious security
- # reasons. If disabled, None, False, or not writable, it will fall back
- # to an in-memory cache.
- templating.mako.compiled_templates_dir = %(here)s/data/templates
-
- # WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
- # Debug mode will enable the interactive debugging tool, allowing ANYONE to
- # execute malicious code after an exception is raised.
- # set debug = false
-
- # Logging configuration
- # Add additional loggers, handlers, formatters here
- # Uses pythons logging config file format
- # http://docs.python.org/lib/logging-config-fileformat.html
-
- #turn this setting to "min" if you would like tw to produce minified
- #javascript files (if your library supports that)
- toscawidgets.framework.resource_variant=debug
-
- # if you want to setup analytics like piwik or google analytics,
- # put the JS tracking code in a file and set its path below
- #
- # js_tracker_path = analytics.js
-
-
- # Reset password through email related configuration.
- # These emails will be sent through SMTP
- #
- resetpassword.email_sender = email@sender.com
- resetpassword.smtp_host = smtp.sender
- resetpassword.smtp_port = 25
- resetpassword.smtp_login = smtp.login
- resetpassword.smtp_passwd = smtp.password
-
-
- # Specifies if the update of comments and attached files is allowed (by the owner only).
- # Examples:
- # 600 means 10 minutes (ie 600 seconds)
- # 3600 means 1 hour (60x60 seconds)
- #
- # Allowed values:
- # -1 means that content update is allowed for ever
- # 0 means that content update is not allowed
- # x means that content update is allowed for x seconds (with x>0)
- content.update.allowed.duration = 3600
-
- # The following parameters allow to personalize the home page
- # They are html ready (you can put html tags they will be interpreted)
- website.title = TRACIM
- website.title.color = #555
- website.home.subtitle = Default login: email: admin@admin.admin (password: admin@admin.admin)
- website.home.tag_line = <div class="text-center" style="font-weight: bold;">Collaboration, versionning and traceability</div>
- website.home.below_login_form = in case of problem, please contact the administrator.
- # Values may be 'all' or 'folders'
- website.treeview.content = all
-
- # The following base_url is used for links and icons
- # integrated in the email notifcations
- website.base_url = http://127.0.0.1:8080
- # If config not provided, it will be extracted from website.base_url
- website.server_name = 127.0.0.1
-
- email.notification.activated = False
- # email.notification.log_file_path = /tmp/mail-notifications.log
- # email notifications can be sent with the user_id added as an identifier
- # this way email clients like Thunderbird will be able to distinguish
- # notifications generated by a user or another one
- email.notification.from.email = noreply+{user_id}@trac.im
- email.notification.from.default_label = Tracim Notifications
- email.notification.reply_to.email = reply+{content_id}@trac.im
- email.notification.references.email = thread+{content_id}@trac.im
- email.notification.content_update.template.html = %(here)s/tracim/templates/mail/content_update_body_html.mak
- email.notification.content_update.template.text = %(here)s/tracim/templates/mail/content_update_body_text.mak
- email.notification.created_account.template.html = %(here)s/tracim/templates/mail/created_account_body_html.mak
- email.notification.created_account.template.text = %(here)s/tracim/templates/mail/created_account_body_text.mak
- # Note: items between { and } are variable names. Do not remove / rename them
- email.notification.content_update.subject = [{website_title}] [{workspace_label}] {content_label} ({content_status_label})
- email.notification.created_account.subject = [{website_title}] Created account
- # processing_mode may be sync or async
- email.notification.processing_mode = sync
- email.notification.smtp.server = your_smtp_server
- email.notification.smtp.port = 25
- email.notification.smtp.user = your_smtp_user
- email.notification.smtp.password = your_smtp_password
-
- ## Email sending configuration
- # processing_mode may be sync or async,
- # with async, please configure redis below
- email.processing_mode = sync
- # email.async.redis.host = localhost
- # email.async.redis.port = 6379
- # email.async.redis.db = 0
-
- # Email reply configuration
- email.reply.activated = False
- email.reply.imap.server = your_imap_server
- email.reply.imap.port = 993
- email.reply.imap.user = your_imap_user
- email.reply.imap.password = your_imap_password
- email.reply.imap.folder = INBOX
- email.reply.imap.use_ssl = true
- email.reply.imap.use_idle = true
- # Re-new connection each 10 minutes
- email.reply.connection.max_lifetime = 600
- # Token for communication between mail fetcher and tracim controller
- email.reply.token = mysecuretoken
- # Delay in seconds between each check
- email.reply.check.heartbeat = 60
- email.reply.use_html_parsing = true
- email.reply.use_txt_parsing = true
- # Lockfile path is required for email_reply feature,
- # it's just an empty file use to prevent concurrent access to imap unseen mail
- email.reply.lockfile_path = %(here)s/email_fetcher.lock
-
- ## Radical (CalDav server) configuration
- # radicale.server.host = 0.0.0.0
- # radicale.server.port = 5232
- # radicale.server.ssl = false
- radicale.server.filesystem.folder = %(here)s/radicale/collections/
- # radicale.server.allow_origin = *
- # radicale.server.realm_message = Tracim Calendar - Password Required
- ## url can be extended like http://127.0.0.1:5232/calendar
- ## in this case, you have to create your own proxy behind this url.
- ## and update following parameters
- # radicale.client.base_url.host = http://127.0.0.1:5232
- # radicale.client.base_url.prefix = /
-
- ## WSGIDAV
- wsgidav.config_path = %(here)s/wsgidav.conf
- ## url can be extended like 127.0.0.1/webdav
- ## in this case, you have to create your own proxy behind this url.
- ## Do not set http:// prefix.
- # wsgidav.client.base_url = 127.0.0.1:<WSGIDAV_PORT>
-
- #####
- #
- # All configuration below is about logging.
- #
-
- [loggers]
- keys = root, tracim, sqlalchemy, auth
-
- [handlers]
- keys = console
-
- [formatters]
- keys = generic
-
- # If you create additional loggers, add them as a key to [loggers]
- [logger_root]
- level = INFO
- handlers = console
-
- [logger_tracim]
- level = DEBUG
- handlers =
- qualname = tracim
-
- [logger_sqlalchemy]
- level = WARN
- handlers =
- qualname = sqlalchemy.engine
- # "level = INFO" logs SQL queries.
- # "level = DEBUG" logs SQL queries and results.
- # "level = WARN" logs neither. (Recommended for production systems.)
-
- # A logger for authentication, identification and authorization
- # this is repoze.who:
- [logger_auth]
- level = WARN
- handlers =
- qualname = auth
-
- # If you create additional handlers, add them as a key to [handlers]
- [handler_console]
- class = StreamHandler
- args = (sys.stderr,)
- level = NOTSET
- formatter = generic
-
- # If you create additional formatters, add them as a key to [formatters]
- [formatter_generic]
- format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
- datefmt = %H:%M:%S
|