Skip to content

Commit 46ecc9e

Browse files
committed
Docker: update website with links to docker images
1 parent 5773360 commit 46ecc9e

File tree

11 files changed

+239
-82
lines changed

11 files changed

+239
-82
lines changed

.github/workflows/docker.yaml

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ on:
77
- "docs/**"
88

99
env:
10-
REGISTRY_NODE_IMAGE: openmina/openmina
11-
REGISTRY_FRONTEND_IMAGE: openmina/frontend
10+
REGISTRY_NODE_IMAGE: o1labs/mina-rust
11+
REGISTRY_FRONTEND_IMAGE: o1labs/mina-rust-frontend
1212

1313
jobs:
1414
build-mina-node-image:
@@ -112,3 +112,35 @@ jobs:
112112
path: /tmp/digests/*
113113
if-no-files-found: error
114114
retention-days: 1
115+
116+
# Push images to registry
117+
push-images:
118+
runs-on: ubuntu-latest
119+
if: github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/tags/')
120+
steps:
121+
- name: Git checkout
122+
uses: actions/checkout@v5
123+
124+
- name: Login to Docker Hub
125+
uses: docker/login-action@v3
126+
with:
127+
username: ${{ secrets.DOCKERHUB_USERNAME }}
128+
password: ${{ secrets.DOCKERHUB_TOKEN }}
129+
130+
- name: Set up environment variables
131+
run: |
132+
if [[ "${{ github.ref }}" == "refs/heads/develop" ]]; then
133+
echo "GIT_COMMIT=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
134+
elif [[ "${{ github.ref }}" == refs/tags/* ]]; then
135+
echo "GIT_COMMIT=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
136+
fi
137+
138+
- name: Build and push mina-rust image
139+
run: |
140+
make docker-build-mina
141+
make docker-push-mina
142+
143+
- name: Build and push mina-rust-frontend image
144+
run: |
145+
make docker-build-frontend
146+
make docker-push-frontend
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
title: Docker Installation
3+
description:
4+
Docker installation instructions and tested setup scripts
5+
---
6+
7+
# Docker Installation Guide
8+
9+
## Linux (Ubuntu/Debian)
10+
11+
The following commands are tested on Ubuntu 22.04 and Ubuntu 24.04 in our CI pipeline:
12+
13+
import CodeBlock from '@theme/CodeBlock';
14+
import DockerInstallLinux from '!!raw-loader!../developers/scripts/setup/install-docker.sh';
15+
16+
<CodeBlock language="bash" title="install-docker.sh">
17+
{DockerInstallLinux}
18+
</CodeBlock>
19+
20+
After installation, you'll need to either log out and back in, or use `newgrp docker` to apply the group membership.
21+
22+
## macOS
23+
24+
The following commands are tested on macOS in our CI pipeline:
25+
26+
import DockerInstallMacOS from '!!raw-loader!../developers/scripts/setup/install-docker-macos.sh';
27+
28+
<CodeBlock language="bash" title="install-docker-macos.sh">
29+
{DockerInstallMacOS}
30+
</CodeBlock>
31+
32+
**Note**: After installation, you need to manually start Docker Desktop from Applications or Launchpad.
33+
34+
## Windows
35+
36+
For Windows, manually download and install [Docker Desktop for Windows](https://www.docker.com/products/docker-desktop/).
37+
38+
## Manual Verification
39+
40+
After installation, verify Docker is working:
41+
42+
```bash
43+
docker --version
44+
docker run hello-world
45+
```
46+
47+
## Alternative Manual Installation
48+
49+
If you prefer not to use the automated scripts, you can find manual installation instructions in Docker's official documentation:
50+
51+
- [Docker on Ubuntu](https://docs.docker.com/engine/install/ubuntu/)
52+
- [Docker Desktop for Mac](https://docs.docker.com/desktop/setup/install/mac-install/)
53+
- [Docker Desktop for Windows](https://docs.docker.com/desktop/setup/install/windows-install/)
54+
55+
## Testing
56+
57+
These installation scripts are tested nightly and on-demand in our CI pipeline to ensure they remain functional across different environments. You can see the test results in the [Documentation Scripts workflow](https://github.com/o1-labs/mina-rust/actions/workflows/test-docs-scripts.yaml).
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
title: Docker Images
3+
description:
4+
Learn about Mina Rust Docker images, versioning, and how to use them for development and deployment
5+
---
6+
7+
# Mina Rust Docker Images
8+
9+
The Mina Rust project provides Docker images for easy deployment and testing.
10+
11+
## Available Images
12+
13+
Docker images are available at Docker Hub under the `o1labs` organization:
14+
15+
- **Main Node**: `o1labs/mina-rust` - The core Mina Rust node
16+
- **Frontend**: `o1labs/mina-rust-frontend` - Web dashboard and monitoring interface
17+
18+
## Image Tags and Versioning
19+
20+
### For Production Use
21+
22+
**Always use version tags for production deployments for stability.**
23+
Avoid using `latest` tags as they may change unexpectedly.
24+
25+
- **Version tags**: `o1labs/mina-rust:v1.4.2` (recommended for stability)
26+
- **Commit-based tags**: `o1labs/mina-rust:2b9e87b2` (available for accessing specific features during development, not recommended for general use)
27+
28+
Example:
29+
```bash
30+
# Use a version tag (recommended for stability)
31+
docker pull o1labs/mina-rust:v1.4.2
32+
docker pull o1labs/mina-rust-frontend:v1.4.2
33+
34+
# Commit hashes available for development/testing specific features
35+
docker pull o1labs/mina-rust:2b9e87b2
36+
docker pull o1labs/mina-rust-frontend:2b9e87b2
37+
```
38+
39+
### Automatic Publishing
40+
41+
Images are automatically built and pushed to Docker Hub:
42+
43+
- **On develop branch**: When commits are pushed to `develop`, images are tagged with the commit hash (8 characters)
44+
- **On tags**: When version tags are created, images are tagged with the tag name
45+
46+
### Finding Available Tags
47+
48+
You can find available tags at:
49+
- [o1labs/mina-rust on Docker Hub](https://hub.docker.com/r/o1labs/mina-rust/tags)
50+
- [o1labs/mina-rust-frontend on Docker Hub](https://hub.docker.com/r/o1labs/mina-rust-frontend/tags)
51+
52+
## Local Development
53+
54+
For local development and testing, you can build images using the Makefile:
55+
56+
```bash
57+
# Build images locally
58+
make docker-build-mina
59+
make docker-build-frontend
60+
61+
# Push to registry (requires Docker Hub login)
62+
make docker-push-mina
63+
make docker-push-frontend
64+
```
65+
66+
## Architecture Support
67+
68+
Images are built for multiple architectures:
69+
- `linux/amd64` (x86_64)
70+
- `linux/arm64` (ARM64)
71+
72+
## Using Docker Images
73+
74+
### Running a Basic Node
75+
76+
```bash
77+
# Pull and run the main node
78+
docker pull o1labs/mina-rust:v1.4.2
79+
docker run -p 8302:8302 o1labs/mina-rust:v1.4.2
80+
```
81+
82+
### Running with Frontend Dashboard
83+
84+
```bash
85+
# Using Docker Compose (recommended)
86+
# Download the latest release and use the provided docker-compose files
87+
88+
# Or run containers separately
89+
docker run -d --name mina-node -p 8302:8302 o1labs/mina-rust:v1.4.2
90+
docker run -d --name mina-frontend -p 8070:8070 o1labs/mina-rust-frontend:v1.4.2
91+
```
92+
93+
For complete setup guides, see the [Node Operators](../node-operators/getting-started) section.

website/docs/node-operators/alpha-testing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Docker. Follow these steps to set up the node and
1414

1515
Ensure you have **Docker** installed:
1616

17-
- [Docker Installation Guide for Linux, macOS, and Windows](./docker-installation.md)
17+
- [Docker Installation Guide for Linux, macOS, and Windows](../appendix/docker-installation)
1818

1919
## 2. Download & Start the Node
2020

website/docs/node-operators/archive-node.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ multiple options running simultaneously.
5858
## Prerequisites
5959

6060
Ensure Docker and Docker Compose are installed on your system -
61-
[Docker Installation Guide](./docker-installation.md)
61+
[Docker Installation Guide](../appendix/docker-installation)
6262

6363
## Docker compose setup (with archiver process)
6464

website/docs/node-operators/block-producer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ complete.
99
## Prerequisites
1010

1111
Ensure Docker and Docker Compose are installed on your system -
12-
[Docker Installation Guide](./docker-installation.md)
12+
[Docker Installation Guide](../appendix/docker-installation)
1313

1414
## Download & Start the Node
1515

website/docs/node-operators/docker-installation.md

Lines changed: 0 additions & 74 deletions
This file was deleted.

website/docs/node-operators/getting-started.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,29 @@ Choose your preferred installation method:
3636

3737
Docker provides the easiest way to get started with the Mina Rust Node.
3838

39-
[→ Docker Installation Guide](docker-installation)
39+
[→ Docker Installation Guide](../appendix/docker-installation)
40+
41+
#### Docker Image Usage
42+
43+
Pre-built Docker images are available on Docker Hub:
44+
45+
- **Main Node**: `o1labs/mina-rust`
46+
- **Frontend Dashboard**: `o1labs/mina-rust-frontend`
47+
48+
**Recommended**: Use version tags for stability:
49+
50+
```bash
51+
# Use version tags (recommended for stability)
52+
docker pull o1labs/mina-rust:v1.4.2
53+
```
54+
55+
**For Development**: Commit hashes are available for accessing specific features during development, but are not recommended for general use.
56+
57+
For detailed Docker usage and versioning information, see [Docker Images](../developers/docker-images).
58+
59+
Find available tags at:
60+
- [o1labs/mina-rust on Docker Hub](https://hub.docker.com/r/o1labs/mina-rust/tags)
61+
- [o1labs/mina-rust-frontend on Docker Hub](https://hub.docker.com/r/o1labs/mina-rust-frontend/tags)
4062

4163
### 2. Build from Source
4264

website/docs/node-operators/local-demo.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Run Block Producers on local network
22

3-
Once you have completed the [pre-requisites](./docker-installation.md) for your
3+
Once you have completed the [pre-requisites](../appendix/docker-installation) for your
44
operating system, follow these steps:
55

66
## Setup Option 1: Download Docker Compose Files from the Release

website/docusaurus.config.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,12 @@ const config: Config = {
111111
position: 'left',
112112
label: 'Developers',
113113
},
114+
{
115+
type: 'docSidebar',
116+
sidebarId: 'appendixSidebar',
117+
position: 'left',
118+
label: 'Appendix',
119+
},
114120
{
115121
href: 'https://o1-labs.github.io/mina-rust/api-docs/',
116122
label: 'API Docs',
@@ -142,6 +148,10 @@ const config: Config = {
142148
label: 'Developers',
143149
to: '/docs/developers/architecture',
144150
},
151+
{
152+
label: 'Appendix',
153+
to: '/docs/appendix/docker-installation',
154+
},
145155
{
146156
label: 'API Documentation',
147157
href: 'https://o1-labs.github.io/mina-rust/api-docs/',

0 commit comments

Comments
 (0)