Neural Inverse is Open Source →
DocsBase - Code Storage

Base

Base (base.neuralinverse.com) is Neural Inverse Cloud's managed code storage service. Every workspace automatically gets a private Git repository. Your code syncs to Base on stop and pulls back on start - no manual git push required.

Base is powered by Gitea and is available to all Cloud users.

Repositories

Each workspace creates one private repository under your username:

https://base.neuralinverse.com/{username}/{workspace-name}

Repositories are created automatically on first workspace start. You can browse, view history, and manage settings at base.neuralinverse.com.

Subdomains

SubdomainPurpose
base.neuralinverse.comWeb UI - browse repos, issues, settings
api.base.neuralinverse.com/api/v1/REST API - full Gitea API + Swagger docs
raw.base.neuralinverse.com/{user}/{repo}/{branch}/{file}Raw file content
ssh.base.neuralinverse.comGit over SSH
lfs.base.neuralinverse.comGit LFS storage
registry.base.neuralinverse.comPackage registry
actions.base.neuralinverse.comCI/CD runner registration

SSH Access

Add your SSH public key at base.neuralinverse.com/-/user/settings/keys, then clone over SSH:

git clone git@ssh.base.neuralinverse.com:{username}/{repo}.git

No port number needed - SSH runs on port 22.

Package Registry

Base includes a package registry for private packages. Supported formats: Docker, npm, PyPI, Maven, Cargo, NuGet, and more.

Docker:

docker login registry.base.neuralinverse.com
docker push registry.base.neuralinverse.com/{username}/myimage:latest

npm:

npm config set registry https://registry.base.neuralinverse.com/api/packages/{username}/npm/
npm publish

PyPI:

pip install --index-url https://registry.base.neuralinverse.com/api/packages/{username}/pypi/simple/ mypackage

Registry credentials are automatically injected into workspace pods - docker login runs on workspace start without manual setup.

CI/CD Actions

Base Actions is GitHub Actions-compatible CI/CD. Add a .gitea/workflows/ci.yml to your repo and push - the same YAML syntax as GitHub Actions.

To run jobs, you need an act_runner. Runners are automatically registered per workspace on start. You can also register your own:

# Download act_runner
curl -fsSL https://dl.gitea.com/act_runner/latest/act_runner-linux-amd64 -o act_runner
chmod +x act_runner

# Register against Base Actions
./act_runner register \
  --instance https://actions.base.neuralinverse.com \
  --token <token-from-repo-settings>

./act_runner daemon

Get a registration token from base.neuralinverse.com/{username}/{repo}/settings/actions/runners.

Git LFS

Large File Storage is enabled by default. Store binaries, firmware images, and datasets without bloating your git history.

git lfs install
git lfs track "*.bin"
git lfs track "*.elf"
git add .gitattributes
git add firmware.bin
git commit -m "add firmware binary"
git push

LFS objects are stored at lfs.base.neuralinverse.com and served transparently when you clone or pull.

API

The full Gitea REST API is available at api.base.neuralinverse.com/api/v1/. Interactive Swagger docs: api.base.neuralinverse.com/api/swagger.

Authenticate with your Gitea user token (generate at base.neuralinverse.com/-/user/settings/applications).

Public Visibility

Repositories default to private. You can make a repo public from its settings - public repos and profiles are visible without sign-in.


Was this page helpful?

Last edited