Local Docker setup

Install Harako-RNAseq

Run the version-specific GHCR image on Windows or Linux, or build from source for development and modification.

Before you begin

Required software

For the direct published-image command, install Docker with a running Linux container engine and a browser that can reach 127.0.0.1:8501. The just launch shortcuts require Git, just, and a repository checkout. Native Python, R, Snakemake, fastp, and Salmon installs are not required.

Tested platforms

Windows with Docker Desktop and Ubuntu/Linux with Docker have been tested. The image is linux/amd64; native Apple Silicon support is not available.

Planning resources

Four or more CPU cores and roughly 8–16 GB RAM are useful for small-to-medium studies. Actual needs grow with sample count, reference size, and matrix dimensions.

Disk planning: reserve space for source FASTQ files, uncompressed fastp intermediates, Salmon indexes and quantification, cached reference bundles, run outputs, the approximately 1.2 GB image, and Docker build layers. Harako does not automatically delete intermediates.

Start Harako from the current repository checkout

1. Ordinary use

just app is the recommended command. It uses the exact v0.3.0-beta.2 image and does not compile dependencies locally. just app-release is an optional explicit alias.

2. Fast source development

just app-dev-fast mounts local source over the published runtime. It stops if dependency-defining files differ from the release tag.

3. Complete source build

just app-build builds the full image and is required after dependency changes.

First release-mode use may download the approximately 1.2 GB image, but it does not compile R or Bioconductor packages. Repeat startup normally takes seconds to tens of seconds depending on Docker Desktop and storage. Fast launch modes do not replace Docker CI or release qualification.

Windows PowerShell

Start Docker Desktop in Linux-container mode and run the exact release image. Use explicit host directories for input and output:

$InputDir = "D:\rna\input"
$OutputDir = "D:\rna\output"
New-Item -ItemType Directory -Force $InputDir, $OutputDir | Out-Null
docker pull ghcr.io/do-shima/harako-rnaseq:v0.3.0-beta.2
docker run --rm -p 127.0.0.1:8501:8501 `
  -e PYTHONPATH=/app -e "HOST_INPUT=$InputDir" -e "HOST_OUT=$OutputDir" `
  --mount "type=bind,src=$InputDir,dst=/input,readonly" `
  --mount "type=bind,src=$OutputDir,dst=/output" `
  ghcr.io/do-shima/harako-rnaseq:v0.3.0-beta.2 `
  streamlit run app/ui/app_ui.py --server.address 0.0.0.0 `
  --server.port 8501 --server.headless true --browser.gatherUsageStats false

Use PowerShell when diagnosing Windows bind-mount paths. Input is mounted read-only at /input; output is mounted read-write at /output.

Ubuntu and Linux

Install and start Docker Engine, then run the exact release image with explicit mounts:

mkdir -p input output
docker pull ghcr.io/do-shima/harako-rnaseq:v0.3.0-beta.2
docker run --rm -p 127.0.0.1:8501:8501 \
  -e PYTHONPATH=/app -e "HOST_INPUT=$(pwd)/input" -e "HOST_OUT=$(pwd)/output" \
  --mount "type=bind,src=$(pwd)/input,dst=/input,readonly" \
  --mount "type=bind,src=$(pwd)/output,dst=/output" \
  ghcr.io/do-shima/harako-rnaseq:v0.3.0-beta.2 \
  streamlit run app/ui/app_ui.py --server.address 0.0.0.0 \
  --server.port 8501 --server.headless true --browser.gatherUsageStats false

On either platform, open http://127.0.0.1:8501. Harako is a local, single-user application; do not expose the port as a hosted multi-user service.

Beta channel and full source build

For reproducible research, keep the exact version tag shown above. Replace it with ghcr.io/do-shima/harako-rnaseq:beta only when you intentionally want the moving beta channel.

For dependency changes or exact source-image qualification, clone the source and use just app-build. The ordinary just app command never falls back to a source build.

git clone https://github.com/do-shima/harako-rnaseq.git
cd harako-rnaseq
git checkout v0.3.0-beta.2
just app-build

For mounts, initial build time, port forwarding, privacy guidance, and current platform status, read the full installation documentation.