diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2019-10-08 17:04:21 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2019-10-08 17:04:21 +0000 |
| commit | ca96a23197e3d1dcb11b68cc1d15aafa516d5ac9 (patch) | |
| tree | c229acaa1192d50bf8219b7917c881ea38ff52b6 | |
| parent | add anything -> URL cast (diff) | |
| download | mmm-ca96a23197e3d1dcb11b68cc1d15aafa516d5ac9.tar.gz mmm-ca96a23197e3d1dcb11b68cc1d15aafa516d5ac9.zip | |
realtime server Dockerfile
| -rw-r--r-- | Dockerfile | 27 | ||||
| -rw-r--r-- | build/import.moon | 4 | ||||
| -rw-r--r-- | build/render_all.moon | 2 | ||||
| -rw-r--r-- | build/server.moon | 6 | ||||
| -rw-r--r-- | mmm/mmmfs/drivers/sql.moon | 6 |
5 files changed, 26 insertions, 19 deletions
@@ -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; |
