21 lines
		
	
	
		
			800 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			800 B
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/env python3
 | 
						|
from lybmods import lybrary, lybpqconn, lybpqsession
 | 
						|
from lybmods.lybformauth import check_auth
 | 
						|
from lybmods import lybcfg
 | 
						|
from cherrypy.process.plugins import Daemonizer, DropPrivileges, PIDFile
 | 
						|
from pwd import getpwnam
 | 
						|
import cherrypy
 | 
						|
cherrypy.log.screen = None
 | 
						|
lybpqconn.create_schema()
 | 
						|
cherrypy.lib.sessions.PgsqlSession = lybpqsession.PgsqlSession
 | 
						|
cherrypy.tools.auth = cherrypy.Tool('before_handler', check_auth)
 | 
						|
cherrypy.config.update({
 | 
						|
    'server.socket_port': lybcfg.webport,
 | 
						|
    'server.socket_host': '0.0.0.0',
 | 
						|
})
 | 
						|
 | 
						|
DropPrivileges(cherrypy.engine, umask=0o640, uid=getpwnam(lybcfg.user).pw_uid, gid=getpwnam(lybcfg.user).pw_gid).subscribe()
 | 
						|
PIDFile(cherrypy.engine, lybcfg.pid).subscribe()
 | 
						|
Daemonizer(cherrypy.engine).subscribe()
 | 
						|
cherrypy.quickstart(lybrary.Root())
 |