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

View file

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

View file

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