Compare commits
10 Commits
3727e6f7fc
...
3675b86aa2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3675b86aa2 | ||
|
|
f3b465abee | ||
|
|
7dc64ba5fd | ||
|
|
f12f5face5 | ||
|
|
7049c23bb4 | ||
|
|
5b01ea6e2f | ||
|
|
a45308bcdb | ||
|
|
fae7b184e6 | ||
|
|
f79818bd3e | ||
|
|
75eb03d763 |
4
.env
4
.env
@@ -1,5 +1,5 @@
|
||||
AWS_ACCESS_KEY_ID=AKIAY4DUYEBSTECHF6RN
|
||||
AWS_SECRET_ACCESS_KEY=tdx5eWda19/E7T3cttxDyLR2DabArOh2jHzTFV+d
|
||||
AWS_ACCESS_KEY_ID=AKIAY4DUYEBS7Q5V33PZ
|
||||
AWS_SECRET_ACCESS_KEY=xKNtPa4cWR9blAuMFUHgQdZsxnFHo0z7Y4Nhhpe0
|
||||
|
||||
SURFSHARK_USER=DezwAucfnHhCBAUgkQxysWNk
|
||||
SURFSHARK_PASSWORD=f8gXqZQQRfpBEMjvgS3H7mKd
|
||||
|
||||
@@ -29,6 +29,9 @@ ENV PATH="$PATH:/opt/pmt/bin"
|
||||
RUN apt -y remove make g++ python3-dev python3-pybind11 cmake
|
||||
RUN apt autoremove -y
|
||||
|
||||
RUN useradd collectd
|
||||
RUN apt -y install sudo
|
||||
RUN adduser collectd
|
||||
RUN usermod -aG sudo collectd
|
||||
RUN echo 'collectd ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/collectd
|
||||
|
||||
CMD ["/usr/sbin/collectd", "-f"]
|
||||
|
||||
@@ -111,7 +111,7 @@ LoadPlugin smart
|
||||
<Plugin disk>
|
||||
Disk "sda"
|
||||
Disk "sdb"
|
||||
Disk "nvme0"
|
||||
Disk "nvme0n1"
|
||||
IgnoreSelected false
|
||||
</Plugin>
|
||||
|
||||
@@ -123,7 +123,7 @@ LoadPlugin smart
|
||||
<Plugin "smart">
|
||||
Disk "sda"
|
||||
Disk "sdb"
|
||||
Disk "nvme0"
|
||||
Disk "nvme0n1"
|
||||
IgnoreSelected false
|
||||
</Plugin>
|
||||
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
#
|
||||
# Imports
|
||||
#
|
||||
import sys
|
||||
import time
|
||||
import argparse
|
||||
import pylikwid
|
||||
|
||||
#
|
||||
# Configuration
|
||||
#
|
||||
hostname = "server"
|
||||
cpuid = 0
|
||||
pinfo = pylikwid.getpowerinfo()
|
||||
domainid = pinfo.get("domains").get("PKG").get("ID")
|
||||
measurement_duration = 5
|
||||
measurement_interval = 15
|
||||
dinfo = pinfo.get("domains")
|
||||
domain_names = list(dinfo.keys())
|
||||
domain_ids = [domain["ID"] for domain in list(dinfo.values())]
|
||||
|
||||
#
|
||||
# Command line arguments
|
||||
#
|
||||
parser = argparse.ArgumentParser(description="Get CPU power consumption")
|
||||
parser.add_argument("-s", action="store_true", help="print in human readable format")
|
||||
args = parser.parse_args()
|
||||
human_readable = args.s
|
||||
|
||||
#
|
||||
# Methods
|
||||
#
|
||||
def get_power():
|
||||
start = list()
|
||||
end = list()
|
||||
power = list()
|
||||
for domain_id in domain_ids:
|
||||
e_start = pylikwid.startpower(cpuid, domain_id)
|
||||
start.append(e_start)
|
||||
time.sleep(measurement_duration)
|
||||
for domain_id in domain_ids:
|
||||
e_stop = pylikwid.stoppower(cpuid, domain_id)
|
||||
end.append(e_stop)
|
||||
for events in zip(start, end, domain_ids):
|
||||
joules = pylikwid.getpower(events[0], events[1], events[2])
|
||||
power.append(joules / measurement_duration)
|
||||
|
||||
return dict(list(zip(domain_names, power)))
|
||||
|
||||
|
||||
def print_rrd(measurements):
|
||||
timestamp = int(time.time())
|
||||
for measurement in list(measurements.items()):
|
||||
name = measurement[0].lower()
|
||||
power = measurement[1]
|
||||
print(
|
||||
(
|
||||
"PUTVAL {}/exec-power/gauge-{} {}:{:.1f}".format(
|
||||
hostname, name, timestamp, power
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
#
|
||||
# Main
|
||||
#
|
||||
if human_readable:
|
||||
print(get_power())
|
||||
else:
|
||||
while True:
|
||||
power = get_power()
|
||||
print_rrd(power)
|
||||
sys.stdout.flush()
|
||||
time.sleep(measurement_interval)
|
||||
@@ -9,6 +9,6 @@ services:
|
||||
- /opt/facette/etc:/etc/facette
|
||||
- /opt/facette/var:/var/lib/facette
|
||||
- /opt/collectd/var:/var/lib/collectd
|
||||
- /media/scratch/collectd/shuttle/rrd/server:/var/lib/collectd/rrd/shuttle
|
||||
- /media/scratch/collectd/shuttle/rrd/shuttle:/var/lib/collectd/rrd/shuttle
|
||||
- /media/scratch/collectd/sepia/rrd/sepia:/var/lib/collectd/rrd/sepia
|
||||
- /media/scratch/collectd/kratos/rrd/kratos:/var/lib/collectd/rrd/kratos
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
filebrowser:
|
||||
container_name: filebrowser
|
||||
image: filebrowser/filebrowser:v2.28.0
|
||||
image: filebrowser/filebrowser:v2.31.2
|
||||
ports:
|
||||
- 8001:80
|
||||
volumes:
|
||||
|
||||
@@ -26,7 +26,7 @@ services:
|
||||
- PHOTOPRISM_DATABASE_DRIVER=sqlite
|
||||
- PHOTOPRISM_UID=1000
|
||||
- PHOTOPRISM_GID=1000
|
||||
image: photoprism/photoprism:231128
|
||||
image: photoprism/photoprism:250321
|
||||
ports:
|
||||
- 2342:2342
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -4,10 +4,6 @@ services:
|
||||
image: linuxserver/rsnapshot:1.4.5
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /opt/rsnapshot/etc:/etc/rsnapshot
|
||||
- /opt/rsnapshot/var/log:/var/log
|
||||
- /opt/rsnapshot/var/run:/var/run
|
||||
- /opt/rsnapshot/var/spool:/var/spool
|
||||
- /opt/rsnapshot/usr:/host/usr
|
||||
- /opt/rsnapshot:/config
|
||||
- /media/jupiter/rsnapshot:/host/scratch
|
||||
- /root/.ssh:/root/.ssh
|
||||
- /root/.ssh:/root/.ssh:ro
|
||||
|
||||
@@ -1,14 +1,47 @@
|
||||
services:
|
||||
seafile:
|
||||
container_name: seafile
|
||||
environment:
|
||||
- MODE=autorun
|
||||
image: gronis/seafile:10.0.1
|
||||
seafile-mysql:
|
||||
image: mariadb:10.11
|
||||
container_name: seafile-mysql
|
||||
ports:
|
||||
- 8100:8000
|
||||
- 8180:8080
|
||||
- 8182:8082
|
||||
restart: unless-stopped
|
||||
- "13306:3306"
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=ROOT_PASSWORD
|
||||
- MYSQL_LOG_CONSOLE=true
|
||||
- MARIADB_AUTO_UPGRADE=1
|
||||
volumes:
|
||||
- /opt/seafile:/seafile:rw
|
||||
- /media/seafile:/seafile/seafile-data:rw
|
||||
- /opt/seafile/database:/var/lib/mysql
|
||||
healthcheck:
|
||||
test:
|
||||
[
|
||||
"CMD",
|
||||
"/usr/local/bin/healthcheck.sh",
|
||||
"--connect",
|
||||
"--mariadbupgrade",
|
||||
"--innodb_initialized",
|
||||
]
|
||||
interval: 20s
|
||||
start_period: 30s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
seafile-server:
|
||||
image: seafileltd/seafile-mc:12.0-latest
|
||||
container_name: seafile-server
|
||||
ports:
|
||||
- "8082:80"
|
||||
volumes:
|
||||
- /opt/seafile/server:/shared
|
||||
- /media/seafile:/shared/seafile/seafile-data
|
||||
environment:
|
||||
- DB_HOST=seafile-mysql
|
||||
- DB_PORT=3306
|
||||
- DB_ROOT_PASSWD=ROOT_PASSWORD
|
||||
- DB_PASSWORD=PASSWORD
|
||||
- TIME_ZONE=Europe/Amsterdam
|
||||
- INIT_SEAFILE_ADMIN_EMAIL=admin@veenboer.xyz
|
||||
- INIT_SEAFILE_ADMIN_PASSWORD=asecret
|
||||
- SEAFILE_SERVER_HOSTNAME=seafile.bram.veenboer.xyz
|
||||
- SEAFILE_SERVER_PROTOCOL=http
|
||||
- JWT_PRIVATE_KEY=8LzWzeuQ41z1i8fc1cr1L7Kw80VpTgmT
|
||||
depends_on:
|
||||
- seafile-mysql
|
||||
|
||||
@@ -9,7 +9,7 @@ services:
|
||||
- transmission
|
||||
extra_hosts:
|
||||
- transmission:192.168.2.150
|
||||
image: linuxserver/sonarr:4.0.4.1491-ls236
|
||||
image: linuxserver/sonarr:4.0.12
|
||||
ports:
|
||||
- 18989:8989
|
||||
restart: unless-stopped
|
||||
|
||||
Reference in New Issue
Block a user