aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-10-08 17:04:21 +0000
committers-ol <s-ol@users.noreply.github.com>2019-10-08 17:04:21 +0000
commitca96a23197e3d1dcb11b68cc1d15aafa516d5ac9 (patch)
treec229acaa1192d50bf8219b7917c881ea38ff52b6
parentadd anything -> URL cast (diff)
downloadmmm-ca96a23197e3d1dcb11b68cc1d15aafa516d5ac9.tar.gz
mmm-ca96a23197e3d1dcb11b68cc1d15aafa516d5ac9.zip
realtime server Dockerfile
-rw-r--r--Dockerfile27
-rw-r--r--build/import.moon4
-rw-r--r--build/render_all.moon2
-rw-r--r--build/server.moon6
-rw-r--r--mmm/mmmfs/drivers/sql.moon6
5 files changed, 26 insertions, 19 deletions
diff --git a/Dockerfile b/Dockerfile
index af0f4b5..f8c158b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,12 +1,19 @@
-FROM nickblah/lua:5.3-luarocks-stretch AS build-env
-RUN echo "deb http://ppa.launchpad.net/jonathonf/tup/ubuntu xenial main" >/etc/apt/sources.list.d/tup.list
-RUN apt-get update
-RUN apt-get install -y --allow-unauthenticated build-essential tup sassc libmarkdown2-dev
-RUN luarocks install moonscript
+FROM nickblah/lua:5.3-luarocks-stretch
+
+RUN echo "deb http://ppa.launchpad.net/jonathonf/tup/ubuntu xenial main" \
+ >/etc/apt/sources.list.d/tup.list
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ build-essential m4 tup sassc \
+ libmarkdown2-dev libsqlite3-dev libssl-dev
RUN luarocks install discount DISCOUNT_INCDIR=/usr/include/x86_64-linux-gnu
-COPY . /build
-RUN cd /build && tup init && tup generate --config tup.docker.config build.sh && ./build.sh
+RUN luarocks install moonscript
+RUN luarocks install sqlite3
+RUN luarocks install http
+
+COPY . /code
+WORKDIR /code
+RUN tup init && tup generate --config tup.docker.config build-static.sh && ./build-static.sh
-FROM nginx:alpine
-COPY --from=build-env /build/root /usr/share/nginx/html
-RUN chmod 555 -R /usr/share/nginx/html
+EXPOSE 8000
+ENTRYPOINT ["moon", "build/server.moon", "/db.sqlite3", "0.0.0.0", "8000"]
diff --git a/build/import.moon b/build/import.moon
index aa8250e..ceb56ad 100644
--- a/build/import.moon
+++ b/build/import.moon
@@ -14,7 +14,7 @@ import SQLStore from require 'mmm.mmmfs.drivers.sql'
-- usage:
-- moon import.moon <root> [output.sqlite3]
-{ root, output } = arg
+{ root, file } = arg
assert root, "please specify the root directory"
@@ -30,7 +30,7 @@ load_facet = (filename, filepath) ->
key, value
-with SQLStore name: output, verbose: true
+with SQLStore :file, verbose: true
import_fileder = (fileder, dirpath) ->
for file in lfs.dir dirpath
continue if '.' == file\sub 1, 1
diff --git a/build/render_all.moon b/build/render_all.moon
index 7797b7b..259346b 100644
--- a/build/render_all.moon
+++ b/build/render_all.moon
@@ -21,7 +21,7 @@ import load_tree from require 'build.util'
export BROWSER, STATIC
STATIC = true
-tree = load_tree SQLStore :name
+tree = load_tree SQLStore :file
tree = tree\walk startpath if startpath
for fileder in coroutine.wrap tree\iterate
diff --git a/build/server.moon b/build/server.moon
index a9b8431..3731879 100644
--- a/build/server.moon
+++ b/build/server.moon
@@ -163,9 +163,9 @@ class Server
print msg
-- usage:
--- moon server.moon [db.sqlite3]
-{ file } = arg
+-- moon server.moon [db.sqlite3] [host] [port]
+{ file, host, port } = arg
tree = load_tree SQLStore :file
-server = Server tree
+server = Server tree, :host, port: port and tonumber port
server\listen!
diff --git a/mmm/mmmfs/drivers/sql.moon b/mmm/mmmfs/drivers/sql.moon
index 514985c..9337dd8 100644
--- a/mmm/mmmfs/drivers/sql.moon
+++ b/mmm/mmmfs/drivers/sql.moon
@@ -2,7 +2,7 @@ sqlite = require 'sqlite3'
class SQLStore
new: (opts = {}) =>
- opts.name or= 'db.sqlite3'
+ opts.file or= 'db.sqlite3'
opts.verbose or= false
opts.memory or= false
@@ -13,8 +13,8 @@ class SQLStore
@log "opening in-memory DB..."
@db = sqlite.open_memory!
else
- @log "opening '#{opts.name}'..."
- @db = sqlite.open opts.name
+ @log "opening '#{opts.file}'..."
+ @db = sqlite.open opts.file
assert @db\exec [[
PRAGMA foreign_keys = ON;