aboutsummaryrefslogblamecommitdiffhomepage
path: root/app/config/config.yml
blob: bbcc682f989f9d7e5820f92f7152111e9c38c516 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                  
                                
 
           
                                                                 
                                 
                                                                                                  
 
                       


                            
           
                                                               
                              
           
                      
                                
                         
                              
                                                                              
                                               
                                                                           
                
                              
             

                    
                           
                                      
                                                                
                                                                       
 

                        
                                   



                                       
                                     
                               
                                        

                                                     
                        
                                  
 






                              
                    
                                                           


                                     
                           





                                      
                    


                                
         








                                                  

                                       




                      
                           
                       



                                           
                            

                     

                                                                                                                                                               

                                                                                                                     
 

                      
                     
                                    












                                
                                                           
                                                                   
                         
                               
                                                           


                                                           
                                                           

                                                           



                           
                  

                                                              
                        
                                                                                     

                  
                               
                                               
                 
                     
                                             
               
                                      
                                
 





                                                               
                                                            
                                           
 
                 
                   
                                           
                         

                                   

                                                                  
          
                                          
                                                                  
                                              
              
            
                      
 

                    


                                           
                       
                          
              
                      
                               
                                              
                           



                                                   



                                                



                                                  








                                                   








                                               
              
                      
                               
                                              
                           
                                              
                                                          
                                                                      





                                                   
                                                               
                                                                      






                                                              
                                                                      






                                                            
                                                                      





                                                   
                                                               
                                                                      





                                                   
                                                               
                                                                      






                                                           
                                                                      






                                                          
                                                                      
               








                     
                                  
             





                                                                                  



                                                           



                                                        

                               












                                                            
imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: services.yml }
    - { resource: wallabag.yml }

parameters:
    # Allows to use the live reload feature for changes in assets
    use_webpack_dev_server: false
    craue_config.cache_adapter.class: Craue\ConfigBundle\CacheAdapter\SymfonyCacheComponentAdapter

framework:
    #esi:             ~
    translator:
        enabled: true
        fallback: "%locale%"
    secret: "%secret%"
    router:
        resource: "%kernel.project_dir%/app/config/routing.yml"
        strict_requirements: ~
    form: ~
    csrf_protection: ~
    validation:
        enable_annotations: true
    templating:
        engines: ['twig']
    default_locale: "%locale%"
    trusted_hosts: ~
    session:
        # handler_id set to null will use default session handler from php.ini
        handler_id: session.handler.native_file
        save_path: "%kernel.project_dir%/var/sessions/%kernel.environment%"
    fragments: ~
    http_method_override: true
    assets: ~

# Twig Configuration
twig:
    debug: "%kernel.debug%"
    strict_variables: "%kernel.debug%"
    form_themes:
        - "LexikFormFilterBundle:Form:form_div_layout.html.twig"
    exception_controller: wallabag_core.exception_controller:showAction

# Doctrine Configuration
doctrine:
    dbal:
        driver: "%database_driver%"
        host: "%database_host%"
        port: "%database_port%"
        dbname: "%database_name%"
        user: "%database_user%"
        password: "%database_password%"
        charset: "%database_charset%"
        path: "%database_path%"
        unix_socket: "%database_socket%"

    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        entity_managers:
            default:
                auto_mapping: true

stof_doctrine_extensions:
    default_locale: "%locale%"
    translation_fallback: true
    orm:
        default:
            tree: true
            sluggable: true

doctrine_migrations:
    dir_name: "%kernel.project_dir%/app/DoctrineMigrations"
    namespace: Application\Migrations
    table_name: migration_versions
    name: Application Migrations

# Swiftmailer Configuration
swiftmailer:
    transport:   "%mailer_transport%"
    username:    "%mailer_user%"
    password:    "%mailer_password%"
    host:        "%mailer_host%"
    port:        "%mailer_port%"
    encryption:  "%mailer_encryption%"
    auth_mode:   "%mailer_auth_mode%"
    spool:
        type: memory

fos_rest:
    param_fetcher_listener: true
    body_listener: true
    view:
        mime_types:
            csv:
                - 'text/csv'
                - 'text/plain'
            pdf:
                - 'application/pdf'
            epub:
                - 'application/epub+zip'
            mobi:
                - 'application/x-mobipocket-ebook'
        view_response_listener: 'force'
        formats:
            xml: true
            json: true
            txt: true
            csv: true
            pdf: true
            epub: true
            mobi: true
        templating_formats:
            html: false
        force_redirects:
            html: true
        failed_validation: HTTP_BAD_REQUEST
        default_engine: twig
    routing_loader:
        default_format: json
    format_listener:
        enabled: true
        rules:
            - { path: "^/api/entries/([0-9]+)/export.(.*)", priorities: ['epub', 'mobi', 'pdf', 'txt', 'csv'], fallback_format: json, prefer_extension: false }
            - { path: "^/api", priorities: ['json', 'xml'], fallback_format: json, prefer_extension: false }
            - { path: "^/annotations", priorities: ['json', 'xml'], fallback_format: json, prefer_extension: false }
            # for an unknown reason, EACH REQUEST goes to FOS\RestBundle\EventListener\FormatListener
            # so we need to add custom rule for custom api export but also for all other routes of the application...
            - { path: '^/', priorities: ['text/html', '*/*'], fallback_format: html, prefer_extension: false }

nelmio_api_doc:
    sandbox:
        enabled: false
    cache:
        enabled: true
    name: wallabag API documentation

nelmio_cors:
    defaults:
        allow_credentials: false
        allow_origin: []
        allow_headers: []
        allow_methods: []
        expose_headers: []
        max_age: 0
        hosts: []
        #origin_regex: false
    paths:
        '^/api/':
            allow_origin: ['*']
            allow_headers: ['Authorization','content-type']
            allow_methods: ['POST', 'PUT', 'PATCH','GET', 'DELETE']
            max_age: 3600
        '^/oauth/':
            allow_origin: ['*']
            allow_headers: ['Authorization','content-type']
            allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
            max_age: 3600
        '^/':
            #origin_regex: true
            allow_origin: ['*']
            allow_headers: ['Authorization','content-type']
            allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
            max_age: 3600
            hosts: ['^api\.']

liip_theme:
    load_controllers: false
    themes:
        - baggy
        - material
    autodetect_theme: wallabag_core.helper.detect_active_theme

    path_patterns:
        bundle_resource:
            - "%%bundle_path%%/Resources/views/themes/%%current_theme%%/%%template%%"

fos_user:
    db_driver: orm
    firewall_name: secured_area
    user_class: Wallabag\UserBundle\Entity\User
    registration:
        confirmation:
            enabled: "%fosuser_confirmation%"
    from_email:
        address:        "%from_email%"
        sender_name:    wallabag

fos_oauth_server:
    db_driver:           orm
    client_class:        Wallabag\ApiBundle\Entity\Client
    access_token_class:  Wallabag\ApiBundle\Entity\AccessToken
    refresh_token_class: Wallabag\ApiBundle\Entity\RefreshToken
    auth_code_class:     Wallabag\ApiBundle\Entity\AuthCode
    service:
        user_provider: fos_user.user_provider.username_email
        options:
            refresh_token_lifetime: 1209600

scheb_two_factor:
    trusted_device:
        enabled: true
        cookie_name: wllbg_trusted_computer
        lifetime: 2592000

    backup_codes:
        enabled: "%twofactor_auth%"

    google:
        enabled: "%twofactor_auth%"
        template: WallabagUserBundle:Authentication:form.html.twig

    email:
        enabled: "%twofactor_auth%"
        sender_email: "%twofactor_sender%"
        digits: 6
        template: WallabagUserBundle:Authentication:form.html.twig
        mailer: wallabag_user.auth_code_mailer

kphoen_rulerz:
    targets:
        doctrine: true

old_sound_rabbit_mq:
    connections:
        default:
            host:     "%rabbitmq_host%"
            port:     "%rabbitmq_port%"
            user:     "%rabbitmq_user%"
            password: "%rabbitmq_password%"
            vhost:    /
            lazy:     true
    producers:
        import_pocket:
            connection: default
            exchange_options:
                name: 'wallabag.import.pocket'
                type: topic
        import_readability:
            connection: default
            exchange_options:
                name: 'wallabag.import.readability'
                type: topic
        import_pinboard:
            connection: default
            exchange_options:
                name: 'wallabag.import.pinboard'
                type: topic
        import_instapaper:
            connection: default
            exchange_options:
                name: 'wallabag.import.instapaper'
                type: topic
        import_wallabag_v1:
            connection: default
            exchange_options:
                name: 'wallabag.import.wallabag_v1'
                type: topic
        import_wallabag_v2:
            connection: default
            exchange_options:
                name: 'wallabag.import.wallabag_v2'
                type: topic
        import_firefox:
            connection: default
            exchange_options:
                name: 'wallabag.import.firefox'
                type: topic
        import_chrome:
            connection: default
            exchange_options:
                name: 'wallabag.import.chrome'
                type: topic
    consumers:
        import_pocket:
            connection: default
            exchange_options:
                name: 'wallabag.import.pocket'
                type: topic
            queue_options:
                name: 'wallabag.import.pocket'
            callback: wallabag_import.consumer.amqp.pocket
            qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
        import_readability:
            connection: default
            exchange_options:
                name: 'wallabag.import.readability'
                type: topic
            queue_options:
                name: 'wallabag.import.readability'
            callback: wallabag_import.consumer.amqp.readability
            qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
        import_instapaper:
            connection: default
            exchange_options:
                name: 'wallabag.import.instapaper'
                type: topic
            queue_options:
                name: 'wallabag.import.instapaper'
            callback: wallabag_import.consumer.amqp.instapaper
            qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
        import_pinboard:
            connection: default
            exchange_options:
                name: 'wallabag.import.pinboard'
                type: topic
            queue_options:
                name: 'wallabag.import.pinboard'
            callback: wallabag_import.consumer.amqp.pinboard
            qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
        import_wallabag_v1:
            connection: default
            exchange_options:
                name: 'wallabag.import.wallabag_v1'
                type: topic
            queue_options:
                name: 'wallabag.import.wallabag_v1'
            callback: wallabag_import.consumer.amqp.wallabag_v1
            qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
        import_wallabag_v2:
            connection: default
            exchange_options:
                name: 'wallabag.import.wallabag_v2'
                type: topic
            queue_options:
                name: 'wallabag.import.wallabag_v2'
            callback: wallabag_import.consumer.amqp.wallabag_v2
            qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
        import_firefox:
            connection: default
            exchange_options:
                name: 'wallabag.import.firefox'
                type: topic
            queue_options:
                name: 'wallabag.import.firefox'
            callback: wallabag_import.consumer.amqp.firefox
            qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
        import_chrome:
            connection: default
            exchange_options:
                name: 'wallabag.import.chrome'
                type: topic
            queue_options:
                name: 'wallabag.import.chrome'
            callback: wallabag_import.consumer.amqp.chrome
            qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}

fos_js_routing:
    routes_to_expose:
        - homepage
        - starred
        - archive
        - all
        - tag
        - config
        - import
        - developer
        - howto
        - fos_user_security_logout
        - new

jms_serializer:
    handlers:
        # to be removed if we switch to (default) ISO8601 datetime instead of ATOM
        # see: https://github.com/schmittjoh/JMSSerializerBundle/pull/494
        datetime:
            default_format: "Y-m-d\\TH:i:sO" # ATOM

# see https://github.com/symfony/symfony-standard/pull/1133
sensio_framework_extra:
   router:
        annotations: false

httplug:
    clients:
        wallabag_core:
            factory: 'wallabag_core.http_client_factory'
            config:
                defaults:
                    timeout: 10
            plugins: ['httplug.plugin.logger']
        wallabag_core.entry.download_images:
            factory: 'httplug.factory.auto'
            plugins: ['httplug.plugin.logger']
        wallabag_import.pocket.client:
            factory: 'httplug.factory.auto'
            plugins:
                - 'httplug.plugin.logger'
                - header_defaults:
                      headers:
                          'content-type': 'application/json'
                          'X-Accept': 'application/json'
    discovery:
        client: false