Skip to content

Commit

Permalink
update docs with compose flags
Browse files Browse the repository at this point in the history
  • Loading branch information
vinicvaz committed Nov 20, 2023
1 parent 5966850 commit f94db88
Show file tree
Hide file tree
Showing 3 changed files with 121 additions and 68 deletions.
38 changes: 36 additions & 2 deletions docs/run_domino/run_locally_compose.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,44 @@ This is a convenience command that will:
This command might take up to a few minutes to execute, since it will download and run all the necessary docker images.
If everything worked as expected, after all processes started successfully you should be able to navigate to `localhost:3000` to access the Domino frontend service.

:::tip
If using default configuration, Domino automatically creates an admin user with the following credentials:

To run with compose using the configuration variables from an existing Domino project's `config-domino-local.toml` file you can use the `--use-config-file` flag.
- **Email**: [email protected]
- **Password**: admin
:::

If you want to run Domini with a different configuration you can use some CLI arguments to customize the behavior of the `run-compose` command.
To see all the available options you can run:

```bash
domino platform run-compose --help
```
The output should be similar to this:

```bash
Options:
--d Run in detached mode.
--use-config-file Use config file to run platform.
--dev Run platform in dev mode.
--debug Debug mode prints docker compose messages on terminal.
--stop Stop and remove containers.
--github-token Github token for access default pieces repositories.
--help Show this message and exit.
```


Also, if you want to run with compose using the configuration variables from an existing Domino project's `config-domino-local.toml` file you can use the `--use-config-file` flag.
Please ensure that the config-domino-local.toml file is located in the same directory you are running the command from.

```bash
domino platform run-compose --use-config-file
```
```

:::note
When running with --use-config-file, all defined flags in CLI will be ignored and the values from the config file will be used instead.
:::


See more about the configuration file [here](./run_locally_kind.md#local-configuration-file).

14 changes: 8 additions & 6 deletions docs/run_domino/run_locally_kind.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ In order to run Domino locally, you need to have these dependencies installed:
- **Python** 3.9 or greater.
- **Docker Engine** 20.0 or greater. You can install it by following the instructions [here](https://docs.docker.com/engine/install/).
- **kubectl**, the command line tool for interacting with Kubernetes. You can install it by following the instructions [here](https://kubernetes.io/docs/tasks/tools/install-kubectl/).
- **Helm**, a package manager for Kubernetes. You can install it by following the instructions [here](https://helm.sh/docs/intro/install/).
- **Helm**, a package manager for Kubernetes. You can install it by following the instructions [here](https://helm.sh/docs/intro/install/).
- **Kind** 0.20.0 or greater, a local Kubernetes cluster. You can install it by following the instructions [here](https://kind.sigs.k8s.io/).
- **Kind with GPU (optional)** Kind doesn't have official support for GPU, but there is a Fork made by Jacob Tomlinson that you can use to run Kind with GPU support. You can find the fork [here](https://github.com/jacobtomlinson/kind/pull/1/) and his blog post about it [here](https://jacobtomlinson.dev/posts/2022/quick-hack-adding-gpu-support-to-kind/).
- **Domino CLI**.
Expand All @@ -44,7 +44,7 @@ Next, you should create two [Github access tokens](https://docs.github.com/en/en

- Contents (read and write)
- Metadata (read)

then you can store them as environment variables or just save them to use later with `domino platform prepare` command.

```bash
Expand Down Expand Up @@ -74,8 +74,8 @@ The `domino platform prepare` command will ask you for the following information
- **Local domino path**: Local path for domino package **(optional)**. Only used for local development , see [Local deployment for development](./run_locally_kind#local-deployment-for-development).

After that, it will create a configuration file `config-domino-local.yaml` with values based on existing environment variables or the user input in the CLI steps.
This file contains the variables necessary to run the Domino platform locally.
You can edit it according to your needs. A full description of all these variables can be found at [Local configuration file](./run_locally_kind#local-configuration-file).
This file contains the variables necessary to run the Domino platform locally.
You can edit it according to your needs. A full description of all these variables can be found at [Local configuration file](./run_locally_kind#local-configuration-file).

Now you must configure the Workflows Repository GitSync.

Expand Down Expand Up @@ -108,7 +108,7 @@ If everything worked as expected, you should see a success message in your termi

## Running with GPU support

If you have pieces that require GPU, you can run the Domino platform with GPU support.
If you have pieces that require GPU, you can run the Domino platform with GPU support.
First, you must install the **Kind with GPU** version as reference in the [Dependencies](./run_locally_kind#dependencies) section, then you can run the `domino platform create` command with the `--use-gpu` flag:

```bash
Expand All @@ -117,7 +117,7 @@ domino platform create --use-gpu

## Local configuration file

When running the `domino platform prepare` command, some parameters will be automatically filled in the configuration file and others will be asked to the user.
When running the `domino platform prepare` command, some parameters will be automatically filled in the configuration file and others will be asked to the user.
This is the content of the configuration file and the description of each of its variables:

```toml
Expand All @@ -141,6 +141,7 @@ DOMINO_DB_PORT = "postgres"
DOMINO_DB_USER = "postgres"
DOMINO_DB_PASSWORD = "postgres"
DOMINO_DB_NAME = "postgres"
DOMINO_CREATE_DEFAULT_USER = true
```

* `DOMINO_LOCAL_RUNNING_PATH` **[Automatic]** - The path where the Domino platform is being created.
Expand All @@ -156,6 +157,7 @@ DOMINO_DB_NAME = "postgres"
* `DOMINO_DB_NAME` **[Automatic]** - The database name. You can change it if you want to use an external database.
* `DOMINO_DB_USER` **[Automatic]** - The database user. You can change it if you want to use an external database.
* `DOMINO_DB_PASSWORD` **[Automatic]** - The database password. You can change it if you want to use an external database.
* `DOMINO_CREATE_DEFAULT_USER` **[Automatic]** - If set to true, it will create a default user with email `[email protected]` and password `admin`.



Expand Down
137 changes: 77 additions & 60 deletions src/components/Gallery/PieceCard/index.tsx
Original file line number Diff line number Diff line change
@@ -1,65 +1,82 @@
import React, { useState } from 'react';
import './index.css'
import '@fortawesome/fontawesome-free/css/all.min.css';
import { Icon } from '@iconify/react';
import { Link } from 'react-router-dom';
import { Tooltip } from 'react-tooltip'
import 'react-tooltip/dist/react-tooltip.css'
import React, { useState } from "react";
import "./index.css";
import "@fortawesome/fontawesome-free/css/all.min.css";
import { Icon } from "@iconify/react";
import { Link } from "react-router-dom";
import { Tooltip } from "react-tooltip";
import "react-tooltip/dist/react-tooltip.css";

const PieceCard = ({
piece,
repositoryVersion,
repositoryName,
repositoryUrl,
}) => {
let icon = null;
if (!piece.style?.icon_class_name) {
icon = <Icon icon={"arcticons:dominos"} style={{ fontSize: "25px" }} />;
} else {
icon = <Icon icon={piece.style?.icon_class_name} />;
}

const PieceCard = ({ piece, repositoryVersion, repositoryName, repositoryUrl }) => {

var icon = null;
if (!piece.style?.icon_class_name) {
icon = <Icon icon={"arcticons:dominos"} style={{ fontSize: '25px' }} />
} else {
icon = <Icon icon={piece.style?.icon_class_name} />
}

return (
<div className="card">
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '10px' }}>
<h3 style={{ margin: '0' }}>{piece.style?.node_label || piece.name}</h3>
{icon}
</div>
<p
className='card-description'>{piece.description}
</p>
<div className="card-details">
<p>
<Tooltip id="copy-piece-repo-tooltip" />
<span
style={{ fontWeight: 'bold' }}
>
Repository:
<span style={{ fontWeight: 'normal' }}>
{` ${repositoryName}`}
<Icon
icon="bi:copy"
style={{ fontSize: '15px', marginLeft: '10px', cursor: 'pointer' }}
data-tooltip-id='copy-piece-repo-tooltip'
data-tooltip-content='Copy Repository URL to Clipboard'
data-tooltip-place="top"
onClick={() => navigator.clipboard.writeText(repositoryUrl)}
/>
</span>
</span>

<br />
<span style={{ fontWeight: 'bold' }}>Version: </span> {repositoryVersion}
</p>
</div>
<div className="card-links">
<a href={piece.source_url} target="_blank" rel="noopener noreferrer">
<i className="fab fa-github"></i> View on GitHub
<i className="fas fa-external-link-alt" style={{ marginLeft: '5px' }}></i>
</a>
<Link to={`/pieceDocumentation?repository=${repositoryName}&piece=${piece.name}`}>
<i className="fas fa-book"></i> View Documentation
</Link>
</div>
</div>
);
return (
<div className="card">
<div
style={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
marginBottom: "10px",
}}
>
<h3 style={{ margin: "0" }}>{piece.style?.node_label || piece.name}</h3>
{icon}
</div>
<p className="card-description">{piece.description}</p>
<div className="card-details">
<p>
<Tooltip id="copy-piece-repo-tooltip" />
<span style={{ fontWeight: "bold" }}>
Repository:
<span style={{ fontWeight: "normal" }}>
{` ${repositoryName}`}
<Icon
icon="bi:copy"
style={{
fontSize: "15px",
marginLeft: "10px",
cursor: "pointer",
}}
data-tooltip-id="copy-piece-repo-tooltip"
data-tooltip-content="Copy Repository URL to Clipboard"
data-tooltip-place="top"
onClick={async () => {
await navigator.clipboard.writeText(repositoryUrl);
}}
/>
</span>
</span>
<br />
<span style={{ fontWeight: "bold" }}>Version: </span>{" "}
{repositoryVersion}
</p>
</div>
<div className="card-links">
<a href={piece.source_url} target="_blank" rel="noopener noreferrer">
<i className="fab fa-github" /> View on GitHub
<i
className="fas fa-external-link-alt"
style={{ marginLeft: "5px" }}
/>
</a>
<Link
to={`/pieceDocumentation?repository=${repositoryName}&piece=${piece.name}`}
>
<i className="fas fa-book" /> View Documentation
</Link>
</div>
</div>
);
};

export default PieceCard;

0 comments on commit f94db88

Please sign in to comment.