Commit 5e858976 authored by ibuler's avatar ibuler

[Update] 使用gunicorn 启动

parent 33b0e123
FROM jumpserver/base-env-alpine:latest
MAINTAINER Jumpserver Team <ibuler@qq.com>
COPY . /opt/jumpserver-web-terminal
WORKDIR /opt/jumpserver-web-terminal
RUN pip install -r requirements.txt -i https://pypi.doubanio.com/simple
# ~*~ coding: utf-8 ~*~
import os
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
class Config(object):
pass
\ No newline at end of file
DEBUG = True
# NAME = 'luna'
# BIND_HOST = '0.0.0.0'
# LISTEN_PORT = 5000
# JUMPSERVER_ENDPOINT = 'http://localhost:8080'
# ACCESS_KEY = None
# ACCESS_KEY_ENV = 'LUNA_ACCESS_KEY'
# ACCESS_KEY_STORE = os.path.join(BASE_DIR, 'luna', 'keys', '.access_key')
# LOG_DIR = os.path.join(BASE_DIR, 'luna', 'logs')
# LOG_LEVEL = 'DEBUG'
# ASSET_LIST_SORT_BY = 'ip'
# HEATBEAT_INTERVAL = 5
......@@ -6,7 +6,6 @@ from flask import g, request
from flask_httpauth import HTTPBasicAuth, HTTPTokenAuth, MultiAuth
from . import app
from .errors import unauthorized
token_auth = HTTPTokenAuth()
......
8f562c1c-bdbd-4e92-b6d1-d7b5791ce688:5c30672a-6bfa-42d3-982e-566448c88199
\ No newline at end of file
600f6241-5574-407f-b39a-c616fb2b14eb:48496c51-08fd-4eca-8c47-68b18aad72e9
\ No newline at end of file
......@@ -20,8 +20,9 @@ class Luna(Flask, AppMixin):
'NAME': 'luna',
'BIND_HOST': '0.0.0.0',
'LISTEN_PORT': 5000,
'JUMPSERVER_ENDPOINT': 'http://localhost:8080',
'JUMPSERVER_ENDPOINT': os.environ.get('JUMPSERVER_ENDPOINT') or 'http://localhost:8080',
'ACCESS_KEY': None,
'SECRET_KEY': 'Keep_secret!!',
'ACCESS_KEY_ENV': 'LUNA_ACCESS_KEY',
'ACCESS_KEY_STORE': os.path.join(BASE_DIR, 'keys', '.access_key'),
'LOG_LEVEL': 'DEBUG',
......@@ -30,13 +31,10 @@ class Luna(Flask, AppMixin):
'HEATBEAT_INTERVAL': 5,
})
app_service = None
user_service = None
def bootstrap(self):
self.app_service = AppService(app_name=self.config['NAME'],
endpoint=self.config['JUMPSERVER_ENDPOINT'])
self.user_service = UserService(app_name=self.config['NAME'],
endpoint=self.config['JUMPSERVER_ENDPOINT'])
self.app_auth()
while True:
if self.check_auth():
......@@ -49,6 +47,7 @@ class Luna(Flask, AppMixin):
def run(self, host=None, port=None, debug=None, **options):
self.bootstrap()
# logging.info('hello')
print(time.ctime())
print('Luna version %s, more see https://www.jumpserver.org' % __version__)
print('Starting ssh server at %(host)s:%(port)s' % {'host': self.config['BIND_HOST'],
......
......@@ -78,6 +78,6 @@ def handle_term_disconnect():
@socket_io.on('resize')
def handle_term_resize(json):
# print('term resize: ' + str(json))
print('term resize: ' + str(json))
pass
flask==0.12
paramiko==2.1.1
python-gssapi==0.6.4
requests==2.11.1
flask-socketio==2.8.2
flask-httpauth==3.2.1
jumpserver-python-sdk
\ No newline at end of file
jumpserver-python-sdk
gunicorn
\ No newline at end of file
#!/usr/bin/env python
# ~*~ coding: utf-8 ~*~
from luna import app
from config import Config
from luna import app
import subprocess
app.config.from_object(Config)
host = app.config['BIND_HOST']
port = app.config['LISTEN_PORT']
if __name__ == '__main__':
app.run(host=app.config['BIND_HOST'], port=app.config['LISTEN_PORT'],
debug=app.config['DEBUG'])
subprocess.call('gunicorn -k eventlet -b %s:%s -w 4 -n luna run_server:app' % (host, port), shell=True)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment