-
-
Save h0tw1r3/ccf7668552fae5d14148 to your computer and use it in GitHub Desktop.
continue | |
dir=/var/www/downloads | |
file-allocation=falloc | |
max-connection-per-server=4 | |
max-concurrent-downloads=2 | |
max-overall-download-limit=0 | |
min-split-size=25M | |
rpc-allow-origin-all=true | |
rpc-secret=YouShouldChangeThis | |
input-file=/var/tmp/aria2c.session | |
save-session=/var/tmp/aria2c.session |
# Override or Change User and Group per your local environment | |
[Unit] | |
Description=Aria2c download manager | |
After=network.target | |
[Service] | |
Type=simple | |
User=www-data | |
Group=www-data | |
ExecStartPre=/usr/bin/env touch /var/tmp/aria2c.session | |
ExecStart=/usr/bin/aria2c --console-log-level=warn --enable-rpc --rpc-listen-all --conf-path=/etc/aria2.daemon | |
TimeoutStopSec=20 | |
Restart=on-failure | |
[Install] | |
WantedBy=multi-user.target |
Thanks guys.
I couldn't set User=www-data
. It wouldn't work with this user, and if I omitted the setting, then all the saved files were owned by root. So I changed this to User={myusername}
. There's also no need to run the arguments after the aria2c binary since the daemon can pass those same arguments anyhow (i.e., --console-log-level=warn --enable-rpc --rpc-listen-all
). Lastly, the documentation states that file-allocation=falloc
is best for newer file systems, e.g., ext4. I think that's what most Linux users have, especially newbies.
Added to config:
- rpc-secret (example, you should change!)
- rpc-allow-origin-all (easy for new users to use a web front-end like AriaNg)
- input-file and save-session to auto resume downloads on service start
- changed file-allocation to falloc for performance
Added to unit:
- ensure session file exists otherwise aria2c will fail to start
- add Group, note User and Group should be changed per your local environment
- added restart on failure
- added stop timeout
where do I put the .daemon file as user?
I know .service goes to ~/.config/systemd/user/
@tazihad if you're going to use it as a user service, change --conf-path
in ExecStart
to the path where aria2.daemon will be.
@tazihad if you're going to use it as a user service, change
--conf-path
inExecStart
to the path where aria2.daemon will be.
Systemd User Service cannot contain neither User=
or Group=
line,
otherwise it could result error like
"aria2.service: Failed to determine supplementary groups: Operation not permitted"
I just google this bug for hours, before realizing that user service cannot use any group (even user itselves' group).
it's worked !
)
more to aria2.daemon: