為了方便用戶部署自己的shadowsocks和ss-panel,花了兩天時間學習和編寫dockerfile,做了一個docker版本,歡迎下載使用。 Docker版本地址 https://hub.docker.com/r/maxidea/ss-panel/ 本Docker鏡像基於官方ubuntu版本
為了方便用戶部署自己的shadowsocks和ss-panel,花了兩天時間學習和編寫dockerfile,做了一個docker版本,歡迎下載使用。
Docker版本地址
https://hub.docker.com/r/maxidea/ss-panel/
本Docker鏡像基於官方ubuntu版本,已包含所需的nginx、php、mysql、redis、shadowsocks等安裝包和環境。
Docker版本安裝
系統要求
1) Docker要求64位的系統且內核版本至少為3.10(如果是Ubuntu 12.04 LTS,則要求內核版本至少是3.13)
2) 磁碟剩餘空間2GB以上
安裝流程
1) 安裝docker
wget -qO- https://get.docker.com/ | sh
2) 下載鏡像
docker pull maxidea/ss-panel
3) 初次運行鏡像
docker run -d -P maxidea/ss-panel docker ps
看容器是否正常啟動,例如:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 90d665f94787 maxidea/ss-panel "/usr/bin/supervisord" 13 seconds ago Up 12 seconds 0.0.0.0:32777->80/tcp, 0.0.0.0:32776->1025/tcp, 0.0.0.0:32775->1026/tcp, 0.0.0.0:32774->1027/tcp, 0.0.0.0:32773->1028/tcp nostalgic_stonebraker
進入容器, CONTAINER ID樣例里為90d665f94787
docker exec -i -t <CONTAINER ID> /bin/bash
創建ss-panel管理員帳戶
root@[CONTAINER ID]:/ cd /opt/ss-panel; php xcat createAdmin
正常輸出:
add admin/ 創建管理員帳號.....Enter your email/輸入管理員郵箱: 123@qq.com Enter password for: 123@qq.com / 為 123@qq.com 添加密碼 123 Email: 123@qq.com, Password: 123! Press [Y] to create admin..... 按下[Y]確認來確認創建管理員賬戶..... Y
重啟動shadowsocks服務:
root@[CONTAINER ID]:/ supervisorctl restart shadowsocks root@[CONTAINER ID]:/ supervisorctl restart nginx
root@[CONTAINER ID]:/ exit #退出容器
4) 保存修改到鏡像
docker commit <container_id> maxidea/ss-panel
5) 再次啟動鏡像,後臺運行,並指定埠對外
(用戶埠1025為剛建立的admin賬號使用,對應的密碼登錄ss-panel可見)
(1026以後的埠為新用戶使用,每創建一個新用戶請加一個埠映射,例子如下:)
docker run -d -p 80:80 -p 1025:1025 -p 1026:1026 -p 1027:1027 maxidea/ss-panel
管理ss-panel
1) 用戶管理
使用admin賬號登錄後臺:http://youripaddress:port/admin
2) 監控shadowsocks進程
宿主:
docker exec <CONTAINER ID> supervisorctl tail -f shadowsocks stderr
或者在容器內:
supervisorctl tail -f shadowsocks stderr
Dockerfile代碼:
因為學習docker只有兩天時間,對dockerfile的理解還是比較膚淺,希望各位多提意見,項目地址:https://hub.docker.com/r/maxidea/ss-panel/~/dockerfile/
dockerfile代碼:
1 # ss-panel 2 # 3 # VERSION 3.0 4 5 # auto build from my github project: https://github.com/maxidea-com/ss-panel 6 7 FROM ubuntu:14.04 8 9 # make sure the package repository is up to date 10 RUN apt-get -y update && apt-get install -y redis-server 11 RUN echo "mysql-server-5.6 mysql-server/root_password password pw123456" | sudo debconf-set-selections 12 RUN echo "mysql-server-5.6 mysql-server/root_password_again password pw123456" | sudo debconf-set-selections 13 RUN apt-get -y install mysql-server-5.6 14 RUN apt-get -y install git curl php5 php-guzzle php5-mysql nginx php5-fpm 15 RUN apt-get install -y python-pip python-m2crypto 16 RUN pip install cymysql 17 RUN cd /opt; git clone -b manyuser https://github.com/mengskysama/shadowsocks.git 18 RUN rm -f /opt/shadowsocks/shadowsocks/Config.py 19 RUN rm -f /opt/shadowsocks/shadowsocks/config.json 20 RUN apt-get -y install supervisor 21 RUN cd /opt; git clone https://github.com/maxidea-com/ss-panel.git 22 RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/bin --filename=composer 23 RUN cd /opt/ss-panel/; composer install 24 RUN chmod -R 777 /opt/ss-panel/storage 25 RUN rm -f /etc/nginx/sites-available/default 26 27 ADD Config.py /opt/shadowsocks/shadowsocks/Config.py 28 ADD config.json /opt/shadowsocks/shadowsocks/config.json 29 ADD shadowsocks.conf /etc/supervisor/conf.d/shadowsocks.conf 30 ADD supervisor.conf /etc/supervisor/conf.d/supervisor.conf 31 ADD 3line.sh /opt/3line.sh 32 ADD mysql-init.sh /opt/mysql-init.sh 33 ADD .env /opt/ss-panel/.env 34 ADD default /etc/nginx/sites-available/default 35 36 RUN /bin/bash /opt/3line.sh 37 RUN service mysql start 38 RUN /bin/bash /opt/mysql-init.sh 39 40 RUN apt-get clean && apt-get autoclean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 41 42 EXPOSE 80 1025 1026 1027 1028 43 44 45 CMD ["/usr/bin/supervisord"] 46 47 48 # contact 49 MAINTAINER SimonXu, [email protected]