@@ -82,15 +82,31 @@ prepare_data_volume() {
8282 chown -R root:systemd-journal /data/log/journal
8383 chmod 2755 /data/log/journal
8484 journalctl --flush
85+ if [[ ! -f /data/log/lastlog ]]; then
86+ touch /data/log/lastlog
87+ chgrp utmp /data/log/lastlog
88+ chmod 664 /data/log/lastlog
89+ fi
8590}
8691
8792set_hostname () {
93+ OLD_HOSTNAME=" $( cat /etc/hostname) "
94+
8895 SYSTEM_HOSTNAME=" $( jq_config ' .hostname // empty' ) "
96+ if [[ -n " ${SYSTEM_HOSTNAME} " && ! -f /etc/hostname ]]; then
97+ local r1 r2 hn
98+ r1=$( printf " %02X" $(( RANDOM % 256 )) )
99+ r2=$( printf " %02X" $(( RANDOM % 256 )) )
100+ SYSTEM_HOSTNAME=" device-${r1}${r2} "
101+ fi
89102 if [[ -n " ${SYSTEM_HOSTNAME} " ]]; then
90103 echo " Setting hostname to $SYSTEM_HOSTNAME "
91104 echo " $SYSTEM_HOSTNAME " > " /etc/hostname"
92105 hostname " $SYSTEM_HOSTNAME "
93106 fi
107+ if [[ -n " ${REINIT:- } " && " ${OLD_HOSTNAME} " != " ${SYSTEM_HOSTNAME} " ]]; then
108+ systemctl restart networking
109+ fi
94110}
95111
96112configure_network () {
@@ -210,7 +226,10 @@ create_ssh_hostkey() {
210226
211227configure_docker () {
212228 jq ' {
213- "log-level": "info",
229+ "log-driver": "journald",
230+ "log-opts": {
231+ "tag": "{{.Name}}"
232+ },
214233 "storage-driver": "overlay2",
215234 "data-root": "/data/docker",
216235 "bip": (.docker_bridge_net // "10.235.255.1/24"),
@@ -221,14 +240,16 @@ configure_docker() {
221240 # total: 4*128 = 512 networks
222241 }
223242 ],
243+ "max-concurrent-downloads": 3,
244+ "max-concurrent-uploads": 3,
224245 "no-new-privileges": true,
225246 "live-restore": true,
226247 "userland-proxy": false,
227248 "default-ulimits": {
228249 "nofile": {
229- "Hard": 20000,
230- "Name": "nofile",
231- "Soft": 20000
250+ "Hard": 20000,
251+ "Name": "nofile",
252+ "Soft": 20000
232253 }
233254 },
234255 "seccomp-profile": "/etc/docker/seccomp-default.json"
0 commit comments