Compare commits

..

24 Commits

Author SHA1 Message Date
fe7aa8d879 add jmakdah2 and moosemower as maintainers
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2026-05-11 16:37:01 -07:00
c82a68bb97 Merge pull request 'chore: Configure Renovate' (#22) from renovate/configure into main
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #22
2026-03-16 09:15:13 +00:00
2a635edeed chore: publish 5.2.0+v3.0.20 release
Some checks failed
continuous-integration/drone/push Build is failing
Note: this upgrade incorporates the fix for Loomio edit issue (https://github.com/loomio/loomio/issues/11903)
Reviewed-on: https://git.coopcloud.tech/coop-cloud/loomio/pulls/23
Reviewed-by: ammaratef45 <ammaratef45@proton.me>
Co-authored-by: Jackie Makdah <jackiemak22@proton.me>
Co-committed-by: Jackie Makdah <jackiemak22@proton.me>
2026-03-13 01:05:20 +00:00
6c8e4706f1 Add renovate.json
Some checks failed
continuous-integration/drone/pr Build is failing
2026-03-10 19:21:45 +00:00
4fd70fe19a chore: publish 5.1.3+v3.0.0 release
Some checks failed
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2026-02-19 20:27:09 -08:00
6a7050cd1f add app_url env variable
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2025-12-15 21:42:32 -08:00
2ea69cb952 chore: publish 5.1.2+v3.0.0 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-08-03 15:58:57 -07:00
a323593824 Merge pull request 'fix for OAUTH_ENABLED check' (#17) from patch_5.1.1_release into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #17
Reviewed-by: ammaratef45 <ammaratef45@proton.me>
2025-08-03 22:55:54 +00:00
746413e31e fix for OAUTH_ENABLED check
Some checks failed
continuous-integration/drone/pr Build is failing
2025-08-02 12:37:16 -07:00
973fd2a751 chore: publish 5.1.1+v3.0.0 release
Some checks failed
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2025-07-31 17:08:31 -07:00
0a33f87074 Merge pull request 'update entrypoint version' (#16) from patch_5.1.0_release into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #16
2025-08-01 00:07:30 +00:00
90ddc72c37 update entrypoint version
Some checks failed
continuous-integration/drone/pr Build is failing
2025-07-31 17:04:55 -07:00
c2421778af chore: publish 5.1.0+v3.0.0 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-07-31 16:55:05 -07:00
efa3e2e036 remove manual release notes 2025-07-31 16:54:44 -07:00
5deafb6ed5 Merge pull request 'add OAuth2 env variables' (#14) from jmakdah2/loomio:OAuth2 into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #14
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2025-07-31 23:30:50 +00:00
8e577ae8af add OAUTH_ENABLED env variable
Some checks failed
continuous-integration/drone/pr Build is failing
2025-07-28 21:07:16 -07:00
9531f4fe40 add compose.oauth.yml file
Some checks failed
continuous-integration/drone/pr Build is failing
2025-07-27 17:52:57 -07:00
e9ec238865 add OAuth2 env variables
Some checks failed
continuous-integration/drone/pr Build is failing
2025-07-23 16:17:11 -07:00
bc6f625ac5 chore: publish 5.0.0+v3.0.0 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-06-25 10:47:34 -07:00
79a45d9aca Merge pull request 'make channels container externally available' (#12) from fix-channels-container into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #12
Reviewed-by: 3wordchant <3wordchant@noreply.git.coopcloud.tech>
2025-06-06 19:19:06 +00:00
ca5f94f089 little more security
Some checks failed
continuous-integration/drone/pr Build is failing
2025-05-04 13:48:40 +02:00
6aeb853a3a add swarm-cronjob to install guide
Some checks failed
continuous-integration/drone/pr Build is failing
2025-05-03 15:44:06 +02:00
5a94634d19 add CORS header
Some checks failed
continuous-integration/drone/pr Build is failing
2025-05-03 15:04:31 +02:00
92a1cbe865 make channels container externally available
Some checks failed
continuous-integration/drone/pr Build is failing
2025-05-03 14:30:53 +02:00
12 changed files with 135 additions and 7 deletions

View File

@ -22,6 +22,7 @@ steps:
SECRET_SECRET_COOKIE_TOKEN_VERSION: v1
SECRET_DB_PASSWORD_VERSION: v1
SECRET_SMTP_PASSWORD_VERSION: v1
SECRET_OAUTH_APP_SECRET_VERSION: v1
trigger:
branch:
- main

View File

@ -90,3 +90,17 @@ SECRET_DB_PASSWORD_VERSION=v1
# THEME_ACCENT_COLOR=rgb(0,188,212)
# THEME_TEXT_ON_PRIMARY_COLOR=rgb(255,255,255)
# THEME_TEXT_ON_ACCENT_COLOR=rgb(255,255,255)
# env variables needed to enable OAuth2 authentication
# COMPOSE_FILE="$COMPOSE_FILE:compose.oauth.yml"
# OAUTH_ENABLED=1
# OAUTH_AUTH_URL=
# OAUTH_TOKEN_URL=
# OAUTH_PROFILE_URL=
# OAUTH_SCOPE=
# OAUTH_APP_KEY=
# OAUTH_ATTR_UID=
# OAUTH_ATTR_NAME=
# OAUTH_ATTR_EMAIL=
# OAUTH_LOGIN_PROVIDER_NAME=
# SECRET_OAUTH_APP_SECRET_VERSION=v1

View File

@ -0,0 +1,16 @@
---
name: "Loomio pull request template"
about: "Loomio pull request template"
---
<!--
Thank you for doing recipe maintenance work!
Please mark all checklist items which are relevant for your changes.
Please remove the checklist items which are not relevant for your changes.
Feel free to remove this comment.
-->
* [ ] I have deployed and tested my changes
* [ ] I have [updated relevant versions in `abra.sh`](https://docs.coopcloud.tech/maintainers/upgrade/#updating-versions-in-the-abrash)
* [ ] I have made my environment variable changes [backwards compatible](https://docs.coopcloud.tech/maintainers/upgrade/#backwards-compatible-environment-variable-changes)
* [ ] I have added a [release note entry](https://docs.coopcloud.tech/maintainers/upgrade/#creating-new-release-notes)

32
MAINTENANCE.md Normal file
View File

@ -0,0 +1,32 @@
# Loomio Recipe Maintenance
All contributions should be made via a pull request. This is to ensure a
certain quality and consistency, that others can rely on.
## Maintainer Responsibilities
A recipe maintainer has the following responsibilities:
- Respond to pull requests / issues within a week
- Make image security updates within a day
- Make image patch / minor updates within a week
- Make image major updates within a month
In order to fullfill these responsibilities a recipe maintainer:
- Has to watch the repository (to get notifications)
- Needs to make sure renovate is configured properly
## Pull Requests
A pull request can be merged if it is approved by at least one maintainer. For
pull requests opened by a maintainer they need to be approved by another
maintainer. Even though it is okay to merge a pull request with one approval, it
is always better if all maintainers looked at the pull request and approved it.
## Become a maintainer
Everyone can apply to be a recipe maintainer:
1. Watch the repository to always get updates
2. Simply add your self to the list in the [README.md](./README.md) and open a new pull request with the change.
3. Once the pull request gets merged you will be added to the [loomio maintainers team](https://git.coopcloud.tech/org/coop-cloud/teams/loomio-maintainers).

View File

@ -3,6 +3,7 @@
"Loomio is a collaborative decision-making tool that makes it easy for anyone to participate in decisions which affect them. To find out more, visit Loomio.org."
<!-- metadata -->
* **Maintainer**: [@jmakdah2](https://git.coopcloud.tech/jmakdah2)[@moosemower](https://git.coopcloud.tech/moosemower)
* **Category**: Apps
* **Status**: 3, work-in-progress
* **Image**: [`loomio/*`](https://hub.docker.com/r/loomio), 4, upstream
@ -21,6 +22,7 @@
* `abra app deploy <app-name>`
* Open the configured domain in your browser to create your user account (only works in case mail is configured correctly)
* Give yourself admin rights by running `abra app cmd <app-name> app make_last_user_admin`
* Deploy [swarm-cronjob](https://recipes.coopcloud.tech/swarm-cronjob) on your server if it is not running yet. This is needed for loomios cron container to be started to do hourly chores.
## Migration guide

View File

@ -1,4 +1,4 @@
export LOOMIO_ENTRYPOINT_VERSION=v6
export LOOMIO_ENTRYPOINT_VERSION=v8
# cannot be integrated into entrypoint.sh as it requires the operator to create a user first
function make_last_user_admin()
@ -13,4 +13,4 @@ function set_new_db_password()
echo "setting new password for db user..."
psql -U $POSTGRES_USER -c "ALTER USER $POSTGRES_USER PASSWORD '$(cat /run/secrets/db_password)';"
echo "done"
}
}

31
compose.oauth.yml Normal file
View File

@ -0,0 +1,31 @@
version: "3.8"
x-oauth-env: &oauth-env
OAUTH_AUTH_URL:
OAUTH_TOKEN_URL:
OAUTH_PROFILE_URL:
OAUTH_SCOPE:
OAUTH_APP_KEY:
OAUTH_APP_SECRET_FILE: /run/secrets/oauth_app_secret
OAUTH_ATTR_UID:
OAUTH_ATTR_NAME:
OAUTH_ATTR_EMAIL:
OAUTH_LOGIN_PROVIDER_NAME:
OAUTH_ENABLED:
services:
app:
environment:
*oauth-env
secrets:
- oauth_app_secret
worker:
environment:
*oauth-env
secrets:
- oauth_app_secret
secrets:
oauth_app_secret:
name: ${STACK_NAME}_oauth_app_secret_${SECRET_OAUTH_APP_SECRET_VERSION}
external: true

View File

@ -32,7 +32,7 @@ x-environment: &default-env
services:
app:
image: loomio/loomio:v2.25.4
image: loomio/loomio:v3.0.20
configs:
- source: entrypoint
target: /entrypoint.sh
@ -70,10 +70,16 @@ services:
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "coop-cloud.${STACK_NAME}.version=4.0.2+v2.25.4"
- "coop-cloud.${STACK_NAME}.version=5.2.0+v3.0.20"
- "backupbot.backup:=${ENABLE_BACKUPS:-true}"
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}"
- "traefik.http.middlewares.${STACK_NAME}.headers.accesscontrolallowmethods=GET,OPTIONS,PUT"
- "traefik.http.middlewares.${STACK_NAME}.headers.accesscontrolallowheaders=*"
- "traefik.http.middlewares.${STACK_NAME}.headers.accessControlAllowOriginList=https://*.${DOMAIN}"
- "traefik.http.middlewares.${STACK_NAME}.headers.accesscontrolmaxage=100"
- "traefik.http.middlewares.${STACK_NAME}.headers.addvaryheader=true"
worker:
image: loomio/loomio:v2.25.4
image: loomio/loomio:v3.0.0
configs:
- source: entrypoint
target: /entrypoint.sh
@ -116,7 +122,7 @@ services:
backupbot.restore: "true"
backupbot.restore.post-hook: sh -c 'gzip -d /postgres.dump.gz && pg_restore --clean -U "$$POSTGRES_USER" --dbname="$$POSTGRES_DB" < /postgres.dump && rm -f /postgres.dump'
redis:
image: redis:5.0
image: redis:8.0
networks:
- backend
healthcheck:
@ -133,12 +139,25 @@ services:
image: loomio/loomio_channel_server
networks:
- backend
- proxy
depends_on:
- redis
environment:
<<: *redis-env
VIRTUAL_HOST: channels.${DOMAIN}
APP_URL: ${DOMAIN}
deploy:
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.channels${STACK_NAME}.rule=Host(`channels.${DOMAIN}`)"
- "traefik.http.routers.channels${STACK_NAME}.tls=true"
- "traefik.http.routers.channels${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.http.services.channels${STACK_NAME}.loadbalancer.server.port=5000"
- "traefik.http.routers.channels${STACK_NAME}.entrypoints=web-secure"
cron:
image: loomio/loomio:v2.25.4
image: loomio/loomio:v3.0.0
configs:
- source: entrypoint
target: /entrypoint.sh

View File

@ -25,6 +25,11 @@ file_env "DEVISE_SECRET"
file_env "SECRET_COOKIE_TOKEN"
file_env "POSTGRES_PASSWORD"
file_env "SMTP_PASSWORD"
if [ "$OAUTH_ENABLED" = "1" ]; then
file_env "OAUTH_APP_SECRET"
fi
export DB_HOST="db"
export DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_DB}"

1
release/5.1.0+v3.0.0 Normal file
View File

@ -0,0 +1 @@
Add support for OAuth2. To use this feature copy and populate the new oauth2 env variables from the .env.sample to your locale .env config and insert the oauth2_app_secret secret into your recipe:

1
release/5.2.0+v3.0.20 Normal file
View File

@ -0,0 +1 @@
upgrade loomio from version 3.0.0 to 3.0.20

6
renovate.json Normal file
View File

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}