Home

Awesome

Octopus - The Lua Web Framework

Wiki

Extension

Graphical widget

Object relational mapping

Security

Editor

Revision control

Database administration

Introduction

Octopus is web framework based on nginx, luajit and lua-nginx-module. It contains an automated process for creating all the required configurations for lua-nginx-module. Octopus is capable of hosting many websites at the same time. Every website is made up of units called extensions that aggregate everything needed for an MVC architecture.

The heart of the system is the build process which creates all the necessary nginx configurations, create widgets, creates type system and autowire modules in dependency injection style. build.lua together with config.lua are responsible for configurating the build/generation process, while server.sh is responsible for the actual building, installing, starting, stoping and restarting the server:

# go to bin directory
cd bin/unix
# install nginx
. ./server.sh install
# build octopus and restart server
. ./server.sh restart
# build
. ./server.sh build
# start server
. ./server.sh start
# stop server
. ./server.sh stop

Prerequisites

sudo apt-get install libssl-dev gcc g++ build-essential libtool zlib1g

Set Up

Minimum set up script:

cd bin/unix
. ./server.sh install
. ./server.sh restart

then just open localhost:8787

Demo Shop

db:dropAllTables()
db:createAllTables()
db:import("shopImport")

Copyright and License

Copyright (C) 2015-2024, StrumaSoft

All rights reserved. BSD license.