8 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
5 changed files with 42 additions and 17 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"
+16 -15
View File
@@ -7,31 +7,32 @@ services:
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:
@@ -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.2.1+v1.2.0"
- "coop-cloud.${STACK_NAME}.version=1.2.2+v1.2.0"
volumes:
- "data:/data"
healthcheck: