Last active
April 16, 2024 22:30
-
-
Save h0tw1r3/ccf7668552fae5d14148 to your computer and use it in GitHub Desktop.
Aria2c systemd service
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |
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.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 toUser={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 thatfile-allocation=falloc
is best for newer file systems, e.g., ext4. I think that's what most Linux users have, especially newbies.