├── src ├── httpsqs-1.7.tar.gz ├── tokyocabinet-1.4.47.tar.gz ├── libevent-2.0.12-stable.tar.gz └── run_httpsqs.sh ├── .travis.yml ├── Dockerfile └── README.md /src/httpsqs-1.7.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ety001/docker-httpsqs/HEAD/src/httpsqs-1.7.tar.gz -------------------------------------------------------------------------------- /src/tokyocabinet-1.4.47.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ety001/docker-httpsqs/HEAD/src/tokyocabinet-1.4.47.tar.gz -------------------------------------------------------------------------------- /src/libevent-2.0.12-stable.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ety001/docker-httpsqs/HEAD/src/libevent-2.0.12-stable.tar.gz -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | services: 3 | - docker 4 | before_install: 5 | - docker build -t "ety001/httpsqs:test" . 6 | - docker images 7 | script: 8 | - docker run -d -t -i ety001/httpsqs:test 9 | - docker ps -a -------------------------------------------------------------------------------- /src/run_httpsqs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | HTTPSQS_COMMAND="/usr/bin/httpsqs " 3 | 4 | if [ ! -z ${HTTPSQS_PARAM_L} ] 5 | then 6 | HTTPSQS_COMMAND=${HTTPSQS_COMMAND}" -l "${HTTPSQS_PARAM_L} 7 | fi 8 | 9 | if [ ! -z ${HTTPSQS_PARAM_P} ] 10 | then 11 | HTTPSQS_COMMAND=${HTTPSQS_COMMAND}" -p "${HTTPSQS_PARAM_P} 12 | fi 13 | 14 | if [ ! -z ${HTTPSQS_PARAM_X} ] 15 | then 16 | HTTPSQS_COMMAND=${HTTPSQS_COMMAND}" -x "${HTTPSQS_PARAM_X} 17 | else 18 | HTTPSQS_COMMAND=${HTTPSQS_COMMAND}" -x /data " 19 | fi 20 | 21 | if [ ! -z ${HTTPSQS_PARAM_T} ] 22 | then 23 | HTTPSQS_COMMAND=${HTTPSQS_COMMAND}" -t "${HTTPSQS_PARAM_T} 24 | fi 25 | 26 | if [ ! -z ${HTTPSQS_PARAM_S} ] 27 | then 28 | HTTPSQS_COMMAND=${HTTPSQS_COMMAND}" -s "${HTTPSQS_PARAM_S} 29 | fi 30 | 31 | if [ ! -z ${HTTPSQS_PARAM_C} ] 32 | then 33 | HTTPSQS_COMMAND=${HTTPSQS_COMMAND}" -c "${HTTPSQS_PARAM_C} 34 | fi 35 | 36 | if [ ! -z ${HTTPSQS_PARAM_M} ] 37 | then 38 | HTTPSQS_COMMAND=${HTTPSQS_COMMAND}" -m "${HTTPSQS_PARAM_M} 39 | fi 40 | 41 | if [ ! -z ${HTTPSQS_PARAM_I} ] 42 | then 43 | HTTPSQS_COMMAND=${HTTPSQS_COMMAND}" -i "${HTTPSQS_PARAM_I} 44 | fi 45 | 46 | if [ ! -z ${HTTPSQS_PARAM_A} ] 47 | then 48 | HTTPSQS_COMMAND=${HTTPSQS_COMMAND}" -a "${HTTPSQS_PARAM_A} 49 | fi 50 | 51 | ${HTTPSQS_COMMAND} -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | ## Project Page: https://github.com/ety001/docker-httpsqs 2 | FROM alpine:latest 3 | MAINTAINER ety001 4 | VOLUME /data 5 | RUN apk add --no-cache alpine-sdk zlib-dev bzip2-dev bsd-compat-headers && mkdir /source \ 6 | && wget https://github.com/ety001/docker-httpsqs/raw/master/src/httpsqs-1.7.tar.gz -O /source/httpsqs-1.7.tar.gz \ 7 | && wget https://github.com/ety001/docker-httpsqs/raw/master/src/libevent-2.0.12-stable.tar.gz -O /source/libevent-2.0.12-stable.tar.gz \ 8 | && wget https://github.com/ety001/docker-httpsqs/raw/master/src/tokyocabinet-1.4.47.tar.gz -O /source/tokyocabinet-1.4.47.tar.gz \ 9 | && wget https://raw.githubusercontent.com/ety001/docker-httpsqs/master/src/run_httpsqs.sh -O /run_httpsqs.sh \ 10 | && chmod +x /run_httpsqs.sh \ 11 | && tar zxf /source/libevent-2.0.12-stable.tar.gz -C /source \ 12 | && tar zxf /source/tokyocabinet-1.4.47.tar.gz -C /source \ 13 | && tar zxf /source/httpsqs-1.7.tar.gz -C /source \ 14 | && cd /source/libevent-2.0.12-stable && ./configure --prefix=/usr/local/libevent-2.0.12-stable/ && make && make install \ 15 | && cd /source/tokyocabinet-1.4.47 && ./configure --prefix=/usr/local/tokyocabinet-1.4.47/ && make && make install \ 16 | && cd /source/httpsqs-1.7 && make && make install \ 17 | && cd / && rm -rf /source \ 18 | && apk del alpine-sdk bsd-compat-headers \ 19 | && ulimit -SHn 65535 20 | CMD ["/run_httpsqs.sh"] 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # docker-httpsqs 2 | 3 | [![Build Status](https://travis-ci.org/ety001/docker-httpsqs.svg?branch=master)](https://travis-ci.org/ety001/docker-httpsqs) [![](https://images.microbadger.com/badges/image/ety001/httpsqs.svg)](http://microbadger.com/images/ety001/httpsqs "Get your own image badge on microbadger.com") 4 | 5 | Docker for httpsqs. Detail: 6 | 7 | ``` 8 | Author: Zhang Yan (http://blog.s135.com), E-mail: net@s135.com 9 | This is free software, and you are welcome to modify and redistribute it under the New BSD License 10 | 11 | -l interface to listen on, default is 0.0.0.0 12 | -p TCP port number to listen on (default: 1218) 13 | -x database directory (example: /opt/httpsqs/data) 14 | -t keep-alive timeout for an http request (default: 60) 15 | -s the interval to sync updated contents to the disk (default: 5) 16 | -c the maximum number of non-leaf nodes to be cached (default: 1024) 17 | -m database memory cache size in MB (default: 100) 18 | -i save PID in (default: /tmp/httpsqs.pid) 19 | -a the auth password to access httpsqs (example: mypass123) 20 | -d run as a daemon 21 | -h print this help and exit 22 | 23 | Use command "killall httpsqs", "pkill httpsqs" and "kill `cat /tmp/httpsqs.pid`" to stop httpsqs. 24 | Please note that don't use the command "pkill -9 httpsqs" and "kill -9 PID of httpsqs"! 25 | 26 | Please visit "http://code.google.com/p/httpsqs" for more help information. 27 | ``` 28 | 29 | # Manual for docker-httpsqs 30 | 31 | ### Pull the docker 32 | 33 | ``` 34 | docker pull ety001/httpsqs 35 | ``` 36 | 37 | ### Config 38 | 39 | To set the docker environment to add params for `httpsqs`. 40 | 41 | ``` 42 | -l -- HTTPSQS_PARAM_L 43 | -p -- HTTPSQS_PARAM_P 44 | -x -- HTTPSQS_PARAM_X 45 | -t -- HTTPSQS_PARAM_T 46 | -s -- HTTPSQS_PARAM_S 47 | -c -- HTTPSQS_PARAM_C 48 | -m -- HTTPSQS_PARAM_M 49 | -i -- HTTPSQS_PARAM_I 50 | -a -- HTTPSQS_PARAM_A 51 | ``` 52 | 53 | ### Examples 54 | 55 | ``` 56 | docker run -d -e HTTPSQS_PARAM_A=123456 -e HTTPSQS_PARAM_P=8888 -p 8888:8888 ety001/httpsqs 57 | ``` 58 | 59 | # 使用手册 60 | 61 | ### 拉取 docker 62 | 63 | ``` 64 | docker pull ety001/httpsqs 65 | ``` 66 | 67 | ### 配置 httpsqs 参数 68 | 69 | 通过设置 `docker` 的环境变量来设置 `httpsqs` 的参数,具体对应关系如下 70 | 71 | ``` 72 | -l -- HTTPSQS_PARAM_L 73 | -p -- HTTPSQS_PARAM_P 74 | -x -- HTTPSQS_PARAM_X 75 | -t -- HTTPSQS_PARAM_T 76 | -s -- HTTPSQS_PARAM_S 77 | -c -- HTTPSQS_PARAM_C 78 | -m -- HTTPSQS_PARAM_M 79 | -i -- HTTPSQS_PARAM_I 80 | -a -- HTTPSQS_PARAM_A 81 | ``` 82 | 83 | ### 例子 84 | 85 | ``` 86 | docker run -d -e HTTPSQS_PARAM_A=123456 -e HTTPSQS_PARAM_P=8888 -p 8888:8888 ety001/httpsqs 87 | ``` 88 | 89 | --- 90 | [My Blog](http://www.domyself.me) | [Donate](http://www.domyself.me/donate) | [License: BSD-3](https://opensource.org/licenses/BSD-3-Clause) 91 | --------------------------------------------------------------------------------