- 
      
- 
        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-pathinExecStartto 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: