add build script
This commit is contained in:
parent
71cec8dac0
commit
2a0b8c3c77
21
Dockerfile
Normal file
21
Dockerfile
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
FROM alpine AS build-env
|
||||||
|
RUN apk add build-base make sqlite-dev zlib-dev readline-dev nodejs npm
|
||||||
|
COPY download /download
|
||||||
|
RUN cd /download/antd-1.0.4b && ./configure --prefix=/usr/ --enable-debug=yes && make && make install
|
||||||
|
RUN cd /download/lua-0.5.2b && ./configure --prefix=/opt/www --enable-debug=yes && make && make install
|
||||||
|
RUN cd /download/wterm-1.0.0b && ./configure --prefix=/opt/www --enable-debug=yes && make && make install
|
||||||
|
RUN mkdir -p /opt/www/htdocs
|
||||||
|
RUN cd /download/antd-web-apps && BUILDDIR=/opt/www/htdocs PROJS=os make
|
||||||
|
RUN rm /opt/www/htdocs/index.ls
|
||||||
|
RUN cd /download/antos && npm install terser uglifycss typescript -g && npm install @types/jquery && BUILDDIR=/opt/www/htdocs/os make release
|
||||||
|
|
||||||
|
FROM alpine
|
||||||
|
RUN apk add --no-cache sqlite-dev zlib readline-dev
|
||||||
|
|
||||||
|
COPY antd-config.ini /etc/antd-config.ini
|
||||||
|
COPY --from=build-env /usr/bin/antd /usr/bin/antd
|
||||||
|
COPY --from=build-env /usr/lib/libantd* /usr/lib/
|
||||||
|
COPY --from=build-env /opt/www /opt/www
|
||||||
|
RUN adduser --home /home/demo --disabled-password --gecos "" demo
|
||||||
|
RUN echo -e "demo\ndemo" | passwd demo
|
||||||
|
ENTRYPOINT LD_PRELOAD=/opt/www/lib/lua/core.so /usr/bin/antd /etc/antd-config.ini
|
46
README.md
46
README.md
@ -1 +1,47 @@
|
|||||||
# antosaio
|
# antosaio
|
||||||
|
|
||||||
|
Docker image layer for All-in-one AntOS VDE system.
|
||||||
|
This layer allows to build a minimal docker image with an
|
||||||
|
out-of-the-box working AntOS system:
|
||||||
|
|
||||||
|
- The web-server (HTTP only) on port 80
|
||||||
|
- AntOS server side API
|
||||||
|
- AntOS client side API
|
||||||
|
|
||||||
|
## How it works ?
|
||||||
|
The following manual requires docker to be installed on the host system.
|
||||||
|
|
||||||
|
A prebuilt image can be found in `dist`, the image can be imported
|
||||||
|
to docker and ready to use:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
wget
|
||||||
|
sudo docker load < antosaoi.tar
|
||||||
|
```
|
||||||
|
|
||||||
|
The image can be run in a container using
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo docker run -p 8080:80 -it antosaoi
|
||||||
|
```
|
||||||
|
|
||||||
|
Here we map the host port 8080 to the port 80 on the `antosaoi` container.
|
||||||
|
From the host browser, the VDE can be accessed via
|
||||||
|
|
||||||
|
```
|
||||||
|
http://localhost:8080/os/
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that: the `/` at the end of the URL is important.
|
||||||
|
|
||||||
|
### Build your own image
|
||||||
|
It is really simple to build your own AntOS docker image:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone --depth 1 https://github.com/lxsang/antosaio
|
||||||
|
cd antosaio
|
||||||
|
chmod +x bake.sh
|
||||||
|
sudo ./bake.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
The generated image can be found in `dist`, and will be loaded automatically by docker
|
77
antd-config.ini
Normal file
77
antd-config.ini
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
[SERVER]
|
||||||
|
; plugin directory
|
||||||
|
plugins=/opt/www/lib/
|
||||||
|
; plugin extension
|
||||||
|
plugins_ext=.so
|
||||||
|
; SQLITE database path
|
||||||
|
database=/opt/www/database/
|
||||||
|
; tmp dir
|
||||||
|
tmpdir=/opt/www/tmp/
|
||||||
|
; max concurent connection
|
||||||
|
maxcon=200
|
||||||
|
; server backlocg
|
||||||
|
backlog=5000
|
||||||
|
; number of workers
|
||||||
|
workers = 4
|
||||||
|
; max upload file size in bytes
|
||||||
|
max_upload_size = 10000000
|
||||||
|
|
||||||
|
; enable compression
|
||||||
|
gzip_enable = 1
|
||||||
|
gzip_types = text\/.*,.*\/css,.*\/json,.*\/javascript
|
||||||
|
|
||||||
|
; a configuration each port
|
||||||
|
|
||||||
|
|
||||||
|
[PORT:80]
|
||||||
|
htdocs=/opt/www/htdocs
|
||||||
|
; enable or disable SSL
|
||||||
|
ssl.enable=0
|
||||||
|
^\/os\/+(.*)$ = /os/router.lua?r=<1>&<query>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; This enable some plugins to be initialised at server startup
|
||||||
|
[AUTOSTART]
|
||||||
|
; to start a plugin at server statup use:
|
||||||
|
;plugin = plugin_name_1
|
||||||
|
;plugin = plugin_name_2, etc
|
||||||
|
|
||||||
|
|
||||||
|
[MIMES]
|
||||||
|
image/bmp=bmp
|
||||||
|
image/jpeg=jpg,jpeg
|
||||||
|
text/css=css
|
||||||
|
text/markdown=md
|
||||||
|
text/csv=csv
|
||||||
|
application/pdf=pdf
|
||||||
|
image/gif=gif
|
||||||
|
text/html=html,htm,chtml
|
||||||
|
application/json=json
|
||||||
|
application/javascript=js
|
||||||
|
image/png=png
|
||||||
|
image/x-portable-pixmap=ppm
|
||||||
|
application/x-rar-compressed=rar
|
||||||
|
image/tiff=tiff
|
||||||
|
application/x-tar=tar
|
||||||
|
text/plain=txt
|
||||||
|
application/x-font-ttf=ttf
|
||||||
|
application/xhtml+xml=xhtml
|
||||||
|
application/xml=xml
|
||||||
|
application/zip=zip
|
||||||
|
image/svg+xml=svg
|
||||||
|
application/vnd.ms-fontobject=eot
|
||||||
|
application/x-font-woff=woff,woff2
|
||||||
|
application/x-font-otf=otf
|
||||||
|
audio/mpeg=mp3,mpeg
|
||||||
|
|
||||||
|
[FILEHANDLER]
|
||||||
|
; specify a plugin for handling
|
||||||
|
; a file type
|
||||||
|
; lua page script
|
||||||
|
ls = lua
|
||||||
|
; pure lua script
|
||||||
|
lua = lua
|
||||||
|
; php and o ther scripting languages can be
|
||||||
|
; handled by the cgi plugin
|
||||||
|
; php = cgi
|
36
bake.sh
Executable file
36
bake.sh
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
if [ -d "download" ]; then
|
||||||
|
rm -rf download
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir download
|
||||||
|
cd download || (echo "Unable to change directory" && exit 1)
|
||||||
|
|
||||||
|
wget https://github.com/lxsang/ant-http/raw/master/dist/antd-1.0.4b.tar.gz
|
||||||
|
tar xvzf antd-1.0.4b.tar.gz
|
||||||
|
rm antd-1.0.4b.tar.gz
|
||||||
|
|
||||||
|
wget https://github.com/lxsang/antd-lua-plugin/raw/master/dist/lua-0.5.2b.tar.gz
|
||||||
|
tar xvzf lua-0.5.2b.tar.gz
|
||||||
|
rm lua-0.5.2b.tar.gz
|
||||||
|
|
||||||
|
wget https://github.com/lxsang/antd-wterm-plugin/raw/master/dist/wterm-1.0.0b.tar.gz
|
||||||
|
tar xvzf wterm-1.0.0b.tar.gz
|
||||||
|
rm wterm-1.0.0b.tar.gz
|
||||||
|
|
||||||
|
git clone --depth 1 https://github.com/lxsang/antd-web-apps
|
||||||
|
git clone --depth 1 https://github.com/lxsang/antos
|
||||||
|
|
||||||
|
cd ../
|
||||||
|
|
||||||
|
|
||||||
|
docker build -t antosaoi .
|
||||||
|
|
||||||
|
if [ -d "download" ]; then
|
||||||
|
rm -rf download
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p dist
|
||||||
|
docker save antosaoi > dist/antosaoi.tar
|
||||||
|
# sudo docker run -p 8080:80 -it antosaoi /bin/sh
|
BIN
dist/antosaoi.tar
vendored
Normal file
BIN
dist/antosaoi.tar
vendored
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user