Compare commits

...

8 Commits

Author SHA1 Message Date
9fe2679b91 Improve maintenance import-data script 2026-06-06 01:49:38 +00:00
781f6bbe07 Add instructions on how to import test data to MAINTENANCE.md 2026-05-21 21:15:45 -07:00
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
6 changed files with 124 additions and 2 deletions

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)

97
MAINTENANCE.md Normal file
View File

@ -0,0 +1,97 @@
# 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).
# Testing Loomio Changes
As a maintainer, it is helpful to have a dev environment to test changes. One can easily be created in the usual way with `abra app new loomio`, but to test changes and upgrades it's good to have a database with a bunch of test data.
## Populating with test data
You can either make some artificial test data, or import test data from an existing Loomio instance. https://help.loomio.com/en/user_manual/groups/data_export/index.html is super helpful here. Here's a summary:
1. Export existing data from a running instance by having an admin go to a group and click [the "Export group data" settings option](https://help.loomio.com/en/user_manual/groups/data_export/index.html#export-data)
2. Fully deploy a clean test instance of Loomio. Note: importing might not work well on a database that has data in it, so you might want to wipe your test instance when doing an import, if it already has data in it
3. Copy the json into the Loomio `app` container by doing
```shell
[local] $ scp loomio-testdata.json username@your-domain.org:loomio-deploy/import/
[local] $ ssh username@your-domain.org
[your-domain.org] $ docker ps | grep loomio | grep app # note down the loomio app container id
[your-domain.org] $ sudo docker cp ~/loomio-deploy/import/loomio-testdata.json <loomio-app-container-id>:/import/loomio-testdata.json
```
4. Set up your rails tools
```shell
[your-domain.org] $ docker exec -it <loomio-app-container-id> bash
[loomio] $ DB_PASS="$(cat /run/secrets/db_password)"
[loomio] $ echo "production:
adapter: postgresql
host: db
database: loomio_production
username: postgres
password: ${DB_PASS}
port: 5432" > config/database.yml
[loomio] $ cd /loomio && RAILS_ENV=production EDITOR=vi bundle exec rails credentials:edit
```
5. Process the Loomio test data export, to get it into your dev instance's database:
```shell
[loomio] $ rails console
[loomio][rails] > GroupExportService.import('/import/loomio-testdata.json')
```
## Manipulating the loomio db
If you want to drop your loomio db(!!), you can do so by logging in to the `db` container:
```shell
[your-domain.org] $ docker ps | grep loomio | grep _db # find your loomio _db_ container id
[your-domain.org] $ docker exec -it <loomio-db-container-id> bash
[loomio-db] # su postgres
[loomio-db] $ dropdb loomio_production
[loomio-db] $ createdb loomio_production
```
From here, you can do something like recreate it, from the app container:
```shell
[your-domain.org] $ docker ps | grep loomio | grep app # find your loomio app container id
[your-domain.org] $ docker exec -it <loomio-app-container-id> bash
[loomio-app] $ rake db:setup # you may have to run through step 4 from earlier
```

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) and [@moosemower](https://git.coopcloud.tech/moosemower)
* **Category**: Apps
* **Status**: 3, work-in-progress
* **Image**: [`loomio/*`](https://hub.docker.com/r/loomio), 4, upstream

View File

@ -32,7 +32,7 @@ x-environment: &default-env
services:
app:
image: loomio/loomio:v3.0.0
image: loomio/loomio:v3.0.20
configs:
- source: entrypoint
target: /entrypoint.sh
@ -70,7 +70,7 @@ 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=5.1.2+v3.0.0"
- "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"
@ -145,6 +145,7 @@ services:
environment:
<<: *redis-env
VIRTUAL_HOST: channels.${DOMAIN}
APP_URL: ${DOMAIN}
deploy:
labels:
- "traefik.enable=true"

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"
]
}