15 Commits
Author SHA1 Message Date
p4u1 4b346cab41 chore: publish 1.2.2+v1.2.0 release 2026-11-09 18:56:36 +01:00
p4u1 2d09613201 fix: remove default value from LAUTI_OSM_TILE_SERVER because it escapes wrong 2026-11-09 18:26:06 +01:00
devydaveanddevydave b3d530878b feat: adds provisional crowdsec (#9)
this is an WIP feature, but needs to be added because of current attacks happening

---------

Co-authored-by: devydave <yannick-dev@tutanota.com>
Reviewed-on: #9
2026-07-18 10:17:40 +00:00
stevensting e4ce500895 Merge pull request 'feat: adds anubis bot protection' (#8) from feat-anubis-support into main
Reviewed-on: #8
2026-07-17 16:21:14 +00:00
devydave 26e14827dd feat: adds anubis bot protection 2026-05-22 10:19:47 +02:00
p4u1 efaf2f99d7 feat: add FEDERATION_MODE to compose file
This is intentionally not added to the .env.sample because the feature
is not ready yet.
2026-05-15 17:49:12 +02:00
p4u1andstevensting 962dabc1fe docs: Updates README (#2)
Co-authored-by: stevensting <stevensting@noreply.git.coopcloud.tech>
Reviewed-on: #2
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2026-05-12 06:51:03 +00:00
stevensting 0446e677d2 make all pre-set env-vars configurable via env.sample (#6)
Reviewed-on: #6
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
Co-authored-by: stevensting <stefan@klasse-methode.it>
Co-committed-by: stevensting <stefan@klasse-methode.it>
2026-05-12 06:50:44 +00:00
stevensting 0b1991f7db chore: publish 1.2.1+v1.2.0 release 2026-03-18 11:53:49 +01:00
p4u1 9e4b91abc2 fix(deploy): deploy -f works now (#3)
Lauti does not support running two instances at the same time. Therefore we need to stop the running instance first and then start the new one.

This also depends on https://codeberg.org/Klasse-Methode/lauti/pulls/1172

Reviewed-on: https://git.coopcloud.tech/coop-cloud/lauti/pulls/3
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2026-03-17 22:39:42 +00:00
stevensting 73c6182cb1 chore: publish 1.2.0+v1.2.0 release 2026-03-17 22:24:59 +01:00
stevensting 4c947217f4 Merge pull request 'chore: Configure Renovate' (#4) from renovate/configure into main
Reviewed-on: #4
2026-03-17 21:22:27 +00:00
stevensting f660b32591 Merge pull request 'chore: update image tag' (#5) from release1.2 into main
Reviewed-on: #5
2026-03-17 21:22:08 +00:00
stevensting 3a22ac7be7 chore: update image tag 2026-03-17 22:16:57 +01:00
renovate-bot 92beec95f2 Add renovate.json 2026-03-10 17:51:40 +00:00
7 changed files with 51 additions and 19 deletions
+3
View File
@@ -30,6 +30,9 @@ LAUTI_THEME=default # 'default' creates a new theme based on the lauti theme
#LAUTI_MAIL_ALLOW_LIST=mail@example.com,mail2@example.com
#LAUTI_MAIL_SMTP_SECURE=SSL
## Anubis
#COMPOSE_FILE="$COMPOSE_FILE:compose.anubis.yml"
## Debugging
#LAUTI_DEBUG=false
#LAUTI_LOG_LEVEL=info
+9 -2
View File
@@ -1,12 +1,16 @@
# LAUTI
> [LAUTI](https://codeberg.org/Klasse-Methode/lauti) is a calendar software where one can publish events, groups and places. It is intended for use in cities or areas. It features a public event list, a group list, a place list, all available as RSS and ICAL feeds. Adding events, groups an places is only granted to registered organizations or individuals. Invitation links can be easily generated. Admins can create own highly customizable frontends/themes based on go templates, markdown files, css and javascript in the admin area. The admin area features a basic messaging system, user management, tags and management of event categories and topics. LAUTI also provides a public Rest API and runs as progressive web app.
> [LAUTI](lauti.org) is a calendar software where one can publish events, groups and places. It is intended for use in cities or areas. It features a public event list, a group list, a place list, all available as RSS and ICAL feeds. Adding events, groups an places is only granted to registered organizations or individuals. Invitation links can be easily generated. Admins can create own highly customizable frontends/themes based on go templates, markdown files, css and javascript in the admin area. The admin area features a basic messaging system, user management, tags and management of event categories and topics. LAUTI also provides a public Rest API and runs as progressive web app.
<!-- metadata -->
* **Category**: Apps
* **Status**: 3
* **Status (new)**: Stable
* **Maintainers**: [Klasse & Methode](https://klasse-methode.it) (@p4u1 @p4u1_f4u1:matrix.org, @stevensting @stevensting:matrix.org)
* **LICENSE**: [AGPL-3.0-only](https://codeberg.org/Klasse-Methode/lauti/src/branch/main/LICENSES/AGPL-3.0-only.txt)
* **Image**: [`lauti`](https://codeberg.org/Klasse-Methode/-/packages/container/lauti), 4, upstream
* **Repository**: [codeberg.org/Klasse-Methode/lauti](https://codeberg.org/Klasse-Methode/lauti)
* **Status**: 3
* **Healthcheck**: Yes
* **Backups**: Yes
* **Email**: Yes
@@ -22,3 +26,6 @@
* `abra app deploy <app-name>`
For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech).
### Important
Crowdsec is WIP and is not released yet for the traefik recipe.
+7
View File
@@ -0,0 +1,7 @@
---
version: "3.8"
services:
app:
deploy:
labels:
- "traefik.http.routers.${STACK_NAME}.middlewares=anubis"
+7
View File
@@ -0,0 +1,7 @@
---
version: "3.8"
services:
app:
deploy:
labels:
- "traefik.http.routers.${STACK_NAME}.middlewares=crowdsec@file"
+18 -17
View File
@@ -3,41 +3,42 @@ version: "3.8"
services:
app:
image: codeberg.org/klasse-methode/lauti:${IMAGE_TAG:-1.1.1}
image: codeberg.org/klasse-methode/lauti:${IMAGE_TAG:-v1.2.0}
networks:
- proxy
environment:
- LAUTI_SQLITE_DB=/data/lauti.db
- LAUTI_ADDR=0.0.0.0:3333
- LAUTI_HTTP_READ_TIMEOUT=5s
- LAUTI_HTTP_WRITE_TIMEOUT=5s
- LAUTI_HTTP_HANDLER_TIMEOUT=5s
- LAUTI_SEARCH_INDEX_PATH=/data/lauti.bleve
- LAUTI_SEARCH_TIMEOUT=5s
- LAUTI_SEARCH_RESULT_CACHE_SIZE=100
- LAUTI_SEARCH_BUCKET_CACHE_SIZE=100
- LAUTI_SQLITE_DB=${LAUTI_SQLITE_DB:-/data/lauti.db}
- LAUTI_ADDR=${LAUTI_ADDR:-0.0.0.0:3333}
- LAUTI_HTTP_READ_TIMEOUT=${LAUTI_HTTP_READ_TIMEOUT:-5s}
- LAUTI_HTTP_WRITE_TIMEOUT=${LAUTI_HTTP_WRITE_TIMEOUT:-5s}
- LAUTI_HTTP_HANDLER_TIMEOUT=${LAUTI_HTTP_HANDLER_TIMEOUT:-5s}
- LAUTI_SEARCH_INDEX_PATH=${LAUTI_SEARCH_INDEX_PATH:-/data/lauti.bleve}
- LAUTI_SEARCH_TIMEOUT=${LAUTI_SEARCH_TIMEOUT:-5s}
- LAUTI_SEARCH_RESULT_CACHE_SIZE=${LAUTI_SEARCH_RESULT_CACHE_SIZE:-100}
- LAUTI_SEARCH_BUCKET_CACHE_SIZE=${LAUTI_SEARCH_BUCKET_CACHE_SIZE:-100}
- LAUTI_ADMIN_EMAIL
- LAUTI_MEDIA_PATH=/data/media
- LAUTI_MEDIA_PATH=${LAUTI_MEDIA_PATH:-/data/media}
- LAUTI_ADMIN_PASSWORD_FILE=/run/secrets/admin_password
- LAUTI_BASE_URL=https://${DOMAIN}
- LAUTI_KILLSWITCH_HASHES
- LAUTI_TIMEZONE
- LAUTI_LOCALE
- LAUTI_THEME
- LAUTI_THEMES_PATH=/data/themes
- LAUTI_OSM_TILE_CACHE_DIR=/data/cache/osm
- LAUTI_OSM_TILE_SERVER=https://tile.openstreetmap.org/{z}/{x}/{y}.png
- LAUTI_THEMES_PATH=${LAUTI_THEMES_PATH:-/data/themes}
- LAUTI_OSM_TILE_CACHE_DIR=${LAUTI_OSM_TILE_CACHE_DIR:-/data/cache/osm}
- LAUTI_OSM_TILE_SERVER
- LAUTI_DEBUG
- LAUTI_AUTH_KEY_PATH=/data/auth-key
- LAUTI_AUTH_KEY_PATH=${LAUTI_AUTH_KEY_PATH:-/data/auth-key}
- LAUTI_OIDC_ISSUER
- LAUTI_OIDC_SCOPES
- LAUTI_OIDC_INTROSPECT
- LAUTI_FEDERATION_MODE
secrets:
- admin_password
deploy:
update_config:
failure_action: rollback
order: start-first
order: stop-first
labels:
- "traefik.enable=true"
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
@@ -49,7 +50,7 @@ services:
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.permanent=true"
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
- "backupbot.backup=true"
- "coop-cloud.${STACK_NAME}.version=1.1.2+1.1.1"
- "coop-cloud.${STACK_NAME}.version=1.2.2+v1.2.0"
volumes:
- "data:/data"
healthcheck:
+1
View File
@@ -0,0 +1 @@
Gracefull shutdown is fixed. You can use deploy -f from now on instead of the undeploy/deploy workaround.
+6
View File
@@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}