11---
22title : Download version config
3- description : Download docker-compose.yml and variables.env files for a given Plane release as a zip archive.
3+ description : Download docker-compose.yml and variables.env files for a specific Plane release as a zip archive.
44keywords : plane, self-hosting, setup, docker compose, config download, version config, airgapped, variables.env
55---
66
77# Download version config
88
9+ If you're running a custom Docker setup and don't use ` prime-cli ` , you can download the ` docker-compose.yml ` and ` variables.env ` files for any Plane release directly.
10+
11+ ## Quick download
12+
13+ ** Standard setup**
14+
15+ ``` bash
16+ curl " https://prime.plane.so/api/v2/setup/?version=v2.3.4" -o plane.zip
17+ unzip plane.zip
18+ ```
19+
20+ ** Airgapped setup (AMD64)**
21+
22+ ``` bash
23+ curl " https://prime.plane.so/api/v2/setup/?version=v2.3.4&airgapped=true" -o plane.zip
24+ unzip plane.zip
25+ ```
26+
27+ ** Airgapped setup (ARM64)**
28+
29+ ``` bash
30+ curl " https://prime.plane.so/api/v2/setup/?version=v2.3.4&airgapped=true&platform=arm64" -o plane.zip
31+ unzip plane.zip
32+ ```
33+
34+ Replace ` v2.3.4 ` with the version you need. See the [ releases page] ( https://plane.so/changelog?category=self-hosteds ) for available versions.
35+
36+ ## What's in the zip
37+
38+ ** Standard download**
39+ - ` docker-compose.yml `
40+ - ` variables.env `
41+
42+ ** Airgapped download**
43+ - ` airgapped-docker-compose-{platform}.yml `
44+ - ` variables.env `
45+
46+ ---
47+
48+ ## API reference
49+
950<div class =" api-endpoint-badge " >
1051 <span class =" method get " >GET</span >
1152 <span class =" path " >/api/v2/setup/</span >
@@ -14,33 +55,31 @@ keywords: plane, self-hosting, setup, docker compose, config download, version c
1455<div class =" api-two-column " >
1556<div class =" api-left " >
1657
17- Download ` docker-compose.yml ` and ` variables.env ` files for a given Plane release as a zip archive.
18-
19- ** Authentication:** None required (public endpoint)
20-
2158** Base URL:** ` https://prime.plane.so `
2259
60+ ** Authentication:** Not required (public endpoint)
61+
2362<div class =" params-section " >
2463
25- ### Query Parameters
64+ ### Query parameters
2665
2766<div class =" params-list " >
2867
2968<ApiParam name =" version " type =" string " :required =" true " >
3069
31- Release tag name (e.g. ` v0.23.0 ` ).
70+ Release tag (e.g., ` v2.3.4 ` ).
3271
3372</ApiParam >
3473
3574<ApiParam name =" airgapped " type =" boolean " >
3675
37- Set to ` true ` to get airgapped compose files. Defaults to ` false ` .
76+ Set to ` true ` for airgapped compose files. Defaults to ` false ` .
3877
3978</ApiParam >
4079
4180<ApiParam name =" platform " type =" string " >
4281
43- Target architecture: ` amd64 ` or ` arm64 ` . Defaults to ` amd64 ` . Only relevant when ` airgapped ` is ` true ` .
82+ Target architecture: ` amd64 ` or ` arm64 ` . Defaults to ` amd64 ` . Only applies when ` airgapped= true ` .
4483
4584</ApiParam >
4685
@@ -51,7 +90,7 @@ Target architecture: `amd64` or `arm64`. Defaults to `amd64`. Only relevant when
5190
5291### Response
5392
54- ** Success (200):** Returns a zip file download containing the config files for the requested release .
93+ ** Success (200):** Returns a zip archive containing the config files.
5594
5695- Content-Type: ` application/zip `
5796- Content-Disposition: ` attachment; filename="plane-{version}.zip" `
@@ -70,40 +109,40 @@ Target architecture: `amd64` or `arm64`. Defaults to `amd64`. Only relevant when
70109
71110<div class =" params-section " >
72111
73- ### Error Responses
112+ ### Errors
74113
75- | Status | Condition | Body |
76- | ------ | -- ------------------------------------------- | ------------------------------------------------------- |
77- | 400 | ` version ` query param missing | ` {"error": "version query parameter is required"} ` |
78- | 400 | ` platform ` is not ` amd64 ` or ` arm64 ` | ` {"error": "platform must be amd64 or arm64"} ` |
79- | 400 | Server missing GitHub configuration | ` {"error": "missing required settings"} ` |
80- | 404 | Release tag not found on GitHub | ` {"error": "release not found"} ` |
81- | 404 | Required asset files missing from the release | ` {"error": "assets not found in release: <filenames>"} ` |
82- | 500 | GitHub API failure | ` {"error": "Failed to fetch release information"} ` |
114+ | Status | Cause | Response |
115+ | -------- | -------| ----------|
116+ | 400 | Missing ` version ` parameter | ` {"error": "version query parameter is required"} ` |
117+ | 400 | Invalid ` platform ` value | ` {"error": "platform must be amd64 or arm64"} ` |
118+ | 400 | Server missing GitHub configuration | ` {"error": "missing required settings"} ` |
119+ | 404 | Release tag not found | ` {"error": "release not found"} ` |
120+ | 404 | Config files missing from release | ` {"error": "assets not found in release: <filenames>"} ` |
121+ | 500 | GitHub API failure | ` {"error": "Failed to fetch release information"} ` |
83122
84123</div >
85124
86125</div >
87126<div class =" api-right " >
88127
89- <CodePanel title = " Download version config " :languages =" ['cURL', 'Python', 'JavaScript'] " >
128+ <CodePanel :languages =" ['cURL', 'Python', 'JavaScript'] " >
90129<template #curl>
91130
92131``` bash
93132# Download standard config files
94- curl " https://prime.plane.so/api/v2/setup/?version=v0.23.0 " \
133+ curl " https://prime.plane.so/api/v2/setup/?version=v2.3.4 " \
95134 -o plane.zip
96135
97136# Download airgapped config (AMD64)
98- curl " https://prime.plane.so/api/v2/setup/?version=v0.23.0 &airgapped=true" \
137+ curl " https://prime.plane.so/api/v2/setup/?version=v2.3.4 &airgapped=true" \
99138 -o plane.zip
100139
101140# Download airgapped config (ARM64)
102- curl " https://prime.plane.so/api/v2/setup/?version=v0.23.0 &airgapped=true&platform=arm64" \
141+ curl " https://prime.plane.so/api/v2/setup/?version=v2.3.4 &airgapped=true&platform=arm64" \
103142 -o plane.zip
104143
105144# Verify zip contents without extracting
106- curl " https://prime.plane.so/api/v2/setup/?version=v0.23.0 " \
145+ curl " https://prime.plane.so/api/v2/setup/?version=v2.3.4 " \
107146 -o plane.zip && unzip -l plane.zip
108147```
109148
@@ -116,7 +155,7 @@ import requests
116155# Download standard config files
117156response = requests.get(
118157 " https://prime.plane.so/api/v2/setup/" ,
119- params = {" version" : " v0.23.0 " },
158+ params = {" version" : " v2.3.4 " },
120159)
121160
122161with open (" plane.zip" , " wb" ) as f:
@@ -126,7 +165,7 @@ with open("plane.zip", "wb") as f:
126165response = requests.get(
127166 " https://prime.plane.so/api/v2/setup/" ,
128167 params = {
129- " version" : " v0.23.0 " ,
168+ " version" : " v2.3.4 " ,
130169 " airgapped" : " true" ,
131170 " platform" : " arm64" ,
132171 },
@@ -141,55 +180,18 @@ with open("plane.zip", "wb") as f:
141180
142181``` javascript
143182// Download standard config files
144- const response = await fetch (" https://prime.plane.so/api/v2/setup/?version=v0.23.0 " );
183+ const response = await fetch (" https://prime.plane.so/api/v2/setup/?version=v2.3.4 " );
145184const blob = await response .blob ();
146185
147186// Download airgapped config (ARM64)
148187const airgappedResponse = await fetch (
149- " https://prime.plane.so/api/v2/setup/?version=v0.23.0 &airgapped=true&platform=arm64"
188+ " https://prime.plane.so/api/v2/setup/?version=v2.3.4 &airgapped=true&platform=arm64"
150189);
151190const airgappedBlob = await airgappedResponse .blob ();
152191```
153192
154193</template >
155194</CodePanel >
156195
157- <ResponsePanel status =" 200 " >
158-
159- ```
160- Content-Type: application/zip
161- Content-Disposition: attachment; filename="plane-v0.23.0.zip"
162-
163- Archive contents (standard):
164- - docker-compose.yml
165- - variables.env
166-
167- Archive contents (airgapped, amd64):
168- - airgapped-docker-compose-amd64.yml
169- - variables.env
170- ```
171-
172- </ResponsePanel >
173-
174- <ResponsePanel status =" 400 " >
175-
176- ``` json
177- {
178- "error" : " version query parameter is required"
179- }
180- ```
181-
182- </ResponsePanel >
183-
184- <ResponsePanel status =" 404 " >
185-
186- ``` json
187- {
188- "error" : " release not found"
189- }
190- ```
191-
192- </ResponsePanel >
193-
194196</div >
195197</div >
0 commit comments