diff --git a/.gitignore b/.gitignore index 6f4809a..8cf7cec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .env* +.id* diff --git a/borgmatic-config.yaml b/borgmatic-config.yaml new file mode 100644 index 0000000..dc2a2c9 --- /dev/null +++ b/borgmatic-config.yaml @@ -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 + diff --git a/docker-compose.yml b/docker-compose.yml index aa3b26c..29c1634 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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 diff --git a/postgres/pg_hba.conf b/postgres/pg_hba.conf index 61f9070..037e1d1 100644 --- a/postgres/pg_hba.conf +++ b/postgres/pg_hba.conf @@ -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 + diff --git a/pretix.cfg b/pretix.cfg index 350dd5b..5cf6795 100644 --- a/pretix.cfg +++ b/pretix.cfg @@ -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