参考
https://hub.docker.com/r/psitrax/psitransfer/
https://hub.docker.com/r/psitrax/psitransfer/~/dockerfile/
dockerのimageがalpineベースで40MBほどと小さい。
アクセス制限
uploadできる人を制限したかった。basic認証でもよいですね。
ファイル準備
mkdir data
chown -R 1000 data
mkdir nginx
touch nginx/proxy
touch docker-compose.yml
docker-compose.yml
uploader:
image: psitrax/psitransfer
restart: always
#ports:
# - "3000:3000"
volumes:
- /etc/localtime:/etc/localtime
- ./data:/data
nginx:
image: nginx
restart: always
environment:
- TZ=Asia/Tokyo
volumes:
- ./nginx/proxy:/etc/nginx/conf.d/default.conf
ports:
- "8080:8080"
links:
- uploader
nginx/proxy
server {
listen 8080;
location / {
limit_except GET {
allow XX.XX.XX.XX; #uploadを許可したいIP
allow 127.0.0.1;
deny all;
}
proxy_pass http://uploader:3000;
break;
}
}
起動
docker-compose up -d
http://ipaddress:8080/ にアクセス
許可しているIP以外からのアクセスはuploadが失敗すること、
ダウンロードは可能なことを確認。