Repository navigation
chore(outline): update Outline to 1.12.0 - #26
Merged
Merged
Conversation
- New launches get IMAGE_TAG=1.12.0 (compose default stays 0.84.0).
- Postgres image now uses ${POSTGRES_VERSION:-latest}; new launches
pin 17.10 because postgres:latest (18.x) refuses to start with the
/var/lib/postgresql/data mount.
- README: document the 0.x -> 1.12.0 upgrade path via 1.10.1.
Linear: https://linear.app/wizecore/issue/ID-911/update-outline-template-to-1120
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates the
outlinetemplate so new launches get Outline 1.12.0 and a Postgres version that starts. Existing apps are unaffected on redeploy.Images (old -> new)
docker.getoutline.com/outlinewiki/outline(IMAGE_TAG)0.86.1(compose default0.84.0)1.12.00.84.0(unchanged)postgres(POSTGRES_VERSION, new)latest, now 18.x)17.10latestredisTags checked on Docker Hub (HTTP 200 from
hub.docker.com/v2/repositories/.../tags/<tag>):outlinewiki/outline:1.12.0-> 200outlinewiki/outline:1.10.1(intermediate upgrade step) -> 200library/postgres:17.10-> 200Changes
outline/.dollardeploy.yml:IMAGE_TAG: "1.12.0", newPOSTGRES_VERSION: "17.10".outline/docker-compose.yml:image: postgres->image: postgres:${POSTGRES_VERSION:-latest}. Nothing else changed: same service names, volumes, mount paths, DB credentials and ports.outline/README.md: adds notes on versions and upgrades. Covers the 0.x -> 1.12.0 path through 1.10.1, plus the Postgres 18 mount issue.Postgres: why pin 17.10
Since PostgreSQL 18 became
latest, the official image expects data in/var/lib/postgresql/18/docker. If/var/lib/postgresql/datais a mount, its entrypoint refuses to start (docker_error_old_databases). This template mountsdatabase-data:/var/lib/postgresql/data, so a fresh launch onpostgres:latestshould fail to start Postgres. See docker-library/postgres#1259.17 is the newest major that works with the existing mount.
17.10is the newest 17.x that is at least 7 days old (17.11was pushed 2026-11-05). Moving to 18 needs a mount path change and a data migration, so it is out of scope.What I observed: I could not run Docker in the agent environment (
docker compose/docker runneed interactive approval), so I have not reproduced the failure locally. The failure analysis comes from the upstream entrypoint source and PR above. Please confirm on the post-merge demo deploy: a launch withPOSTGRES_VERSION=17.10should start, and one withpostgres:lateston this mount should fail.Breaking changes v0.86.1 -> v1.12.0
Releases: https://github.com/outline/outline/releases
entrypoint/command, so it is not affected.SECRET_KEYmust be exactly 64 hex characters. The template uses${GENERATED_SECRET}(randomBytes(32).toString("hex"), 64 hex), so it complies.DATABASE_READ_ONLY_URLwas renamed. The template does not set it.ALLOWED_DOMAINS/GOOGLE_ALLOWED_DOMAINSwere removed. The template does not set them.outline/README.md: a user who manually bumpsIMAGE_TAGfrom 0.x must step through1.10.1first.Env var changes
POSTGRES_VERSION(.dollardeploy.yml:"17.10", compose defaultlatest, which matches the old behaviour).IMAGE_TAG"0.86.1"->"1.12.0"in.dollardeploy.yml. The compose default0.84.0is unchanged..env.samplediff v0.86.1 -> v1.12.0 only adds optional variables (*_FILEsecrets,REDIS_COLLABORATION_URL,AWS_S3_UPLOAD_METHOD,AWS_CLOUDFRONT_*,PROXY_IP_HEADER,PROXY_HEADERS_TRUSTED,RATE_LIMITER_MULTIPLIER,GITLAB_*,FIGMA_*). Nothing new is required and nothing the template sets was removed.Existing apps on redeploy
They keep their launch env:
IMAGE_TAGstays at 0.86.1 (or earlier), so Outline is not upgraded.POSTGRES_VERSIONis unset, so Postgres resolves topostgres:latestexactly as before. Nothing changes for them.Validation
npm ciandnode index.js > /tmp/templates-check.jsonsucceed.templates.jsonis not edited.Follow-ups (not changed here)
"${PORT:-3000}:${PORT:-3000}", which binds all interfaces instead of127.0.0.1. It was left unchanged under the redeploy rules and is worth a separate ticket.postgres17 -> 18 would need a mount path change (/var/lib/postgresql) and apg_upgradedata migration. This is a proposal only.latestwas 17.x or older will break on redeploy once their host pullspostgres:18. SettingPOSTGRES_VERSIONto their data major fixes it (see README). Consider backfillingPOSTGRES_VERSIONfor existing apps.Linear: https://linear.app/wizecore/issue/ID-911/update-outline-template-to-1120
🤖 Generated with Claude Code