Compare commits

...

2 commits

Author SHA256 Message Date
root
88cb20a9c7
really fucked compose split to reduce memory usage 2026-02-17 00:47:20 +01:00
root
c36aac5dbb
borgmatic 2026-02-17 00:47:14 +01:00
5 changed files with 137 additions and 39 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
.env*
.id*

78
borgmatic-config.yaml Normal file
View file

@ -0,0 +1,78 @@
source_directories:
- /etc
- /var/lib/pretix
- /var/lib/pretalx
repositories:
- path: ssh://hosting202341@ae89d.netcup.net/backup/vm-chaosevent-01
label: netcup
- path: ssh://ctbk-backup.ext.selfnet.de/media/backupstorage/vm-chaosevent-01
label: selfnet
working_directory: /etc/events
# exclude_patterns:
# - '*.pyc'
# - /home/*/.cache
# - '*/.vim*.tmp'
# - /etc/ssl
# - /home/user/path with spaces
# exclude_from:
# - /etc/borgmatic/excludes
exclude_caches: true
exclude_nodump: true
encryption_passcommand: cat /etc/borgmatic/key
compression: zstd,10
upload_rate_limit: 10000
retries: 3
retry_wait: 10
ssh_command: ssh -i /etc/events/.id_ed25519
borg_base_directory: /var/lib/borg
borg_cache_directory: /var/cache/borg
archive_name_format: 'events-{now:%Y-%m-%dT%H:%M:%S}'
keep_within: 1d
keep_daily: 7
keep_weekly: 4
keep_monthly: 12
# keep_yearly: 1
checks:
- name: repository
frequency: 1 week
- name: extract
frequency: 3 weeks
only_run_on:
- Monday
check_last: 3
postgresql_databases:
- name: all
username: postgres
format: plain
compression: none
uptime_kuma:
push_url: https://status.ctbk.de/api/push/bjjOh4jeSZO5pNg2L3WkudJxR2RK2ccs
# loki:
# Grafana loki log URL to notify when a backup begins,
# ends, or fails.
# url: http://localhost:3100/loki/api/v1/push
# Allows setting custom labels for the logging stream. At
# least one label is required. "__hostname" gets replaced by
# the machine hostname automatically. "__config" gets replaced
# by the name of the configuration file. "__config_path" gets
# replaced by the full path of the configuration file.
# labels:
# app: borgmatic
# config: __config
# hostname: __hostname

View file

@ -1,6 +1,6 @@
# useful variables
x-pretix-port: &pretix-port 80
x-pretalx-port: &pretalx-port 81
x-pretix-port: &pretix-port 8080
x-pretalx-port: &pretalx-port 8081
# defaults for web port configs
x-web: &web
@ -11,66 +11,83 @@ x-web: &web
x-service-defaults: &service-defaults
restart: always
### Containers
services:
# Pretix
pretix:
x-pretix: &pretix-base
<<: *service-defaults
image: harbor.aalen.space/sfz.aalen/infra/images/pretix-ctbk:1743074527
depends_on: [memcached, valkey]
ports:
- name: web-v6
<<: *web
published: *pretix-port
host_ip: "[::]"
- name: web-v4
<<: *web
published: *pretix-port
host_ip: "0.0.0.0"
volumes:
- ./pretix.cfg:/etc/pretix/pretix.cfg
- /var/run/postgresql:/run/postgresql
- /run/valkey:/run/valkey
- /run/memcached:/run/memcached
- /var/lib/pretix:/data
environment:
- TZ=Europe/Berlin
env_file: ".env-pretix"
# Pretalx
pretalx:
<<: *service-defaults
image: harbor.aalen.space/sfz.aalen/infra/images/pretalx-ctbk:1741346032
depends_on: [valkey]
restart: always
### Containers
services:
# Pretix
pretix-web:
<<: *pretix-base
ports:
- name: web-v6
<<: *web
published: *pretalx-port
published: *pretix-port
host_ip: "[::]"
- name: web-v4
<<: *web
published: *pretalx-port
published: *pretix-port
host_ip: "0.0.0.0"
volumes:
- ./pretalx.cfg:/etc/pretalx/pretalx.cfg
- /var/run/postgresql:/run/postgresql
- /run/valkey:/run/valkey
- /var/lib/pretix:/data
command:
- web
environment:
- TZ=Europe/Berlin
env_file: ".env-pretalx"
- NUM_WORKERS=2
pretix-task-queue:
<<: *pretix-base
command:
- taskworker
- --concurrency
- 2
environment:
- AUTOMIGRATE=skip # migration is run by the web worker
# Pretalx
# pretalx:
# <<: *service-defaults
# image: harbor.aalen.space/sfz.aalen/infra/images/pretalx-ctbk:1741346032
# depends_on: [valkey]
# restart: always
# ports:
# - name: web-v6
# <<: *web
# published: *pretalx-port
# host_ip: "[::]"
# - name: web-v4
# <<: *web
# published: *pretalx-port
# host_ip: "0.0.0.0"
# volumes:
# - ./pretalx.cfg:/etc/pretalx/pretalx.cfg
# - /var/run/postgresql:/run/postgresql
# - /run/valkey:/run/valkey
# - /var/lib/pretix:/data
# environment:
# - TZ=Europe/Berlin
# env_file: ".env-pretalx"
# Cache databases
memcached:
<<: *service-defaults
image: docker.io/memcached:alpine
command:
- --conn-limit=1024
- --memory-limit=64
- --threads=4
- --conn-limit=100
- --memory-limit=16
# - --conn-limit=1024
# - --memory-limit=64
# - --threads=4
- -s /run/memcached/memcached.sock
volumes:
- /run/memcached:/run/memcached

View file

@ -1,5 +1,5 @@
# TYPE DATABASE USER ADDRESS METHOD
# Database administrative login by Unix domain socket, do not disable
local all postgres peer
local all pretix trust
local all pretalx trust
local all all trust

View file

@ -9,7 +9,7 @@ registration=Off
trust_x_forwarded_for=on
[locale]
default=en
timezone=UTC
timezone=Europe/Berlin
[database]
backend=postgresql
host = /run/postgresql
@ -18,6 +18,8 @@ user = pretix
[urls]
media=/media/
static=/static/
#[metrics]
#enabled=true
[mail]
from=events@chaostreff-backnang.de
host=mxe89f.netcup.net