Alexander Schäferdiek
eb3a1178b6
All checks were successful
continuous-integration/drone/push Build is passing
|
||
---|---|---|
_man | ||
_pkg | ||
etc | ||
usr | ||
.drone.yml | ||
README.md | ||
sync |
README
dotfiles-system is a collection of helper systemd services, systemd timers and shell scripts for common configuration and tasks like
- checking if systemd services and timers are running
- borgmatic backup
- restic backup
- checking if docker containers are running
- batch docker-compose upgrades
- docker housekeeping for removing unused docker containers, volumes and images
- dynamic dns update
- update check for pacman
- memory and disk checks
Provided systemd services mostly support mail notifications if they have failed via systemd_failure_notify.
See /usr/share/doc/dotfiles-system
for example configurations which should
be copied inside $HOME or /etc depending on the helper script.
Installation
- Build a
pacman
package for ArchLinux viamakepkg -csi
inside the_pkg/
folder - Alternatively, use
./sync
from the git clone and pick an action which should be self-explaining - Use the custom provided ArchLinux repository hosted at
aur.myservermanager.com
[repo-aur-myservermanager-com]
SigLevel = Never
Server = https://aur.myservermanager.com
Usage
Services and scripts don't depend on each other but have hints that they can be
combined (out-commented line in service files for systemd_failure_notify@.service
for example).
Examples are given inside usr/share/doc/dotfiles-system
.
FAQ
User cannot use network-online.target
By default, no user unit can depend on system events like network-online.target
.
To enable this, you need to link the proper .target
which you like to use inside
the user service before.
systemctl --user link /usr/lib/systemd/system/network-online.target
This would make network-online.target
available after a reboot to the user who issued the command.
network-online.target
doesn't recognize DNS correctly
If you like to set Persistent=true
, then you should probably equip the related .service
file with a ExecStartPre=/bin/bash -c 'until host captiveportal.myservermanager.com; do sleep 1; done'
or any domain you think is 100% reachable.