Skip to content

Configuração padrão e variáveis de ambiente

Juan Funez edited this page Nov 30, 2017 · 5 revisions

Introdução:

A configuração padrão do site espera ter acesso a instâncias locais de mongo e acesso ao file system como por exemplo /tmp para ter acesso ao banco de dados SQLite.

Todas as definições padrão atualizadas estão definidas em: opac/webapp/config/default.py

Ajustando as configurações de uma instância em particular:

É possível redefinir estas configurações para determinado ambiente, o que é recomendado por questões de segurança, por exemplo para redefinir a configuração do SECRET_KEY e as credencias de acesso ao banco.

Para ajustar configurações, pode definir as variáveis de ambiente (ver abaixo) no seu host, ou copie o template que melhor se ajuste a seu ambiente, e apontando o caminho absoluto na variável de ambiente: OPAC_CONFIG, por exemplo:

  1. copiar este template: cp opac/config/templates/development.template /foo/var/baz/opac.config.py
  2. editar: vim /foo/var/baz/opac.config.py, pode consultar o arquivo: opac/webapp/config/default.py
  3. definir a variável de ambiente OPAC_CONFIG: export OPAC_CONFIG="/foo/var/baz/opac.config.py"
  4. iniciar/reiniciar o servidor web

Configuração padrão e variáveis de ambiente asociadas:

Na Configuração padrão, definimos estas configurações para deixar a app rodando em modo "produção". Porém é recomendado ajustar algumas configuração para deixar uma instalação segura e funcional no seu ambiente, por exemplo definindo a coleção que o site deve atender.

Para saber mais sobre configuração, visite:

Variáveis de ambiente:

  • Modo Debug:

    • OPAC_DEBUG_MODE: ativa/desativa o modo Debug da app, deve estar desativado em produção! (default: False)
  • Segurança:

    • OPAC_SECRET_KEY: chave necessária para segurança nos formulário da app (default: 'secr3t-k3y')
  • Coleção:

    • OPAC_COLLECTION: acrônimo da coleção do opac (default: 'spa')
  • Para envio de emails:

    • OPAC_DEFAULT_EMAIL: conta de email para envio de mensagens desde o site (default: '[email protected]')
    • OPAC_MAIL_SERVER: host do servidor de emails (default: localhost)
    • OPAC_MAIL_PORT: porta do servidor de emails (default: 1025)
    • OPAC_MAIL_USE_TLS: ativa/desativa envio de email com TLS (default: False)
    • OPAC_MAIL_USE_SSL: ativa/desativa envio de email com SSL (default: False)
  • Banco Mongo:

    • OPAC_MONGODB_NAME: nome do banco (default: 'opac')
    • OPAC_MONGODB_HOST: host do banco (default: 'localhost')
    • OPAC_MONGODB_PORT: porta do banco (default: 27017)
    • OPAC_MONGODB_USER: [opcional] usuário para acessar o banco (default: None)
    • OPAC_MONGODB_PASS: [opcional] password para acessar o banco (default: None)
  • Banco SQL:

    • OPAC_DATABASE_FILE: nome do arquivo (sqlite) (default: 'opac.sqlite')
    • OPAC_DATABASE_DIR: pasta aonde fica o banco (sqlite) (default: '/tmp')
    • OPAC_DATABASE_URI: [opcional] URI do banco sql (default: 'sqlite:////tmp/opac.sqlite')
  • Google Analytics:

    • GA_TRACKING_CODE: código de google analytics (acesse https://goo.gl/HE77SO para resgatar seu código) (default: None)
  • Armazenamento de arquivos subidos pelos usuários (pelo admin):

    • OPAC_MEDIA_ROOT: caminho absoluto da pasta que vai armazenar os arquivos (OPAC_MEDIA_ROOT/files/) e as imagens (OPAC_MEDIA_ROOT/images/). (default: <pasta do projeto>/webapp/media/)
    • OPAC_MEDIA_URL: prefixo da url que vai atender para servir os arquivos e imagens subidos pelos usuários. (default: /media)
  • Twitter:

    • OPAC_TWITTER_CONSUMER_KEY: Twitter comuser key (default: 'consum3r-k3y')
    • OPAC_TWITTER_CONSUMER_SECRET: Twitter comuser secret (default: 'consum3r-secr3t')
    • OPAC_TWITTER_ACCESS_TOKEN: Twitter access token (default: 'acc3ss-tok3n-secr3t')
    • OPAC_TWITTER_ACCESS_TOKEN_SECRET: Twitter access token (default: 'acc3ss-tok3n-secr3t')
    • OPAC_TWITTER_SCREEN_NAME: Twitter screen name (default: 'RedeSciELO')
  • Metrics:

    • OPAC_METRICS_URL: URL para SciELO Analytics (default: 'http://analytics.scielo.org')
  • Timezone:

    • LOCAL_ZONE: Timezone do OPAC. Default 'America/Sao_Paulo'
  • Sentry

    • OPAC_USE_SENTRY: ativa/desativa a integarção com Sentry, se sim definir como: 'True' (default: 'False')
    • OPAC_SENTRY_DSN: (string) DSN definido pelo sentry para este projeto. Utilizado só se OPAC_USE_SENTRY == True (default: '')
  • docker build args (ignorar warnings na construção de imagem para desenvolvimento)

    • OPAC_BUILD_DATE: data de build. definida no Makefile em tempo de construção da imagem.
    • OPAC_VCS_REF: commit do código. definida no Makefile em tempo de construção da imagem.
    • OPAC_WEBAPP_VERSION: 'versão do OPAC WEBAPP'. definida no Makefile em tempo de construção da imagem.
  • CSRF

    • OPAC_WTF_CSRF_ENABLED: ativa/desativa o recurso de CSRF (default: True)
    • OPAC_WTF_CSRF_SECRET_KEY: chave para segurança nos formulários WTF. (default: (algum valor aleatório alfanumérico)
  • ReadCube:

    • READCUBE_ENABLED: ativa/desativa a exibição do link para o ReadCube, se sim definir como: 'True' (default: 'False')
  • Conexão com SSM:

    • OPAC_SSM_SCHEME: Protocolo de conexão com SSM. Opções: 'http' ou 'https' - (default: 'https')
    • OPAC_SSM_DOMAIN: Dominio/FQDN do conexão com SSM. Ex: 'homolog.ssm.scielo.org - (default: 'ssm.scielo.org')
    • OPAC_SSM_PORT: Porta de conexão com o SSM. Ex. '8000'. (default: '80')
    • OPAC_SSM_MEDIA_PATH: Caminho da pasta media do assests no SSM. Ex. '/media/assets/' - (default: '/media/assets/')
  • Cookie de Sessão: (http://flask.pocoo.org/docs/0.12/config/#builtin-configuration-values)

    • OPAC_SERVER_NAME: Nome:IP do servidor - (default: None)
    • OPAC_SESSION_COOKIE_DOMAIN: o dominio para a cookie da sessão (default: OPAC_SERVER_NAME)
    • OPAC_SESSION_COOKIE_HTTPONLY: Seta a flag: httponly da cookie. (defaults to True)
    • OPAC_SESSION_COOKIE_NAME: nome da cookie de sessão (default: 'opac_session')
    • OPAC_SESSION_COOKIE_PATH: path para a cookie de sessão: (default: None -> ou seja a raiz /)
    • OPAC_SESSION_COOKIE_SECURE: define se a cookie de sessão deve ser marcada como segura - (default: 'False')
    • OPAC_SESSION_REFRESH_EACH_REQUEST: Fazer refresh da cookie em cada request? (Default: 'False')
  • Cache da app: (usando: https://pythonhosted.org/Flask-Caching/)

    • OPAC_CACHE_ENABLED: ativa/desativa o cache com redis (default: True)
    • OPAC_CACHE_TYPE: o tipo de backend do cache: 'null', 'redis', outros (default: 'redis')
    • OPAC_CACHE_NO_NULL_WARNING: ativa/desativa exibição de warnings quando o CACHE_TYPE é 'null' (default: True)
    • OPAC_CACHE_DEFAULT_TIMEOUT: tempo de vida dos objetos no cache. Tempo medido em segundos (default: 3600)
    • OPAC_CACHE_KEY_PREFIX: prefixo da chave de cache. (default: 'opac_cache')
    • OPAC_CACHE_REDIS_HOST: host do servidor redis que vai ser usado no cache. (default: 'redis-cache')
    • OPAC_CACHE_REDIS_PORT: porta do servidor redis que vai ser usado no cache. (default: 6379)
    • OPAC_CACHE_REDIS_DB: nome de db do servidor redis que vai ser usado no cache (inteiro >= 0). (default: 0)
    • OPAC_CACHE_REDIS_PASSWORD: senha do servidor redis que vai ser usado no cache. (default = '')
  • Pindom visitor insights:

    • OPAC_PINGDOM_VISITOR_INSIGHTS_JS_SRC: URL do JS para utilizar o Pingdom visitor insights (ex: //rum-static.pingdom.net/pa-XXXXXXXXX.js) (default: None)