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
| Subdomain | Purpose |
|---|---|
base.neuralinverse.com | Web 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.com | Git over SSH |
lfs.base.neuralinverse.com | Git LFS storage |
registry.base.neuralinverse.com | Package registry |
actions.base.neuralinverse.com | CI/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}.gitNo 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:latestnpm:
npm config set registry https://registry.base.neuralinverse.com/api/packages/{username}/npm/
npm publishPyPI:
pip install --index-url https://registry.base.neuralinverse.com/api/packages/{username}/pypi/simple/ mypackageRegistry 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 daemonGet 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 pushLFS 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.
Last edited