[fix] Reworks structure and adds docker
0
.dockerignore
Normal file
3
.env.template
Normal file
@ -0,0 +1,3 @@
|
||||
DB_HOST="127.0.0.1"
|
||||
DB_PORT="6379"
|
||||
DEBUG=1
|
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.env
|
29
Dockerfile
Normal file
@ -0,0 +1,29 @@
|
||||
FROM python:3.8-slim
|
||||
LABEL name=laser-app version=0.1
|
||||
|
||||
WORKDIR /opt
|
||||
RUN apt update
|
||||
RUN apt install -y --no-install-recommends build-essential\
|
||||
gcc\
|
||||
libagg2-dev\
|
||||
libpotrace-dev\
|
||||
nginx-light\
|
||||
pkg-config\
|
||||
python-dev\
|
||||
redis-server
|
||||
RUN rm -f /etc/nginx/sites-enabled/*
|
||||
RUN pip3 install flask numpy pillow redis
|
||||
RUN pip3 install pypotrace
|
||||
|
||||
COPY ./files/nginx/sites-enabled/site.conf /etc/nginx/sites-enabled
|
||||
COPY . .
|
||||
|
||||
COPY entrypoint.sh /usr/bin/
|
||||
RUN chmod +x /usr/bin/entrypoint.sh
|
||||
|
||||
EXPOSE 80
|
||||
EXPOSE 5000
|
||||
EXPOSE 9001
|
||||
|
||||
# Start the main process.
|
||||
CMD ["python", "./server.py", "-i", "db"]
|
36
docker-compose.yml
Normal file
@ -0,0 +1,36 @@
|
||||
version: '2'
|
||||
|
||||
volumes:
|
||||
laserrdb:
|
||||
external: true
|
||||
|
||||
services:
|
||||
|
||||
db:
|
||||
env_file: .env
|
||||
image: redis:6-alpine
|
||||
ports:
|
||||
- "6379:6379"
|
||||
volumes:
|
||||
- laserrdb:/var/lib/redis
|
||||
|
||||
app:
|
||||
env_file: .env
|
||||
build: .
|
||||
image: teamlaser/laser-app:latest
|
||||
ports:
|
||||
- "5000:5000"
|
||||
depends_on:
|
||||
- db
|
||||
command: python ./server.py
|
||||
|
||||
assets:
|
||||
env_file: .env
|
||||
build: .
|
||||
image: teamlaser/laser-app:latest
|
||||
ports:
|
||||
- "8080:80"
|
||||
depends_on:
|
||||
- app
|
||||
command: nginx -g 'daemon off;error_log /dev/stdout info;'
|
||||
|
5
entrypoint.sh
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
|
||||
exec "$@"
|
13
files/nginx/sites-enabled/site.conf
Normal file
@ -0,0 +1,13 @@
|
||||
server {
|
||||
server_name _;
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
root /opt/;
|
||||
location /image {
|
||||
proxy_pass http://app:5000;
|
||||
}
|
||||
# Docker specific conf
|
||||
resolver 127.0.0.11 ipv6=off;
|
||||
access_log /dev/stdout;
|
||||
|
||||
}
|
10
index.html
@ -12,12 +12,12 @@
|
||||
#canvas { margin-top: 20px; border: 1px solid #ccc; display: block; }
|
||||
span.ui-slider-handle.ui-corner-all.ui-state-default { background: dodgerblue;}
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="jquery-ui/jquery-ui.css" />
|
||||
<link rel="stylesheet" type="text/css" href="css/bootstrap/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="js/jquery-ui/jquery-ui.css" />
|
||||
|
||||
<script src="jquery-3.5.1.min.js"></script>
|
||||
<script src="jquery-ui/jquery-ui.js"></script>
|
||||
<script src="canvas.js"></script>
|
||||
<script src="js/jquery-3.5.1.min.js"></script>
|
||||
<script src="js/jquery-ui/jquery-ui.js"></script>
|
||||
<script src="js/canvas.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
@ -2,7 +2,7 @@
|
||||
$(document).ready(function(){
|
||||
|
||||
var binary_level = 100
|
||||
var url = "http://localhost"
|
||||
var url = document.URL
|
||||
|
||||
// Grab elements, create settings, etc.
|
||||
var canvas = document.getElementById('canvas');
|
Before Width: | Height: | Size: 418 B After Width: | Height: | Size: 418 B |
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 312 B |
Before Width: | Height: | Size: 262 B After Width: | Height: | Size: 262 B |
Before Width: | Height: | Size: 348 B After Width: | Height: | Size: 348 B |
Before Width: | Height: | Size: 207 B After Width: | Height: | Size: 207 B |
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 278 B After Width: | Height: | Size: 278 B |
Before Width: | Height: | Size: 328 B After Width: | Height: | Size: 328 B |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
@ -1,18 +1,35 @@
|
||||
#! /usr/bin/python3
|
||||
import flask
|
||||
from redis import Redis
|
||||
from flask import Flask, redirect, url_for, request
|
||||
import json
|
||||
import flask
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import time
|
||||
|
||||
r = Redis()
|
||||
app = Flask(__name__)
|
||||
m = hashlib.sha256()
|
||||
@app.route('/dashboard/<name>')
|
||||
def dashboard(name):
|
||||
return 'welcome %s' % name
|
||||
# Redis init
|
||||
environ = os.environ
|
||||
host = environ['DB_HOST'] if 'DB_HOST' in os.environ else "localhost"
|
||||
port = environ['DB_PORT'] if 'DB_PORT' in os.environ else 6379
|
||||
debug = environ['DEBUG'] if 'DEBUG' in os.environ else False
|
||||
sep='**************************************'
|
||||
print("\n{}\nConnecting to Redis server on {}:{}\n{}\n".format(sep,host,port,sep))
|
||||
r = Redis(host="db", port=port)
|
||||
|
||||
# hashlib init
|
||||
m = hashlib.sha256()
|
||||
|
||||
# Flask app init
|
||||
app = Flask(__name__)
|
||||
|
||||
@app.before_first_request
|
||||
def setup_logging():
|
||||
if not app.debug:
|
||||
# In production mode, add log handler to sys.stdout.
|
||||
app.logger.addHandler(logging.StreamHandler(stream=sys.stdout))
|
||||
app.logger.setLevel(logging.INFO)
|
||||
|
||||
# Routing requests
|
||||
@app.route('/image',methods = ['POST', 'GET'])
|
||||
def image():
|
||||
try:
|
||||
@ -44,6 +61,6 @@ def image():
|
||||
print("woah",e)
|
||||
return( json.dumps( {"errors":[ str(e)]}))
|
||||
|
||||
|
||||
# Run Flask
|
||||
if __name__ == '__main__':
|
||||
app.run(debug = True)
|
||||
app.run(host= '0.0.0.0',debug = True)
|