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

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

        ronaldorx você executa o comando estando no mesmo diretório aonde está o arquivo yml?

        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 ?

                  lamasbr Deu certo aqui, valeu! Ainda nao entendi bem o conceito do docker container tudo isso.....

                  7 meses depois

                  o problema é que quando coloca a opção 'volumes: .:/var/www/html/ ' não funciona. ai fica dificil instalar modulos ou mexer no código.