Giter VIP home page Giter VIP logo

lua-app's Introduction

Lua - Lapis + MySQL

Como Rodar

Para testar a aplicação da forma mais fácil possível baixe a imagem do Docker hectorvido/lapis:alpine e torne o código da aplicação disponível em /opt/app:

git clone https://github.com/hector-vido/lua-app.git
cd lua-app/container
podman build -t lua-app -f Containerfile ../
podman run --rm -ti -v $PWD:/opt/app -p 8080:8080 --name lapis lua-app

A maioria das dependências já estão disponíveis dentro do contêiner

Para fazer login na aplicação será necessário executar uma migration, mas para isso é preciso antes conectá-la a um banco de dados MySQL conforme a explicação mais abaixo.

MySQL

Um banco de dados MySQL é necessário e suas dados são especificados no arquivo config.lua:

config('development', {
  mysql = {
    host = '172.17.0.1',
    port = '3306',
    user = 'lua',
    password = '4linux',
    database = 'lua'
  }
})

Observação: Quando utilizamos o Docker o endereço 172.17.0.1 é a máquina hospedeira.

podman run -dti --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD='!Abc123' -e MYSQL_USER=lua -e MYSQL_PASSWORD=4linux -e MYSQL_DATABASE=lua mysql:8.3

Dependências

Para instalar apenas as dependências da aplicação é possível executar o seguinte comando:

luarocks build --only-deps app-0.1-1.rockspec

Atenção: Muitas dependências necessitam dos arquivos de cabeçalho para compilação

Migration

Para popular o banco e criar as tabelas necessárias entre no contêiner e execute lapis migrate a partir do diretório da aplicação:

podman exec -ti lapis sh
cd /opt/app
lapis migrate

Antenção: Verifique se os dados de acesso no arquivo config.lua estão corretos.

lua-app's People

Contributors

hector-vido avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.