mirror of
https://github.com/dathere/ckan-devstaller.git
synced 2025-11-09 13:39:49 +00:00
feat: update ckan-devstaller to v0.3.1
This commit is contained in:
parent
0e263202a1
commit
475bcc4932
21 changed files with 240 additions and 57 deletions
23
.github/workflows/run-ckan-only-install.yml
vendored
Normal file
23
.github/workflows/run-ckan-only-install.yml
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
name: Verify ckan-devstaller runs CKAN-only install successfully
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
workflow_dispatch:
|
||||||
|
jobs:
|
||||||
|
ckanonlyinstall:
|
||||||
|
name: Run ckan-devstaller with a CKAN-only install
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
permissions:
|
||||||
|
# For the git-auto-commit-action
|
||||||
|
contents: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install Rust stable toolchain
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
- name: Cache cargo deps and target folder
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
workspaces: ". -> target"
|
||||||
|
- name: Run ckan-devstaller
|
||||||
|
run: cargo run --release --verbose -- --ckan-version 2.11.4 --skip-interactive --skip-run
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<a href="https://ckan-devstaller.dathere.com"><img width="1165" height="668" alt="{1329F0BA-A29F-4BF8-BB6B-E3BA84FDAFCC}" src="https://github.com/user-attachments/assets/8f0cc4ef-d90d-4715-ba21-9083dff0c3ff" /></a>
|
<a href="https://ckan-devstaller.dathere.com"><img width="1165" height="668" alt="{1329F0BA-A29F-4BF8-BB6B-E3BA84FDAFCC}" src="https://github.com/user-attachments/assets/8f0cc4ef-d90d-4715-ba21-9083dff0c3ff" /></a>
|
||||||
|
|
||||||
|
|
||||||
`ckan-devstaller` attempts to install a [CKAN](https://ckan.org) instance using [ckan-compose](https://github.com/tino097/ckan-compose) for development usage in a new Ubuntu 22.04 instance.
|
`ckan-devstaller` attempts to install a [CKAN](https://ckan.org) instance using [ckan-compose](https://github.com/tino097/ckan-compose/tree/ckan-devstaller) for development usage in a new Ubuntu 22.04 instance.
|
||||||
|
|
||||||
You may find `ckan-devstaller` useful for:
|
You may find `ckan-devstaller` useful for:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ function Hero() {
|
||||||
</p>
|
</p>
|
||||||
<div className="inline-flex items-center gap-3 max-md:mx-auto mb-8">
|
<div className="inline-flex items-center gap-3 max-md:mx-auto mb-8">
|
||||||
<Link
|
<Link
|
||||||
href="/docs"
|
href="/docs/builder"
|
||||||
className={cn(
|
className={cn(
|
||||||
buttonVariants({ size: "lg", className: "rounded-full" }),
|
buttonVariants({ size: "lg", className: "rounded-full" }),
|
||||||
)}
|
)}
|
||||||
|
|
@ -139,7 +139,7 @@ function Hero() {
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
<Cards>
|
<Cards>
|
||||||
<Card icon={<ZapIcon />} href="/docs" title="Quick start">
|
<Card icon={<ZapIcon />} href="/docs/builder" title="Quick start">
|
||||||
Get started with ckan-devstaller and install CKAN within minutes
|
Get started with ckan-devstaller and install CKAN within minutes
|
||||||
</Card>
|
</Card>
|
||||||
<Card icon={<BlocksIcon />} href="/docs/builder" title="Builder">
|
<Card icon={<BlocksIcon />} href="/docs/builder" title="Builder">
|
||||||
|
|
@ -312,15 +312,9 @@ function WhyInteractive(props: {
|
||||||
download speed.
|
download speed.
|
||||||
</p>
|
</p>
|
||||||
<div className="flex gap-2">
|
<div className="flex gap-2">
|
||||||
<Link href="/docs" className={cn(buttonVariants(), "not-prose")}>
|
<Link href="/docs/builder" className={cn(buttonVariants(), "not-prose")}>
|
||||||
Get started
|
Get started
|
||||||
</Link>
|
</Link>
|
||||||
<Link
|
|
||||||
href="/docs/builder"
|
|
||||||
className={cn(buttonVariants(), "not-prose")}
|
|
||||||
>
|
|
||||||
Customize your installation
|
|
||||||
</Link>
|
|
||||||
</div>
|
</div>
|
||||||
</WhyPanel>
|
</WhyPanel>
|
||||||
) : null}
|
) : null}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@radix-ui/react-accordion": "^1.2.12",
|
"@radix-ui/react-accordion": "^1.2.12",
|
||||||
"@radix-ui/react-collapsible": "^1.1.12",
|
"@radix-ui/react-collapsible": "^1.1.12",
|
||||||
|
"@radix-ui/react-label": "^2.1.7",
|
||||||
|
"@radix-ui/react-switch": "^1.2.6",
|
||||||
"@radix-ui/react-tabs": "^1.1.13",
|
"@radix-ui/react-tabs": "^1.1.13",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
|
|
@ -227,6 +229,8 @@
|
||||||
|
|
||||||
"@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="],
|
"@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-label": ["@radix-ui/react-label@2.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ=="],
|
||||||
|
|
||||||
"@radix-ui/react-navigation-menu": ["@radix-ui/react-navigation-menu@1.2.14", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w=="],
|
"@radix-ui/react-navigation-menu": ["@radix-ui/react-navigation-menu@1.2.14", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w=="],
|
||||||
|
|
||||||
"@radix-ui/react-popover": ["@radix-ui/react-popover@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA=="],
|
"@radix-ui/react-popover": ["@radix-ui/react-popover@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA=="],
|
||||||
|
|
@ -245,6 +249,8 @@
|
||||||
|
|
||||||
"@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="],
|
"@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="],
|
||||||
|
|
||||||
|
"@radix-ui/react-switch": ["@radix-ui/react-switch@1.2.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ=="],
|
||||||
|
|
||||||
"@radix-ui/react-tabs": ["@radix-ui/react-tabs@1.1.13", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.11", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A=="],
|
"@radix-ui/react-tabs": ["@radix-ui/react-tabs@1.1.13", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.11", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A=="],
|
||||||
|
|
||||||
"@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="],
|
"@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="],
|
||||||
|
|
|
||||||
|
|
@ -11,26 +11,26 @@ export default function CKANVersionBuilderSection({ config, setConfig }: any) {
|
||||||
<Cards>
|
<Cards>
|
||||||
<Card
|
<Card
|
||||||
icon={<SailboatIcon />}
|
icon={<SailboatIcon />}
|
||||||
title="2.11.3"
|
title="2.11.4"
|
||||||
className={
|
className={
|
||||||
config.ckanVersion === "2.11.3"
|
config.ckanVersion === "2.11.4"
|
||||||
? selectedCardClasses
|
? selectedCardClasses
|
||||||
: "cursor-pointer"
|
: "cursor-pointer"
|
||||||
}
|
}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setConfig({ ...config, ckanVersion: "2.11.3" });
|
setConfig({ ...config, ckanVersion: "2.11.4" });
|
||||||
}}
|
}}
|
||||||
></Card>
|
></Card>
|
||||||
<Card
|
<Card
|
||||||
icon={<SailboatIcon />}
|
icon={<SailboatIcon />}
|
||||||
title="2.10.8"
|
title="2.10.9"
|
||||||
className={
|
className={
|
||||||
config.ckanVersion === "2.10.8"
|
config.ckanVersion === "2.10.9"
|
||||||
? selectedCardClasses
|
? selectedCardClasses
|
||||||
: "cursor-pointer"
|
: "cursor-pointer"
|
||||||
}
|
}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setConfig({ ...config, ckanVersion: "2.10.8" });
|
setConfig({ ...config, ckanVersion: "2.10.9" });
|
||||||
}}
|
}}
|
||||||
></Card>
|
></Card>
|
||||||
</Cards>
|
</Cards>
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ export default function PresetsBuilderSection({
|
||||||
setConfig({
|
setConfig({
|
||||||
...config,
|
...config,
|
||||||
preset: "dathere-default",
|
preset: "dathere-default",
|
||||||
ckanVersion: "2.11.3",
|
ckanVersion: "2.11.4",
|
||||||
extensions: ["ckanext-scheming", "DataStore", "DataPusher+"],
|
extensions: ["ckanext-scheming", "DataStore", "DataPusher+"],
|
||||||
features: ["enable-ssh"],
|
features: ["enable-ssh"],
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,13 @@
|
||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { CodeBlock, Pre } from "fumadocs-ui/components/codeblock";
|
import { CodeBlock, Pre } from "fumadocs-ui/components/codeblock";
|
||||||
import defaultMdxComponents from "fumadocs-ui/mdx";
|
import { Label } from "@/components/ui/label"
|
||||||
import {
|
import { Switch } from "@/components/ui/switch"
|
||||||
BarChartBigIcon,
|
|
||||||
BlocksIcon,
|
|
||||||
SailboatIcon,
|
|
||||||
TerminalSquareIcon,
|
|
||||||
} from "lucide-react";
|
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import PresetsBuilderSection from "./builder-sections/presets";
|
import PresetsBuilderSection from "@/components/builder-sections/presets";
|
||||||
import CKANVersionBuilderSection from "./builder-sections/ckan-version";
|
import CKANVersionBuilderSection from "@/components/builder-sections/ckan-version";
|
||||||
import CKANExtensionsBuilderSection from "./builder-sections/ckan-extensions";
|
import CKANExtensionsBuilderSection from "@/components/builder-sections/ckan-extensions";
|
||||||
import FeaturesBuilderSection from "./builder-sections/features";
|
import FeaturesBuilderSection from "@/components/builder-sections/features";
|
||||||
|
|
||||||
export type Config = {
|
export type Config = {
|
||||||
preset: string | undefined;
|
preset: string | undefined;
|
||||||
|
|
@ -25,11 +20,28 @@ export const selectedCardClasses =
|
||||||
"bg-blue-100 dark:bg-blue-950 border-blue-300 dark:border-blue-900 border-2";
|
"bg-blue-100 dark:bg-blue-950 border-blue-300 dark:border-blue-900 border-2";
|
||||||
|
|
||||||
export default function Builder() {
|
export default function Builder() {
|
||||||
const { Card, Cards } = defaultMdxComponents;
|
const [downloadScript, setDownloadScript] = useState(true);
|
||||||
|
const downloadScriptString = `#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Update/Upgrade system dependencies
|
||||||
|
sudo apt update -y
|
||||||
|
sudo apt upgrade -y
|
||||||
|
|
||||||
|
# Install curl
|
||||||
|
sudo apt install curl -y
|
||||||
|
|
||||||
|
# Change to the home directory
|
||||||
|
cd ~/
|
||||||
|
|
||||||
|
# Download the ckan-devstaller binary file
|
||||||
|
wget https://github.com/dathere/ckan-devstaller/releases/download/0.3.1/ckan-devstaller
|
||||||
|
|
||||||
|
# Add execute permission to ckan-devstaller binary file
|
||||||
|
sudo chmod +x ./ckan-devstaller\n\n# Run ckan-devstaller script\n`;
|
||||||
const [command, setCommand] = useState("./ckan-devstaller");
|
const [command, setCommand] = useState("./ckan-devstaller");
|
||||||
const [config, setConfig] = useState<Config>({
|
const [config, setConfig] = useState<Config>({
|
||||||
preset: "ckan-only",
|
preset: "ckan-only",
|
||||||
ckanVersion: "2.11.3",
|
ckanVersion: "2.11.4",
|
||||||
extensions: [],
|
extensions: [],
|
||||||
features: [],
|
features: [],
|
||||||
});
|
});
|
||||||
|
|
@ -56,8 +68,12 @@ ${ckanVersionString}${extensionsString ? extensionsString : ""}${featuresString
|
||||||
<div className="md:col-span-1 md:border-r-2 md:pr-4">
|
<div className="md:col-span-1 md:border-r-2 md:pr-4">
|
||||||
<div className="sticky top-8">
|
<div className="sticky top-8">
|
||||||
<h2>ckan-devstaller command</h2>
|
<h2>ckan-devstaller command</h2>
|
||||||
|
<div className="flex items-center space-x-2">
|
||||||
|
<Switch defaultChecked={downloadScript} onCheckedChange={() => setDownloadScript(!downloadScript)} id="download-script" />
|
||||||
|
<Label htmlFor="download-script">Include download script?</Label>
|
||||||
|
</div>
|
||||||
<CodeBlock title="Installation command">
|
<CodeBlock title="Installation command">
|
||||||
<Pre className="text-wrap pl-4 max-w-[21rem]">{command}</Pre>
|
<Pre className="text-wrap pl-4 max-w-[21rem]">{downloadScript ? downloadScriptString : ""}{command}</Pre>
|
||||||
</CodeBlock>
|
</CodeBlock>
|
||||||
<h2>Selected configuration</h2>
|
<h2>Selected configuration</h2>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
||||||
26
docs/components/ui/label.tsx
Normal file
26
docs/components/ui/label.tsx
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
"use client"
|
||||||
|
|
||||||
|
import * as React from "react"
|
||||||
|
import * as LabelPrimitive from "@radix-ui/react-label"
|
||||||
|
import { cva, type VariantProps } from "class-variance-authority"
|
||||||
|
|
||||||
|
import { cn } from "@/lib/utils"
|
||||||
|
|
||||||
|
const labelVariants = cva(
|
||||||
|
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
||||||
|
)
|
||||||
|
|
||||||
|
const Label = React.forwardRef<
|
||||||
|
React.ElementRef<typeof LabelPrimitive.Root>,
|
||||||
|
React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &
|
||||||
|
VariantProps<typeof labelVariants>
|
||||||
|
>(({ className, ...props }, ref) => (
|
||||||
|
<LabelPrimitive.Root
|
||||||
|
ref={ref}
|
||||||
|
className={cn(labelVariants(), className)}
|
||||||
|
{...props}
|
||||||
|
/>
|
||||||
|
))
|
||||||
|
Label.displayName = LabelPrimitive.Root.displayName
|
||||||
|
|
||||||
|
export { Label }
|
||||||
29
docs/components/ui/switch.tsx
Normal file
29
docs/components/ui/switch.tsx
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
"use client"
|
||||||
|
|
||||||
|
import * as React from "react"
|
||||||
|
import * as SwitchPrimitives from "@radix-ui/react-switch"
|
||||||
|
|
||||||
|
import { cn } from "@/lib/utils"
|
||||||
|
|
||||||
|
const Switch = React.forwardRef<
|
||||||
|
React.ElementRef<typeof SwitchPrimitives.Root>,
|
||||||
|
React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>
|
||||||
|
>(({ className, ...props }, ref) => (
|
||||||
|
<SwitchPrimitives.Root
|
||||||
|
className={cn(
|
||||||
|
"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-green-500 data-[state=unchecked]:bg-gray-500 dark:data-[state=checked]:bg-blue-500 dark:data-[state=unchecked]:bg-gray-600",
|
||||||
|
className
|
||||||
|
)}
|
||||||
|
{...props}
|
||||||
|
ref={ref}
|
||||||
|
>
|
||||||
|
<SwitchPrimitives.Thumb
|
||||||
|
className={cn(
|
||||||
|
"pointer-events-none block h-5 w-5 rounded-full bg-white dark:bg-blue-800 shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
</SwitchPrimitives.Root>
|
||||||
|
))
|
||||||
|
Switch.displayName = SwitchPrimitives.Root.displayName
|
||||||
|
|
||||||
|
export { Switch }
|
||||||
|
|
@ -4,6 +4,19 @@ description: Customize your CKAN installation before running ckan-devstaller.
|
||||||
icon: Blocks
|
icon: Blocks
|
||||||
---
|
---
|
||||||
|
|
||||||
|
ckan-devstaller attempts to install a CKAN instance from source along with [ckan-compose](https://github.com/tino097/ckan-compose/tree/ckan-devstaller) and other optional features, intended for development use in a new Ubuntu 22.04 instance.
|
||||||
|
|
||||||
|
<Callout title="Please run ckan-devstaller in a new Ubuntu 22.04 instance only" type="error">Make sure `ckan-devstaller` is run in a **new** Ubuntu 22.04 instance. Do NOT run `ckan-devstaller` in an existing instance that is important for your usage.</Callout>
|
||||||
|
|
||||||
|
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
|
||||||
|
|
||||||
|
<Accordions type="single">
|
||||||
|
<Accordion title="Note for VirtualBox users">If you are using Ubuntu 22.04 on VirtualBox, you may need to add your user to the sudoers file before running the ckan-devstaller install script. Open a terminal in your virtual machine (VM), run `su -` and log in as the root user with the password you used to set up the VM, then type: <br /><br />`sudo adduser <username> sudo`<br /><br /> where `<username>` is your username then restart your VM and run the ckan-devstaller installer script.</Accordion>
|
||||||
|
<Accordion title="Note for ARM64 users">Currently `ckan-devstaller` supports `x86_64` architecture. `ARM64` support is planned.</Accordion>
|
||||||
|
</Accordions>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
import Builder from "@/components/builder";
|
import Builder from "@/components/builder";
|
||||||
|
|
||||||
<Builder />
|
<Builder />
|
||||||
|
|
|
||||||
33
docs/content/docs/changelog/0.3.1.mdx
Normal file
33
docs/content/docs/changelog/0.3.1.mdx
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
---
|
||||||
|
title: Changelog for ckan-devstaller v0.3.1 (2025-10-30)
|
||||||
|
---
|
||||||
|
|
||||||
|
## Updated CKAN default versions to latest stable versions
|
||||||
|
|
||||||
|
We have updated ckan-devstaller to suggest the recent releases of CKAN [2.11.4](https://docs.ckan.org/en/2.11/changelog.html#v-2-11-4-2025-10-29) and [2.10.9](https://docs.ckan.org/en/2.10/changelog.html#v-2-10-9-2025-10-29).
|
||||||
|
|
||||||
|
## Added the "Developing with WSL" page in the Reference section
|
||||||
|
|
||||||
|
Developers using Windows may benefit from the new [Developing with WSL](/docs/reference/developing-with-wsl) page in the Reference section to try their builds of ckan-devstaller and verify things work on a new install of Ubuntu 22.04.
|
||||||
|
|
||||||
|
Alternatively if not trying to reset an entire WSL environment, developers can look into [`ckan-devstaller uninstall`](/docs/tutorials/uninstall-ckan).
|
||||||
|
|
||||||
|
## Added install script switch to Builder page
|
||||||
|
|
||||||
|
There is now a switch on the Builder page that is enabled by default for including the installation script for ckan-devstaller before running it. This is necessary for users that don't have ckan-devstaller installed yet and are using the Builder over the Quick Start scripts.
|
||||||
|
|
||||||
|
## Default start with the Builder page
|
||||||
|
|
||||||
|
We've changed "Get Started" links (and similar links) to the Builder page instead of the Quick Start page to users can quickly access the Builder again and get started using ckan-devstaller.
|
||||||
|
|
||||||
|
## Update ckan-compose links to use ckan-devstaller branch
|
||||||
|
|
||||||
|
We've updated ckan-compose links to use [the ckan-devstaller branch](https://github.com/tino097/ckan-compose/tree/ckan-devstaller).
|
||||||
|
|
||||||
|
## Update VirtualBox notice with better formatting
|
||||||
|
|
||||||
|
To ensure users using VirtualBox see the full command for adding a user to the sudoers file, we've improved the formatting of the note.
|
||||||
|
|
||||||
|
## GitHub Action to verify CKAN install runs
|
||||||
|
|
||||||
|
We've added a GitHub Action to run on push to the main branch to verify that a CKAN-only install runs. This doesn't include verbose testing but rather ensuring that the ckan-devstaller finishes without errors.
|
||||||
|
|
@ -4,14 +4,14 @@ description: Get started with ckan-devstaller and install CKAN within minutes.
|
||||||
icon: Zap
|
icon: Zap
|
||||||
---
|
---
|
||||||
|
|
||||||
ckan-devstaller attempts to install a CKAN instance from source along with [ckan-compose](https://github.com/tino097/ckan-compose) and other optional features, intended for development use in a new Ubuntu 22.04 instance.
|
ckan-devstaller attempts to install a CKAN instance from source along with [ckan-compose](https://github.com/tino097/ckan-compose/tree/ckan-devstaller) and other optional features, intended for development use in a new Ubuntu 22.04 instance.
|
||||||
|
|
||||||
<Callout title="Please run ckan-devstaller in a new Ubuntu 22.04 instance only" type="error">Make sure `ckan-devstaller` is run in a **new** Ubuntu 22.04 instance. Do NOT run `ckan-devstaller` in an existing instance that is important for your usage.</Callout>
|
<Callout title="Please run ckan-devstaller in a new Ubuntu 22.04 instance only" type="error">Make sure `ckan-devstaller` is run in a **new** Ubuntu 22.04 instance. Do NOT run `ckan-devstaller` in an existing instance that is important for your usage.</Callout>
|
||||||
|
|
||||||
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
|
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
|
||||||
|
|
||||||
<Accordions type="single">
|
<Accordions type="single">
|
||||||
<Accordion title="Note for VirtualBox users">If you are using Ubuntu 22.04 on VirtualBox, you may need to add your user to the sudoers file before running the ckan-devstaller install script. Open a terminal in your virtual machine (VM), run `su -` and log in as the root user with the password you used to set up the VM, then type `sudo adduser <username> sudo` where `<username>` is your username then restart your VM and run the ckan-devstaller installer script.</Accordion>
|
<Accordion title="Note for VirtualBox users">If you are using Ubuntu 22.04 on VirtualBox, you may need to add your user to the sudoers file before running the ckan-devstaller install script. Open a terminal in your virtual machine (VM), run `su -` and log in as the root user with the password you used to set up the VM, then type: <br /><br />`sudo adduser <username> sudo`<br /><br /> where `<username>` is your username then restart your VM and run the ckan-devstaller installer script.</Accordion>
|
||||||
<Accordion title="Note for ARM64 users">Currently `ckan-devstaller` supports `x86_64` architecture. `ARM64` support is planned.</Accordion>
|
<Accordion title="Note for ARM64 users">Currently `ckan-devstaller` supports `x86_64` architecture. `ARM64` support is planned.</Accordion>
|
||||||
</Accordions>
|
</Accordions>
|
||||||
|
|
||||||
|
|
@ -42,16 +42,16 @@ import { Step, Steps } from 'fumadocs-ui/components/steps';
|
||||||
|
|
||||||
### Install the "CKAN-only" preset
|
### Install the "CKAN-only" preset
|
||||||
|
|
||||||
By running the following script, ckan-devstaller will be downloaded and the default configuration for installing CKAN 2.11.3 with ckan-compose will be selected. You can then customize your configuration interactively in your terminal after running this script.
|
By running the following script, ckan-devstaller will be downloaded and the default configuration for installing CKAN with ckan-compose will be selected. You can then customize your configuration interactively in your terminal after running this script.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.3.0/install.bash | bash
|
wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.3.1/install.bash | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
If you'd rather skip the interactivity and go straight to installation, then run the following script instead:
|
If you'd rather skip the interactivity and go straight to installation, then run the following script instead:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.3.0/install.bash | bash -s skip-interactive
|
wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.3.1/install.bash | bash -s skip-interactive
|
||||||
```
|
```
|
||||||
|
|
||||||
</Step>
|
</Step>
|
||||||
|
|
@ -62,7 +62,7 @@ wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.3.0/ins
|
||||||
|
|
||||||
The following script will download ckan-devstaller and select the following configuration:
|
The following script will download ckan-devstaller and select the following configuration:
|
||||||
|
|
||||||
- CKAN 2.11.3
|
- CKAN latest stable version
|
||||||
- [ckan-compose](https://github.com/tino097/ckan-compose/tree/ckan-devstaller)
|
- [ckan-compose](https://github.com/tino097/ckan-compose/tree/ckan-devstaller)
|
||||||
- [DataStore extension](https://docs.ckan.org/en/2.11/maintaining/datastore.html)
|
- [DataStore extension](https://docs.ckan.org/en/2.11/maintaining/datastore.html)
|
||||||
- [ckanext-scheming extension](https://github.com/ckan/ckanext-scheming)
|
- [ckanext-scheming extension](https://github.com/ckan/ckanext-scheming)
|
||||||
|
|
@ -73,13 +73,13 @@ The following script will download ckan-devstaller and select the following conf
|
||||||
You can then customize your configuration interactively in your terminal after running this script.
|
You can then customize your configuration interactively in your terminal after running this script.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.3.0/install.bash | bash -s dathere-default
|
wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.3.1/install.bash | bash -s dathere-default
|
||||||
```
|
```
|
||||||
|
|
||||||
If you'd rather skip the interactivity and go straight to installation, then run the following script instead:
|
If you'd rather skip the interactivity and go straight to installation, then run the following script instead:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.3.0/install.bash | bash -s dathere-default skip-interactive
|
wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.3.1/install.bash | bash -s dathere-default skip-interactive
|
||||||
```
|
```
|
||||||
|
|
||||||
</Step>
|
</Step>
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,6 @@ title: Developing with WSL
|
||||||
description: Tips on how to develop ckan-devstaller on a Windows machine by leveraging Windows Subsystem for Linux.
|
description: Tips on how to develop ckan-devstaller on a Windows machine by leveraging Windows Subsystem for Linux.
|
||||||
---
|
---
|
||||||
|
|
||||||
<Callout title="Work in Progress" type="error">
|
|
||||||
This page is a work in progress and is not intended to be used yet.
|
|
||||||
</Callout>
|
|
||||||
|
|
||||||
When developing ckan-devstaller on Windows, using Windows Subsystem for Linux (WSL) can be advantageous to demo an Ubuntu 22.04 environment without having to set up a virtual machine.
|
When developing ckan-devstaller on Windows, using Windows Subsystem for Linux (WSL) can be advantageous to demo an Ubuntu 22.04 environment without having to set up a virtual machine.
|
||||||
|
|
||||||
import { Step, Steps } from 'fumadocs-ui/components/steps';
|
import { Step, Steps } from 'fumadocs-ui/components/steps';
|
||||||
|
|
@ -30,7 +26,6 @@ wsl --install Ubuntu-22.04 --version 2
|
||||||
### Export a base image
|
### Export a base image
|
||||||
|
|
||||||
</Step>
|
</Step>
|
||||||
</Steps>
|
|
||||||
|
|
||||||
Here's the expected set up where we create a WSL folder:
|
Here's the expected set up where we create a WSL folder:
|
||||||
|
|
||||||
|
|
@ -42,12 +37,40 @@ Here's the expected set up where we create a WSL folder:
|
||||||
| ├── cdr.vdhx
|
| ├── cdr.vdhx
|
||||||
```
|
```
|
||||||
|
|
||||||
|
First we'll generate the `images/ubuntu-22-04-snapshot.tar` file:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wsl --export Ubuntu-22.04 ./images/ubuntu-22-04-snapshot.tar
|
||||||
|
```
|
||||||
|
|
||||||
|
<Step>
|
||||||
|
|
||||||
|
### Generate a VDHX file for our new instance
|
||||||
|
|
||||||
|
Next we'll generate the `instances/cdr.vdhx` file, so we can run the following:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wsl --import cdr ./instances ./images/ubuntu-22-04-snapshot.tar
|
||||||
|
```
|
||||||
|
|
||||||
|
</Step>
|
||||||
|
|
||||||
|
<Step>
|
||||||
|
|
||||||
|
### Access your new instance as root
|
||||||
|
|
||||||
Now try to access your new Ubuntu 22.04 instance `cdr` as the `root` user by running:
|
Now try to access your new Ubuntu 22.04 instance `cdr` as the `root` user by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wsl -d cdr
|
wsl -d cdr
|
||||||
```
|
```
|
||||||
|
|
||||||
|
</Step>
|
||||||
|
|
||||||
|
<Step>
|
||||||
|
|
||||||
|
### Set yourself as the admin user on the instance and log in as the admin user
|
||||||
|
|
||||||
Once logged in as `root`, you'll want to edit the `/etc/wsl.conf` file and modify it so you can login as an admin user instead of `root`. We can use the `nano` editor to modify the file:
|
Once logged in as `root`, you'll want to edit the `/etc/wsl.conf` file and modify it so you can login as an admin user instead of `root`. We can use the `nano` editor to modify the file:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -82,14 +105,27 @@ Run the instance again and you should be logged in as your admin user by default
|
||||||
wsl -d cdr
|
wsl -d cdr
|
||||||
```
|
```
|
||||||
|
|
||||||
|
</Step>
|
||||||
|
|
||||||
|
<Step>
|
||||||
|
|
||||||
|
### Install ckan-devstaller
|
||||||
|
|
||||||
Great, now you can go to the home directory and run one of the [quick start](/docs) scripts:
|
Great, now you can go to the home directory and run one of the [quick start](/docs) scripts:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/
|
cd ~/
|
||||||
```
|
```
|
||||||
|
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
|
|
||||||
|
## Removing your instance
|
||||||
|
|
||||||
When you want to remove your instance (e.g. so that you can start a brand new instance) then run the following to unregister it:
|
When you want to remove your instance (e.g. so that you can start a brand new instance) then run the following to unregister it:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wsl --unregister cdr
|
wsl --unregister cdr
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Then you can follow the steps again from step 3 to generate and try out a new instance.
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ The configuration file for CKAN is installed at `/etc/ckan/default/ckan.ini`:
|
||||||
|
|
||||||
## ckan-compose
|
## ckan-compose
|
||||||
|
|
||||||
We install certain first-time install files and `ckan-compose` as a directory in the user's home (`~`) directory. For example for the user `adam`:
|
We install certain first-time install files and [`ckan-compose`](https://github.com/tino097/ckan-compose/tree/ckan-devstaller) as a directory in the user's home (`~`) directory. For example for the user `adam`:
|
||||||
|
|
||||||
```files
|
```files
|
||||||
/home/adam
|
/home/adam
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"pages": [
|
"pages": [
|
||||||
"...",
|
"installation-architecture",
|
||||||
"!developing-with-wsl"
|
"developing-with-wsl"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -13,6 +13,8 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@radix-ui/react-accordion": "^1.2.12",
|
"@radix-ui/react-accordion": "^1.2.12",
|
||||||
"@radix-ui/react-collapsible": "^1.1.12",
|
"@radix-ui/react-collapsible": "^1.1.12",
|
||||||
|
"@radix-ui/react-label": "^2.1.7",
|
||||||
|
"@radix-ui/react-switch": "^1.2.6",
|
||||||
"@radix-ui/react-tabs": "^1.1.13",
|
"@radix-ui/react-tabs": "^1.1.13",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ sudo apt install curl -y
|
||||||
cd ~/
|
cd ~/
|
||||||
|
|
||||||
# Download the ckan-devstaller binary file
|
# Download the ckan-devstaller binary file
|
||||||
curl -LO https://github.com/dathere/ckan-devstaller/releases/download/0.3.0/ckan-devstaller
|
curl -LO https://github.com/dathere/ckan-devstaller/releases/download/0.3.1/ckan-devstaller
|
||||||
|
|
||||||
# Add execute permission to ckan-devstaller binary file
|
# Add execute permission to ckan-devstaller binary file
|
||||||
sudo chmod +x ./ckan-devstaller
|
sudo chmod +x ./ckan-devstaller
|
||||||
|
|
@ -22,9 +22,9 @@ skip_interactive=$2
|
||||||
|
|
||||||
if [ $preset == "dathere-default" ]; then
|
if [ $preset == "dathere-default" ]; then
|
||||||
if [ $skip_interactive == "skip-interactive" ]; then
|
if [ $skip_interactive == "skip-interactive" ]; then
|
||||||
./ckan-devstaller --ckan-version 2.11.3 --extensions ckanext-scheming DataStore DataPusher+ --features enable-ssh --skip-interactive
|
./ckan-devstaller --ckan-version 2.11.4 --extensions ckanext-scheming DataStore DataPusher+ --features enable-ssh --skip-interactive
|
||||||
else
|
else
|
||||||
./ckan-devstaller --ckan-version 2.11.3 --extensions ckanext-scheming DataStore DataPusher+ --features enable-ssh
|
./ckan-devstaller --ckan-version 2.11.4 --extensions ckanext-scheming DataStore DataPusher+ --features enable-ssh
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ $preset == "skip-interactive" ]; then
|
if [ $preset == "skip-interactive" ]; then
|
||||||
|
|
|
||||||
11
src/main.rs
11
src/main.rs
|
|
@ -27,6 +27,9 @@ struct Args {
|
||||||
/// Skip interactive steps
|
/// Skip interactive steps
|
||||||
#[arg(short, long)]
|
#[arg(short, long)]
|
||||||
skip_interactive: bool,
|
skip_interactive: bool,
|
||||||
|
/// Skip running CKAN at the end of installation
|
||||||
|
#[arg(short, long)]
|
||||||
|
skip_run: bool,
|
||||||
#[arg(short, long)]
|
#[arg(short, long)]
|
||||||
/// CKAN version to install defined by semantic versioning from official releases from https://github.com/ckan/ckan
|
/// CKAN version to install defined by semantic versioning from official releases from https://github.com/ckan/ckan
|
||||||
ckan_version: Option<String>,
|
ckan_version: Option<String>,
|
||||||
|
|
@ -110,7 +113,7 @@ rm -rf README ckan-compose ahoy dpp_default_config.ini get-docker.sh permissions
|
||||||
ckan_version: if args.ckan_version.is_some() {
|
ckan_version: if args.ckan_version.is_some() {
|
||||||
args.ckan_version.unwrap()
|
args.ckan_version.unwrap()
|
||||||
} else {
|
} else {
|
||||||
"2.11.3".to_string()
|
"2.11.4".to_string()
|
||||||
},
|
},
|
||||||
sysadmin: default_sysadmin.clone(),
|
sysadmin: default_sysadmin.clone(),
|
||||||
extension_datastore: args
|
extension_datastore: args
|
||||||
|
|
@ -134,7 +137,7 @@ rm -rf README ckan-compose ahoy dpp_default_config.ini get-docker.sh permissions
|
||||||
if config.ssh {
|
if config.ssh {
|
||||||
default_config_text.push_str("\n- Install openssh-server to enable SSH access");
|
default_config_text.push_str("\n- Install openssh-server to enable SSH access");
|
||||||
}
|
}
|
||||||
default_config_text.push_str("\n- Install ckan-compose (https://github.com/tino097/ckan-compose) which sets up the CKAN backend (PostgreSQL, SOLR, Redis)");
|
default_config_text.push_str("\n- Install ckan-compose (https://github.com/tino097/ckan-compose/tree/ckan-devstaller) which sets up the CKAN backend (PostgreSQL, SOLR, Redis)");
|
||||||
default_config_text.push_str(format!("\n- Install CKAN v{}", config.ckan_version).as_str());
|
default_config_text.push_str(format!("\n- Install CKAN v{}", config.ckan_version).as_str());
|
||||||
if config.extension_datastore {
|
if config.extension_datastore {
|
||||||
default_config_text.push_str("\n- Install the DataStore extension");
|
default_config_text.push_str("\n- Install the DataStore extension");
|
||||||
|
|
@ -281,7 +284,9 @@ rm -rf README ckan-compose ahoy dpp_default_config.ini get-docker.sh permissions
|
||||||
}
|
}
|
||||||
|
|
||||||
println!("\n{}", success_text("Running CKAN instance..."));
|
println!("\n{}", success_text("Running CKAN instance..."));
|
||||||
cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini run").run()?;
|
if !args.skip_run {
|
||||||
|
cmd!(sh, "ckan -c /etc/ckan/default/ckan.ini run").run()?;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
println!("Cancelling installation.");
|
println!("Cancelling installation.");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ pub fn question_ssh() -> Result<bool> {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn question_ckan_version() -> Result<String> {
|
pub fn question_ckan_version() -> Result<String> {
|
||||||
let ckan_version_options: Vec<&str> = vec!["2.11.3", "2.10.8", "Other"];
|
let ckan_version_options: Vec<&str> = vec!["2.11.4", "2.10.9", "Other"];
|
||||||
let answer_ckan_version = Select::new(
|
let answer_ckan_version = Select::new(
|
||||||
"What CKAN version would you like to install? (optional)",
|
"What CKAN version would you like to install? (optional)",
|
||||||
ckan_version_options,
|
ckan_version_options,
|
||||||
|
|
@ -26,7 +26,7 @@ pub fn question_ckan_version() -> Result<String> {
|
||||||
if answer_ckan_version == "Other" {
|
if answer_ckan_version == "Other" {
|
||||||
Ok(
|
Ok(
|
||||||
Text::new("What CKAN version would you like to install? (optional)")
|
Text::new("What CKAN version would you like to install? (optional)")
|
||||||
.with_default("2.11.3")
|
.with_default("2.11.4")
|
||||||
.prompt()?,
|
.prompt()?,
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ pub fn step_intro() {
|
||||||
);
|
);
|
||||||
println!(
|
println!(
|
||||||
"This installer should assist in setting up {} from a source installation along with ckan-compose. If you have any issues, please report them at https://support.dathere.com or https://github.com/dathere/ckan-devstaller/issues.",
|
"This installer should assist in setting up {} from a source installation along with ckan-compose. If you have any issues, please report them at https://support.dathere.com or https://github.com/dathere/ckan-devstaller/issues.",
|
||||||
highlighted_text("CKAN 2.11.3")
|
highlighted_text("CKAN 2.11.4")
|
||||||
);
|
);
|
||||||
println!(
|
println!(
|
||||||
"\nYou may also learn more about ckan-devstaller at https://ckan-devstaller.dathere.com."
|
"\nYou may also learn more about ckan-devstaller at https://ckan-devstaller.dathere.com."
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue