evatalk / eva-api

:robot: EV.G Virtual Assistant - API
GNU General Public License v3.0
4 stars 1 forks source link

Criar estrutura inicial da EVA #2

Closed ghost closed 6 years ago

ghost commented 6 years ago
tenpontes commented 6 years ago

Sei que a issue já foi fechada, mas queria fazer um registro. Qual a proposta de hospedagem do serviço? O projeto possui servidor disponível para colocarmos o serviço no ar, de forma permanente, com atualização automática pela branch master ou outra que definirmos. O que acham?

ghost commented 6 years ago

Rapaz, essa questão da infraestrutura, eu ainda não cheguei a dar uma olhada. Você tem alguma sugestão?

leonardo-minora commented 6 years ago

@tenpontes qual a sugestão? você pode cuidar da infra para "nozes"?

tenpontes commented 6 years ago

Eu ia sugerir justamente isso... Perguntei antes pq vcs já podiam ter algo...Eu só preciso que vcs criem um roteiro de instalação. Sugiro que testem numa máquina virtual, usando Debian, instalado da forma mais simples. Assim vcs conseguem identificar tudo que precisa ser instalado para que a solução funcione... Após isso eu tento colocar pra funcionar no servidor de "produção" e se for preciso vamos ajustando o roteiro...

leonardo-minora commented 6 years ago

@tenpontes tu saca de docker?

Já estamos usando uma imagem Debian stretch, quer outra versão ou pode ser essa?

tenpontes commented 6 years ago

Conheço mas não uso.

Por enquanto só preciso do roteiro de instalação do sistema. Se vcs estão usando um Debian para validar o roteiro, melhor ainda, pq provavelmente não vai ter nenhum problema.

leonardo-minora commented 6 years ago

entenda o docker como uma máquina virtual mais leve e performática.

vamos sim passar o roteiro.

tenpontes commented 6 years ago

Eu sei como funciona.... mas não uso... :)

leonardo-minora commented 6 years ago

tu saca esse script

#
# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
#
# PLEASE DO NOT EDIT IT DIRECTLY.
#

FROM buildpack-deps:stretch

# ensure local python is preferred over distribution python
ENV PATH /usr/local/bin:$PATH

# http://bugs.python.org/issue19846
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK.
ENV LANG C.UTF-8

# runtime dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
        tcl \
        tk \
    && rm -rf /var/lib/apt/lists/*

ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D
ENV PYTHON_VERSION 3.6.4

RUN set -ex \
    && buildDeps=' \
        dpkg-dev \
        tcl-dev \
        tk-dev \
    ' \
    && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \
    \
    && wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \
    && wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \
    && export GNUPGHOME="$(mktemp -d)" \
    && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
    && gpg --batch --verify python.tar.xz.asc python.tar.xz \
    && rm -rf "$GNUPGHOME" python.tar.xz.asc \
    && mkdir -p /usr/src/python \
    && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \
    && rm python.tar.xz \
    \
    && cd /usr/src/python \
    && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
    && ./configure \
        --build="$gnuArch" \
        --enable-loadable-sqlite-extensions \
        --enable-shared \
        --with-system-expat \
        --with-system-ffi \
        --without-ensurepip \
    && make -j "$(nproc)" \
    && make install \
    && ldconfig \
    \
    && apt-get purge -y --auto-remove $buildDeps \
    \
    && find /usr/local -depth \
        \( \
            \( -type d -a \( -name test -o -name tests \) \) \
            -o \
            \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \
        \) -exec rm -rf '{}' + \
    && rm -rf /usr/src/python

# make some useful symlinks that are expected to exist
RUN cd /usr/local/bin \
    && ln -s idle3 idle \
    && ln -s pydoc3 pydoc \
    && ln -s python3 python \
    && ln -s python3-config python-config

# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
ENV PYTHON_PIP_VERSION 9.0.1

RUN set -ex; \
    \
    wget -O get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; \
    \
    python get-pip.py \
        --disable-pip-version-check \
        --no-cache-dir \
        "pip==$PYTHON_PIP_VERSION" \
    ; \
    pip --version; \
    \
    find /usr/local -depth \
        \( \
            \( -type d -a \( -name test -o -name tests \) \) \
            -o \
            \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \
        \) -exec rm -rf '{}' +; \
    rm -f get-pip.py

CMD ["python3"]
leonardo-minora commented 6 years ago

esse script é a configuração que a comunidade de Python fez para adicionar o python 3 no Debian stretch ;-)

leonardo-minora commented 6 years ago

Leia ENV como export

tenpontes commented 6 years ago

Tmb não uso scripts.... ehhehehehe. Façamos o seguinte. Faz o roteiro assim:

1) Instalar o python versao X 2) Instalar tal coisa versao tal 3) ....

O resto eu faço...

leonardo-minora commented 6 years ago

👍

leonardo-minora commented 6 years ago

pelo script acima, só o python 3 e o pip :P

outra pergunta, devemos separa o repositório dessa máquina. banco nosql, alguma recomendação?

vamos colocar o repositório numa 2a máquina?

tenpontes commented 6 years ago

E o sistema é só o python? Instala ele e pronto? Vou te mandar um exemplo de roteiro pra ficar melhor de entender.... :)

Repositório de q?

Banco nosql? Se tiver falando de banco de dados, vcs que dizem quam banco a aplicação usa... instalo que for melhor pra aplicação...

tenpontes commented 6 years ago

Criei a página lá no wiki (Exemplo do Roteiro de Instalação)