initial commit

This commit is contained in:
Sebastian Hugentobler 2016-08-16 10:48:34 +02:00
commit 10c655c720
No known key found for this signature in database
GPG key ID: 7BBE74D3F626FC0F
10 changed files with 230 additions and 0 deletions

View file

@ -0,0 +1,3 @@
[template]
src = "nginx.conf.tmpl"
dest = "/var/lib/koreader-sync/server/config/nginx.conf"

View file

@ -0,0 +1,3 @@
[template]
src = "redis.conf.tmpl"
dest = "/etc/redis.conf"

View file

@ -0,0 +1,3 @@
[template]
src = "redis.lua.tmpl"
dest = "/var/lib/koreader-sync/server/db/redis.lua"

View file

@ -0,0 +1,38 @@
pid tmp/{{"{{"}}GIN_ENV{{"}}"}}-nginx.pid;
# This number should be at maxium the number of CPU on the server
worker_processes 4;
#daemon off;
events {
# Number of connections per worker
worker_connections 4096;
}
http {
# use sendfile
sendfile on;
# Gin initialization
{{"{{"}}GIN_INIT{{"}}"}}
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
server {
# List port
listen {{"{{"}}GIN_PORT{{"}}"}};
keepalive_timeout 70;
# Access log with buffer, or disable it completetely if unneeded
access_log logs/{{"{{"}}GIN_ENV{{"}}"}}-access.log combined buffer=16k;
# access_log off;
# Error log
error_log logs/{{"{{"}}GIN_ENV{{"}}"}}-error.log debug;
# Gin runtime
{{"{{"}}GIN_RUNTIME{{"}}"}}
}
}

View file

@ -0,0 +1,49 @@
{{if (getenv "REDIS_BIND")}}
bind {{getenv "REDIS_BIND"}}
{{end}}
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
daemonize no
supervised no
loglevel notice
logfile ''
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /var/lib/redis/
{{if (getenv "REDIS_PASSWORD")}}
requirepass {{getenv "REDIS_PASSWORD"}}
{{end}}
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

View file

@ -0,0 +1,44 @@
local Gin = require 'gin.core.gin'
-- First, specify the environment settings for this database, for instance:
local DbSettings = {
development = {
host = "127.0.0.1",
port = 6379,
database = 1,
pool = 5
},
test = {
host = "127.0.0.1",
port = 6379,
database = 2,
pool = 5
},
production = {
host = "{{getenv "REDIS_HOST"}}",
port = 6379,
database = 3,
pool = 5
}
}
-- Then initialize and return your database:
local Redis = {
options = {},
}
function Redis:new()
local redis = require("resty.redis")
local option = DbSettings[Gin.env]
local red = redis:new()
red:set_timeout(1000) -- 1 sec
local ok, err = red:connect(option.host, option.port)
if ok then
red:select(option.database)
return red
end
end
return Redis

View file

@ -0,0 +1,5 @@
#!/usr/bin/with-contenv sh
cd /var/lib/koreader-sync/server
s6-setuidgid syncer gin start
tail -f /var/lib/koreader-sync/server/logs/production-access.log