Compare commits

...
22 Commits
Author SHA1 Message Date
junv 5429f4ebc5 Use master branch 2021-05-21 07:41:52 +10:00
junv 10d1d6e139 Add deploy to heroku button 2021-05-21 07:36:07 +10:00
junv d1d91da0de use for heroku 2021-05-21 07:25:34 +10:00
junv 346d54937b use dynamic port for heroku mode 2021-05-21 07:11:25 +10:00
junv 16f2c119b8 Correct env names for heroku 2021-04-16 16:55:45 +10:00
junv b0f68d7cc8 update heroku app.json 2021-04-16 16:49:58 +10:00
junv 6c14c22f1d add heroku.yml 2021-04-16 16:35:17 +10:00
junv b61bdcf173 Add heroku app.json 2021-04-16 16:30:15 +10:00
junv 1cb67615c3 Bump Rclone,Filebrowser and AriaNg to latest release versions 2021-04-16 16:11:08 +10:00
junv 9f05b5b178 Fix filebrowser sharing issue 2021-04-16 16:04:42 +10:00
junvandGitHub 9a045ddd90 Update README.md 2021-04-07 23:50:42 +10:00
junvandGitHub 5e427d6243 Update README.md 2021-04-07 23:44:28 +10:00
junv 89e6a4eb63 Use Alpine edge to fix the CVE-2020-27780 secutiry volunability issue 2021-04-07 23:35:46 +10:00
junv f11ddb8352 #158 Update url paths for ariaNg and filebrowser 2021-04-07 23:35:46 +10:00
junv 14a3ad5e53 rollback change to install.sh 2021-01-31 15:33:02 +11:00
junv 2d7a2fbe78 switch to docker script for buildx 2021-01-31 15:33:02 +11:00
junv 4796f04e6f fix build error on arm64 2021-01-31 15:33:02 +11:00
junvandGitHub 6b2f07ca73 Create FUNDING.yml 2021-01-30 07:42:48 +11:00
junvandGitHub fb8dae785e Update README.CN.md 2021-01-25 23:03:45 +11:00
junvandGitHub 9d3cd8cff8 Update README.CN.md 2021-01-25 23:03:15 +11:00
junvandGitHub 554489a936 Update README.CN.md 2021-01-25 23:02:52 +11:00
junvandGitHub 5086ded836 Update README.md 2021-01-25 23:02:08 +11:00
13 changed files with 176 additions and 55 deletions
+12
View File
@@ -0,0 +1,12 @@
# These are supported funding model platforms
github: [wahyd4]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: https://www.paypal.me/junvzhao
+6 -2
View File
@@ -36,8 +36,12 @@ jobs:
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
--build-arg VCS_REF=${GITHUB_SHA::8} \
${TAGS} --file Dockerfile .
- name: Set up Docker Buildx
uses: crazy-max/ghaction-docker-buildx@v3
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Cache Docker layers
uses: actions/cache@v2
+11 -8
View File
@@ -4,22 +4,25 @@
{$DOMAIN}
redir /ui /ui/ 301
redir /ui / 301
redir /ui/ / 301
redir /rclone /rclone/ 301
redir /files /files/ 301
reverse_proxy /jsonrpc 127.0.0.1:6800
route /rclone/* {
uri strip_prefix /rclone
reverse_proxy http://localhost:5572
reverse_proxy 127.0.0.1:5572
}
route /ui/* {
uri strip_prefix /ui
root * /usr/local/www/aria2
file_server
route /files/* {
uri strip_prefix /files
reverse_proxy 127.0.0.1:8080
}
reverse_proxy 127.0.0.1:8080
reverse_proxy /jsonrpc 127.0.0.1:6800
root * /usr/local/www/aria2
file_server
encode gzip
log {
+2 -2
View File
@@ -1,4 +1,4 @@
FROM alpine:latest
FROM alpine:edge
LABEL AUTHOR=Junv<wahyd4@gmail.com>
@@ -21,7 +21,7 @@ ENV XDG_CONFIG_HOME=/app/.caddy/config
ADD install.sh aria2c.sh caddy.sh Procfile init.sh start.sh rclone.sh /app/
ADD conf /app/conf
ADD Caddyfile SecureCaddyfile /usr/local/caddy/
ADD Caddyfile SecureCaddyfile HerokuCaddyfile /usr/local/caddy/
RUN ./install.sh
+36
View File
@@ -0,0 +1,36 @@
{
debug
admin off
auto_https off
}
:PORT
basicauth / {
ARIA2_USER ARIA2_PWD_ENCRYPT
}
redir /ui / 301
redir /ui/ / 301
redir /rclone /rclone/ 301
redir /files /files/ 301
reverse_proxy /jsonrpc 127.0.0.1:6800
route /rclone/* {
uri strip_prefix /rclone
reverse_proxy 127.0.0.1:5572
}
route /files/* {
uri strip_prefix /files
reverse_proxy 127.0.0.1:8080
}
root * /usr/local/www/aria2
file_server
encode gzip
log {
output stderr
}
+1 -1
View File
@@ -1,4 +1,4 @@
filebrowser: /app/filebrowser -p 8080 -d /app/filebrowser.db -r /data
caddy: /app/caddy.sh
filebrowser: /app/filebrowser -p 8080 -d /app/filebrowser.db -r /data -b /files
aria2c: /app/aria2c.sh
rclone: /app/rclone.sh
+9 -5
View File
@@ -5,7 +5,11 @@ Aria2 + AriaNg
[![](https://images.microbadger.com/badges/image/wahyd4/aria2-ui.svg)](https://microbadger.com/images/wahyd4/aria2-ui "Get your own image badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/wahyd4/aria2-ui.svg)](https://hub.docker.com/r/wahyd4/aria2-ui/)
[![Github Build](https://github.com/wahyd4/aria2-ariang-docker/workflows/Docker%20Image%20CI/badge.svg)](https://github.com/wahyd4/aria2-ariang-docker/actions)
[![Page Views Count](https://badges.toozhao.com/badges/01EJ791D8BB43PDS8D7PP7H0YE/green.svg)](https://badges.toozhao.com/badges/01EJ791D8BB43PDS8D7PP7H0YE/green.svg "Get your own page views count badge on badges.toozhao.com")
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/wahyd4/aria2-ariang-docker/tree/master)
[![Page Views Count](https://badges.toozhao.com/badges/01EJ791D8BB43PDS8D7PP7H0YE/green.svg)](https://badges.toozhao.com/stats/01EJ791D8BB43PDS8D7PP7H0YE "Get your own page views count badge on badges.toozhao.com")
<img src="https://raw.githubusercontent.com/wahyd4/work-in-australia/766592ac6318027d7b3c334d8c50ca80818eeff8/wepay.jpg" alt="buy me a drink" width="120"/>
@@ -40,7 +44,7 @@ File Browser
* 自动 HTTPS Let's Encrypt
* 支持绑定自定义用户ID,可以主机上的非`root`用户,也可以管理下载的文件
* Basic Auth 用户认证
* 文件管理和视频播放 ([File Browser](https://filebrowser.xyz/),注意默认情况下,只能访问和管理 `/data` 目录下的文件)
* 文件管理和视频播放 ([FileBrowser](https://filebrowser.xyz/),注意默认情况下,只能访问和管理 `/data` 目录下的文件)
* 支持ARM CPU 架构,因此可以在树莓派等设备上运行,
## 推荐使用的docker image tag
@@ -57,10 +61,10 @@ File Browser
docker buildx build --platform linux/arm/v7,linux/arm64,linux/amd64 -t aria2-ui .
```
* Aria2: <http://yourip/ui/>
* FileManger: <http://yourip>
* Aria2: <http://yourip>
* Filebrowser: <http://yourip/files>
* Rclone: <http://yourip/rclone>
* 请使用 admin/admin 进行登录, 在如果没有修改`ARIA2_USER`,`ARIA2_PWD`的情况下,请使用`user`/`password`登录`Rclone`
* 请使用 admin/admin 进行登录Filebrowser, 在如果没有修改`ARIA2_USER`,`ARIA2_PWD`的情况下,请使用`user`/`password`登录`Rclone`
### 开启所有功能
```bash
docker run -d --name ariang \
+12 -7
View File
@@ -5,7 +5,12 @@ English | [简体中文](https://github.com/wahyd4/aria2-ariang-docker/blob/mast
[![](https://images.microbadger.com/badges/image/wahyd4/aria2-ui.svg)](https://microbadger.com/images/wahyd4/aria2-ui "Get your own image badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/wahyd4/aria2-ui.svg)](https://hub.docker.com/r/wahyd4/aria2-ui/)
[![Github Build](https://github.com/wahyd4/aria2-ariang-docker/workflows/Docker%20Image%20CI/badge.svg)](https://github.com/wahyd4/aria2-ariang-docker/actions)
[![Page Views Count](https://badge.home.toozhao.com/svg/aria2-ariang-docker)](https://badge.home.toozhao.com/svg/aria2-ariang-docker "Page Views Count")
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/wahyd4/aria2-ariang-docker/tree/master)
[![Page Views Count](https://badges.toozhao.com/svg/aria2-ariang-docker)](https://badges.toozhao.com/stats/aria2-ariang-docker "Page Views Count")
**If you like this project, please consider support me / 如果喜欢本项目,请考虑打赏,谢谢!**
@@ -42,11 +47,11 @@ File Browser
* [Aria2 (SSL support)](https://aria2.github.io)
* [AriaNg](https://github.com/mayswind/AriaNg)
* [Rclone](https://rclone.org/)
* [File Browser](https://filebrowser.xyz/): Files mangement and videos playing
* Auto HTTPS Let's Encrypt
* Bind non root user into container, so non root user can also manage downloaded files.
* Basic Auth
* File indexing and video playing ([File Browser](https://filebrowser.xyz/))
* Support ARM CPUs, but please choose a proper [docker image TAG](https://cloud.docker.com/repository/docker/wahyd4/aria2-ui/tags)
* Support ARM CPUs as well, all supported CPU platforms can be found [here](https://cloud.docker.com/repository/docker/wahyd4/aria2-ui/tags)
* Cloud Storage platforms synchronization
## Recommended versions
@@ -63,10 +68,10 @@ File Browser
docker run -d --name aria2-ui -p 80:80 wahyd4/aria2-ui
```
* Aria2: <http://yourip/ui/>
* FileManger: <http://yourip>
* Aria2: <http://yourip>
* FileManger: <http://yourip/files>
* Rclone: <http://yourip/rclone>
* Please use `admin`/`admin` as username and password to login for the first time, and `user`/`password` to login `Rclone` if you don't update `ARIA2_USER` and `ARIA2_PWD`
* Please use `admin`/`admin` as username and password to login `Filebrowser` for the first time. And use `user`/`password` to login `Rclone` if you don't update `ARIA2_USER` and `ARIA2_PWD`
### Full features run
@@ -81,7 +86,7 @@ File Browser
-e DOMAIN=https://example.com \
-e ARIA2_SSL=false \
-e ARIA2_USER=user \
-e ARIA2_PWD=pwd \
-e ARIA2_PWD=password \
-e ARIA2_EXTERNAL_PORT=443 \
-v /yourdata:/data \
-v /app/a.db:/app/filebrowser.db \
+19 -19
View File
@@ -1,30 +1,30 @@
#{
# auto_https off
#}
{$DOMAIN}
redir /ui /ui/ 301
redir /rclone /rclone/ 301
route /rclone/* {
uri strip_prefix /rclone
reverse_proxy http://localhost:5572
}
route /ui/* {
uri strip_prefix /ui
root * /usr/local/www/aria2
file_server
}
basicauth /ui/* {
basicauth / {
ARIA2_USER ARIA2_PWD_ENCRYPT
}
reverse_proxy 127.0.0.1:8080
redir /ui / 301
redir /ui/ / 301
redir /rclone /rclone/ 301
redir /files /files/ 301
reverse_proxy /jsonrpc 127.0.0.1:6800
route /rclone/* {
uri strip_prefix /rclone
reverse_proxy 127.0.0.1:5572
}
route /files/* {
uri strip_prefix /files
reverse_proxy 127.0.0.1:8080
}
root * /usr/local/www/aria2
file_server
encode gzip
log {
output stderr
+40
View File
@@ -0,0 +1,40 @@
{
"name": "wahyd4/aria2-ariang-docker demo",
"description": "A demo of Aria2 + AriaNg + Filebrowser + Rclone",
"repository": "https://github.com/wahyd4/aria2-ariang-docker",
"keywords": ["docker", "aria2", "rclone", "fllebrowser", "ariang"],
"stack": "container",
"success_url": "/",
"env": {
"ENABLE_AUTH": {
"description": "This value must be heroku when running in Heroku",
"value": "heroku",
"required": false
},
"ARIA2_USER": {
"description": "Username to login to AriaNg",
"value": "user",
"required": false
},
"ARIA2_PWD": {
"description": "Password to login to AriaNg",
"value": "password",
"required": false
},
"ARIA2_EXTERNAL_PORT": {
"description": "External port for apps, it should be 443 when running in Heroku",
"value": "443",
"required": false
},
"PUID": {
"description": "The Linux user's ID that to run the app",
"value": "0",
"required": false
},
"PGID": {
"description": "The Linux group's ID that to run the app",
"value": "0",
"required": false
}
}
}
+21 -7
View File
@@ -1,17 +1,31 @@
#! /bin/bash -eu
echo "Run aria2c and ariaNG"
if [ "$ENABLE_AUTH" = "true" ]; then
echo "**** Generate basic auth password for caddy ****"
ARIA2_PWD_ENCRYPT=$(caddy hash-password -plaintext ${ARIA2_PWD})
case $ENABLE_AUTH in
true)
echo "Using Basic Auth config file "
export CADDY_FILE=/usr/local/caddy/SecureCaddyfile
sed -i 's/ARIA2_USER/'"${ARIA2_USER}"'/g' ${CADDY_FILE}
sed -i 's/ARIA2_PWD_ENCRYPT/'"${ARIA2_PWD_ENCRYPT}"'/g' ${CADDY_FILE}
;;
echo "**** generate basic auth password for caddy ****"
ARIA2_PWD_ENCRYPT=`caddy hash-password -plaintext ${ARIA2_PWD}`
sed -i 's/ARIA2_USER/'"${ARIA2_USER}"'/g' /usr/local/caddy/SecureCaddyfile
sed -i 's/ARIA2_PWD_ENCRYPT/'"${ARIA2_PWD_ENCRYPT}"'/g' /usr/local/caddy/SecureCaddyfile
else
heroku)
echo "Running in Heroku mode"
export CADDY_FILE=/usr/local/caddy/HerokuCaddyfile
sed -i 's/ARIA2_USER/'"${ARIA2_USER}"'/g' ${CADDY_FILE}
sed -i 's/ARIA2_PWD_ENCRYPT/'"${ARIA2_PWD_ENCRYPT}"'/g' ${CADDY_FILE}
sed -i 's/PORT/'"${PORT}"'/g' ${CADDY_FILE}
;;
*)
echo "Using caddy without Basic Auth"
export CADDY_FILE=/usr/local/caddy/Caddyfile
fi
;;
esac
/usr/local/bin/caddy run -config ${CADDY_FILE} -adapter=caddyfile
+3
View File
@@ -0,0 +1,3 @@
build:
docker:
web: Dockerfile
+4 -4
View File
@@ -2,10 +2,10 @@
echo "Set variables for $(arch)"
caddy_version=2.3.0
filebrowser_version=v2.11.0
rclone_version=v1.53.3
ariang_version=1.1.7
caddy_version=2.4.1
filebrowser_version=v2.15.0
rclone_version=v1.55.0
ariang_version=1.2.1
case "$(arch)" in