• Tutorial
  • Tutorial de instalação novoSGA 2.0.3 com Docker

educs Estranho, aqui uso a mesma versão que você, refiz o tutorial seguindo os passos exatamente como descrito e funcionou normalmente. Talvez reinstalar o docker resolva o problema.

Após executar o comando docker-compose up -d (no mesmo diretório onde está o arquivo docker-compose.yml), se você digitar docker ps -a o que é retornado?

Se você executar o comando docker-compose version, retorna alguma informação parecida com essa abaixo?
docker-compose version 1.22.0, build f46880fe
docker-py version: 3.4.1
CPython version: 3.6.6
OpenSSL version: OpenSSL 1.0.2o 27 Mar 2018

OBS: O arquivo deve ser salvo obrigatoriamente como docker-compose.yml ou docker-compose.yaml. Qualquer coisa diferente disso o comando docker-compose não funciona e dá erro.

    4 meses depois

    Muito obrigado pelo trabalho de compor esse post. Me ajudou muito na instalação do NovoSGA bem como compreender melhor uns conceitos basicos do Docker que não compreendia!!

    2 meses depois

    joguei meu código no site http://yaml-online-parser.appspot.com/

    e ele me retornou o seguinte erro:

    ERROR:
    
    while parsing a block mapping
      in "<unicode string>", line 13, column 7:
              APP_ENV: 'prod'
              ^
    expected <block end>, but found '<scalar>'
      in "<unicode string>", line 17, column 32:
              NOVOSGA_ADMIN_USERNAME: 'admin'

    pórem continuo sem saber o que alterar...

    deixei passar uma ( ' ) pra finalizar o bloco, o comando rodou, no entanto obtive outro erro

    Creating novosga_novosga_1 ... error

    ERROR: for novosga_novosga_1 Cannot start service novosga: b'driver failed programming external connectivity on endpoint novosga_novosga_1 (656dccd99fde2699aeb35650eeca61f35aec2ecefde3bb5252b8372274ea5aa3): Error starting userland proxy: listen tcp 0.0.0.0:80: listen: address already in use'

    ERROR: for novosga Cannot start service novosga: b'driver failed programming external connectivity on endpoint novosga_novosga_1 (656dccd99fde2699aeb35650eeca61f35aec2ecefde3bb5252b8372274ea5aa3): Error starting userland proxy: listen tcp 0.0.0.0:80: listen: address already in use'
    ERROR: Encountered errors while bringing up the project.

    preciso de ajuda agora para solucionar esse problema, se for o caso refaço alguma informação no docker-compose.yml

      tinha instalado o apache2 que estava "ouvindo" na porta 80, executei o service apache2 stop e retornei a usar o comando docker-compose up -d e o resultado obitido foi:

      WARNING: The ga variable is not set. Defaulting to a blank string.
      WARNING: The qL variable is not set. Defaulting to a blank string.
      Creating network "novosga_default" with the default driver
      Creating novosga_mysqldb_1 ... done
      Creating novosga_novosga_1 ... done

      mas ao colocar o ip no navegador não abre nada... desculpa o incomodo mas estou precisando fazer o novosga2 rodar aqui no estágio...

      ao rodar o comando docker ps -a, obtenho:

      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      6471a2604296 novosga/novosga:latest "docker-php-entrypoi…" 18 minutes ago Up 18 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:2020->2020/tcp novosga_novosga_1
      7b079b2f263f mysql:5.7 "docker-entrypoint.s…" 18 minutes ago Up 18 minutes 3306/tcp, 33060/tcp novosga_mysqldb_1

      ao rodar o docker-compose version, obtenho:
      docker-compose version 1.23.2, build 1110ad01
      docker-py version: 3.6.0
      CPython version: 3.6.7
      OpenSSL version: OpenSSL 1.1.0f 25 May 2017

      aparentemente fiz tudo certo, mas ao colocar o ip, caio na tela do Apache2 Debian Default Page, se alguém puder me dar uma luz, aonde eu devo alterar alguma coisa, agradeço.

      eduardo-moraes

      Error starting userland proxy: listen tcp 0.0.0.0:80: listen: address already in use

      tcp 0.0.0.0:80, address already in use

      fiz uma instalação em um sistema limpo e rodou certinho, tava dando erro pois tentei em cima de outro que tinha o Apache2 já instalado, por isso esse conflito da porta...

      21 dias depois

      Testado e aprovado funcionando.

      2 meses depois

      Não consegui seguir o tutorial. Uso windows 10 pro. No powershell como administrador executo docker-compose up -d com o arquivo na c:\sga

      Arquivo docker-compose.yml

      version: '2'
      
      services:
        novosga:
          image: novosga/novosga:latest
          restart: always
          depends_on:
            - mysqldb
          ports:
            - "80:80"
            - "2020:2020"
          environment:
            APP_ENV: 'prod'
            # database connection
            DATABASE_URL: 'mysql://novosgabase:mysql_enter@mysqldb:3306/novosgabase?charset=utf8mb4&serverVersion=5.7'
            # default admin user
            NOVOSGA_ADMIN_USERNAME: 'admin'
            NOVOSGA_ADMIN_PASSWORD: '123456'
            NOVOSGA_ADMIN_FIRSTNAME: 'Administrator'
            NOVOSGA_ADMIN_LASTNAME: 'Global'
            # default unity
            NOVOSGA_UNITY_NAME: 'My Unity'
            NOVOSGA_UNITY_CODE: 'U01'
            # default no-priority
            NOVOSGA_NOPRIORITY_NAME: 'Normal'
            NOVOSGA_NOPRIORITY_DESCRIPTION: 'Normal service'
            # default priority
            NOVOSGA_PRIORITY_NAME: 'Priority'
            NOVOSGA_PRIORITY_DESCRIPTION: 'Priority service'
            # default place
            NOVOSGA_PLACE_NAME: 'Box'
            # Set TimeZone and locale
            TZ: 'America/Sao_Paulo'
            LANGUAGE: 'pt_BR'
        mysqldb:
          image: mysql:5.7
          restart: always
          environment:
            MYSQL_USER: 'novosga'
            MYSQL_DATABASE: 'novosgabase'
            MYSQL_ROOT_PASSWORD: 'mysql_root_enter'
            MYSQL_PASSWORD: 'mysql_enter'
            # Set TimeZone
            TZ: 'America/Sao_Paulo'

        ronaldorx o erro que dá no powershell é: Windows named pipe error: o sistema não pode encontrar o arquivo especificado. (code: 2)

          14 dias depois
          14 dias depois

          sim, vou ate o diretorio e executo o comando e da este erro.

            16 dias depois

            Bom dia,

            Esta rodando tudo certo aqui pelo Docker no Debian 10. Agora como eu faço para acessar o banco de dados MySQL de outro host ou até local, não estou conseguindo.

            Obrigado.

              5 meses depois

              Gente boa tarde, consegui instalar o docker! fiz testes em alguns casos foi direto instalou de boas, em outros fiz assim: com os comandos docker pull novosga/novosga:latest e docker pull mysql:5.7 e depois docker-compose up -d dica do lamasbr .
              tive que mudar a conf pra switch linux . Mas hoje vi que falta um detalhe da hora em timezone errada ta com uma hora a mais na senha impressa! alguem tem sugestão pra corrigir via comando ou no yml um timezone da bahia por exemplo. Abraco valeu!!!!

                8 dias depois

                alexdocarmo

                Você pode alterar o timezone no arquivo docker-compose.yml para America/Santiago para resolver o problema aí temporariamente. O arquivo ficaria assim:

                version: '2'
                
                services:
                  novosga:
                    image: novosga/novosga:latest
                    restart: always
                    depends_on:
                      - mysqldb
                    ports:
                      - "80:80"
                      - "2020:2020"
                    environment:
                      APP_ENV: 'prod'
                      # database connection
                      DATABASE_URL: 'mysql://novosgabase:mysql_enter@mysqldb:3306/novosgabase?charset=utf8mb4&serverVersion=5.7'
                      # default admin user
                      NOVOSGA_ADMIN_USERNAME: 'admin'
                      NOVOSGA_ADMIN_PASSWORD: '123456'
                      NOVOSGA_ADMIN_FIRSTNAME: 'Administrator'
                      NOVOSGA_ADMIN_LASTNAME: 'Global'
                      # default unity
                      NOVOSGA_UNITY_NAME: 'My Unity'
                      NOVOSGA_UNITY_CODE: 'U01'
                      # default no-priority
                      NOVOSGA_NOPRIORITY_NAME: 'Normal'
                      NOVOSGA_NOPRIORITY_DESCRIPTION: 'Normal service'
                      # default priority
                      NOVOSGA_PRIORITY_NAME: 'Priority'
                      NOVOSGA_PRIORITY_DESCRIPTION: 'Priority service'
                      # default place
                      NOVOSGA_PLACE_NAME: 'Box'
                      # Set TimeZone and locale
                      TZ: 'America/Santiago'
                      LANGUAGE: 'pt_BR'
                  mysqldb:
                    image: mysql:5.7
                    restart: always
                    environment:
                      MYSQL_USER: 'novosga'
                      MYSQL_DATABASE: 'novosgabase'
                      MYSQL_ROOT_PASSWORD: 'mysql_root_enter'
                      MYSQL_PASSWORD: 'mysql_enter'
                      # Set TimeZone
                      TZ: 'America/Santiago'

                Depois de editar e salvar o arquivo você precisa executar o comando docker-compose stop e docker-compose up -d para que as alterações façam efeito.

                  educs Para que consiga acessar o banco MySQL que subiu através de um container do Docker através de outro host (outro computador/servidor) ou localmente (que não seja de um container) é necessário externalizar a porta no arquivo docker-compose.yml, caso contrário, não vai conseguir.

                  Para externalizar a porta, o arquivo docker-compose.yml ficaria assim (note que estou colando somente a seção referente ao MySQL):

                    mysqldb:
                      image: mysql:5.7
                      restart: always
                      ports:
                        - "3306:3306"
                      environment:
                        MYSQL_USER: 'novosga'
                        MYSQL_DATABASE: 'novosgabase'
                        MYSQL_ROOT_PASSWORD: 'mysql_root_enter'
                        MYSQL_PASSWORD: 'mysql_enter'
                        # Set TimeZone
                        TZ: 'America/Sao_Paulo'

                  Para mais informações, consulte a documentação do Docker: Compose file version 2 reference

                  Boa tarde, como voces fazem para acessar a triagem e o painel web depois dessa instalação via docker ?