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

lamasbr Boa noite, com o comando "docker-compose up -d", não retorna nada só volta no DOS ou no Powershell para o local onde salvei o arquivo *.yml

    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 ?