ckan-devstaller/README.md
Abu edb53cdc4e Fix pip 26+ egg fragment syntax, add ARM build docs
- Fix unquoted $flag in install.bash (unary operator error when no arg)
- Fix pip install syntax: use PEP 440 direct URL format for CKAN and
  ckanext-scheming (pip 26+ rejects extras in #egg= fragment)
- Add CLAUDE.md with architecture notes, known issues, and sysadmin setup
- Add deployment-from-source section to README for ARM users

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 11:17:43 +00:00

84 lines
3.2 KiB
Markdown

# ckan-devstaller
`ckan-devstaller` attempts to install CKAN 2.11.3 from source using [ckan-compose](https://github.com/tino097/ckan-compose), intended for development use in a new Ubuntu 22.04 instance. The following are also installed and enabled by default:
- [DataStore extension](https://docs.ckan.org/en/2.11/maintaining/datastore.html)
- [ckanext-scheming extension](https://github.com/ckan/ckanext-scheming)
- [DataPusher+ extension](https://github.com/dathere/datapusher-plus)
[DRUF mode](https://github.com/dathere/datapusher-plus?tab=readme-ov-file#druf-dataset-resource-upload-first-workflow) is available but disabled by default. The [`datatablesview-plus` extension](https://github.com/dathere/ckanext-datatables-plus) is planned to be included in a future release.
## Quick start
> [!CAUTION]
> 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.
> [!WARNING]
> 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.
> [!NOTE]
> The `/etc/ckan/default/ckan.ini` config file will have its comments removed for now. There are plans to fix this in a future release of `ckan-devstaller`.
> [!NOTE]
> Currently `ckan-devstaller` supports x86 architecture. ARM support is planned.
You have two common options to choose from for installation. Paste one of the following scripts into your new Ubuntu 22.04 instance's terminal.
### Install with non-interactive mode (default config)
```bash
wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.2.0/install.bash | bash -s default
```
### Install with interactive mode
```bash
wget -O - https://github.com/dathere/ckan-devstaller/releases/download/0.2.0/install.bash | bash
```
## Deployment (build from source)
Use this path when the release binary does not match your architecture (e.g. ARM / Apple Silicon).
### Prerequisites
- Ubuntu 22.04 (fresh instance)
- Rust toolchain
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
```
### Build and run
```bash
git clone https://github.com/dathere/ckan-devstaller.git
cd ckan-devstaller
cargo build --release
./target/release/ckan-devstaller
```
Pass `--default` for non-interactive mode:
```bash
./target/release/ckan-devstaller --default
```
### Add a sysadmin after install
```bash
/usr/lib/ckan/default/bin/ckan -c /etc/ckan/default/ckan.ini user add <username> email=<email> password=<password>
/usr/lib/ckan/default/bin/ckan -c /etc/ckan/default/ckan.ini sysadmin add <username>
```
CKAN will be available at `http://localhost:5000`.
## Demos
### Interactive customizable installation
![ckan-devstaller-interactive-mode-demo](https://github.com/user-attachments/assets/cc12471c-5b20-4571-85d6-8a4351931419)
### Installation (sped up)
![ckan-devstaller-demo](https://github.com/user-attachments/assets/9fc388ab-e044-4453-ae49-7d7f31065fe3)