Skip to content

feat: add ownCloud Infinite Scale template - #888

Merged
Siumauricio merged 4 commits into
Dokploy:canaryfrom
BinkyTwin:codex/add-owncloud-infinite-scale-template
Jul 8, 2026
Merged

Siumauricio merged 4 commits into
Dokploy:canaryfrom
BinkyTwin:codex/add-owncloud-infinite-scale-template

Conversation

@BinkyTwin

Copy link
Copy Markdown
Contributor

Summary

  • add an ownCloud Infinite Scale template backed by the official 8.0.3 oCIS image
  • configure Dokploy domain routing, generated admin password, and persistent config/data/thumbnail volumes
  • add README mount, SVG logo, and metadata entry

/claim #152
Closes #37

Validation

  • node dedupe-and-sort-meta.js
  • node --import ./build-scripts/node_modules/tsx/dist/loader.mjs build-scripts/validate-template.ts --dir blueprints/owncloud-infinite-scale
  • node --import ./build-scripts/node_modules/tsx/dist/loader.mjs build-scripts/validate-docker-compose.ts --file blueprints/owncloud-infinite-scale/docker-compose.yml
  • OCIS_URL=https://ocis.example.com IDM_ADMIN_PASSWORD=dummy-password OCIS_LOG_LEVEL=info docker compose -f blueprints/owncloud-infinite-scale/docker-compose.yml config
  • git diff --check

Note: Docker Hub manifest inspection was unavailable locally because the unauthenticated client hit Docker Hub rate limits.

Copilot AI review requested due to automatic review settings May 20, 2026 20:17
@dosubot dosubot Bot added size:M This PR changes 30-99 lines, ignoring generated files. new-template labels May 20, 2026
@github-actions

github-actions Bot commented May 20, 2026 •

Copy link
Copy Markdown
built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
templates ✅ Ready (View Log) Visit Preview 448d4ba

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Dokploy blueprint for deploying ownCloud Infinite Scale (oCIS), including compose/runtime configuration, metadata indexing, and branding assets.

Changes:

  • Added blueprints/owncloud-infinite-scale/ with docker-compose.yml for oCIS owncloud/ocis:8.0.3 and persistent volumes.
  • Added template.toml to configure domain routing and generated admin credentials, plus a mounted README.
  • Updated meta.json and added an SVG logo for template discovery/UI.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.

File Description
meta.json Adds a new owncloud-infinite-scale metadata entry (version, links, tags, logo).
blueprints/owncloud-infinite-scale/template.toml Defines Dokploy variables, domain routing, env wiring, and a README mount for the new template.
blueprints/owncloud-infinite-scale/owncloud-infinite-scale.svg Adds the template logo asset referenced by meta.json.
blueprints/owncloud-infinite-scale/docker-compose.yml Introduces the pinned oCIS 8.0.3 Compose service with required env and persistent volumes.

Comment thread blueprints/owncloud-infinite-scale/template.toml
@Siumauricio

Copy link
Copy Markdown
Contributor

Automated template check 🤖

This PR's template was imported into a test Dokploy instance (using the docker-compose.yml + template.toml from the PR head) and deployed, and its configured domains were then checked over HTTP.

Result: ❌ some issues need attention

owncloud-infinite-scale

  • Deploy: done (25s)
  • Domain checks:
    • owncloud-infinite-scale:9200 → HTTP 502 ❌
  • Container states at failure time: owncloud-infinite-scale-1: restarting
  • Issues:
    • domain check failed for service owncloud-infinite-scale:9200 (path /): kept returning HTTP 502 for 3 minutes after the deploy finished

The test service is removed automatically after verification. Happy to re-test once the PR is updated.

…infinite-scale-template

# Conflicts:
#	meta.json
Copilot AI review requested due to automatic review settings July 8, 2026 06:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review is ineligible. To be eligible to request a review, you need a paid Copilot license, or your organization must enable Copilot code review.

The container was restart-looping because the built-in IdP fatals with
"invalid iss value, URL must start with https://" when OCIS_URL uses
plain http, which caused the sustained 502.

- Set owncloud_url to https://${main_domain} so the IdP issuer is valid
  and ocis server stays up.
- oCIS 8.x unconditionally answers 308 -> https:// whenever it receives
  X-Forwarded-Proto: http (services/proxy https_redirect middleware), so
  the domain check then died on a redirect loop into a non-existent 443
  router. Add a small nginx gateway in front of oCIS that forwards
  requests with X-Forwarded-Proto: https (what a TLS-terminating proxy
  sends) and point the Dokploy domain at gateway:8080.
- Update the README notes accordingly.

Verified on a live Dokploy instance: deploy done, GET / returns
HTTP 200 with title "ownCloud".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 8, 2026 07:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review is ineligible. To be eligible to request a review, you need a paid Copilot license, or your organization must enable Copilot code review.

@Siumauricio

Copy link
Copy Markdown
Contributor

Tested this template on a live Dokploy instance and pushed a fix (448d4ba).

What was broken

  1. The container was restart-looping (hence the sustained 502): oCIS's built-in identity provider fatals at startup with invalid iss value, URL must start with https:// because OCIS_URL was set to http://${main_domain}. oCIS only accepts an HTTPS issuer.
  2. After switching OCIS_URL to https://, a second issue appeared: oCIS 8.x's proxy service unconditionally answers 308 Permanent Redirect to https://<host> whenever the request carries X-Forwarded-Proto: http (see services/proxy/pkg/middleware/https_redirect.go, wired without any toggle). Behind Dokploy's Traefik on a plain-HTTP domain that redirect points at a router that doesn't exist, so every request ended in a 404.

The fix

  • owncloud_url now defaults to https://${main_domain} so the IdP boots and ocis server stays up.
  • Added a lightweight nginx:1.27-alpine gateway in front of oCIS that forwards traffic with X-Forwarded-Proto: https (exactly what a TLS-terminating proxy sends), and pointed the template domain at gateway:8080. This keeps the app reachable during evaluation on plain HTTP and behaves identically once the user enables HTTPS on the domain.
  • Updated the generated README notes to match.

Verification: fresh deploy on Dokploy finishes, both containers stay running, and GET / through the domain returns HTTP 200 with the ownCloud web UI (<title>ownCloud</title>). /ocs/v1.php/cloud/capabilities and /.well-known/openid-configuration also respond correctly through the gateway.

@Siumauricio
Siumauricio merged commit f2fdb52 into Dokploy:canary Jul 8, 2026
4 checks passed

This branch was successfully deployed

1 active deployment
Preview — 448d4ba7 Deployed Jul 8, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🙋 Bounty claim new-template size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add template for ownCloud infinitescale

3 participants