2.3 KiB
2.3 KiB
App Store Mimic Flow
This flow lets you test a deployment that behaves like a marketplace install (no live source-tree app mount).
Why this exists
By default, Docker compose mounts ./nextcloud/custom_apps into the app container.
That is convenient for development, but it is not how a customer install from the Nextcloud app store behaves.
What changed
- Compose now uses
NEXTCLOUD_CUSTOM_APPS_PATH:docker-compose.ymldocker-compose.postgres.ymldocker-compose.devprod.ymldocker-compose.devprod.nossl.yml
- New helper script:
scripts/setup-appstore-mimic.sh
One-time preparation
- Configure your env file (example uses devprod):
cp .env.devprod.example .env.devprod
- Switch the env to isolated custom apps path and seed apps there:
./scripts/setup-appstore-mimic.sh --env-file .env.devprod
This sets:
NEXTCLOUD_CUSTOM_APPS_PATH=./nextcloud/custom_apps_appstore
It also seeds:
qortal_integration(copied once into isolated path)user_oidc(packaged app with vendor deps viaensure-user-oidc-app.sh)
Start stack in mimic mode
Use your normal installer/start flow:
./scripts/install-production-docker.sh --mode nossl --with-external-auth --env-file .env.devprod
or
./start-devprod.sh --nossl --extauth
Verify mimic behavior
- Confirm mount path is isolated:
docker compose -f docker-compose.devprod.nossl.yml --env-file .env.devprod exec -T app sh -lc 'ls -1 /var/www/html/custom_apps'
- Confirm required apps are enabled:
docker compose -f docker-compose.devprod.nossl.yml --env-file .env.devprod exec -T app php occ app:list | rg -n "qortal_integration|user_oidc|nuqloud_scrum"
- Confirm OIDC provider still exists:
docker compose -f docker-compose.devprod.nossl.yml --env-file .env.devprod exec -T app php occ user_oidc:provider --help
When the app is published in the marketplace
For a stricter app-store simulation:
- Remove seeded
qortal_integrationfromNEXTCLOUD_CUSTOM_APPS_PATH. - Install from app store in Nextcloud UI (or
occ app:install qortal_integrationif available in your channel). - Re-run setup/repair actions:
./scripts/finish-initial-setup.sh --nossl --env-file .env.devprod
user_oidc can remain seeded if your environment cannot reliably fetch marketplace apps.