[docs] update Ente CLI troubleshooting and configuration for email (#6653)

## Description
This PR updates Ente CLI troubleshooting and email configuration along
with object storage configuration in configuration document.

This provides clarity for users who are facing keyring issues or with
bucket configuration.
This commit is contained in:
Vishnu Mohandas
2025-07-26 17:31:52 +05:30
committed by GitHub
10 changed files with 138 additions and 70 deletions

View File

@@ -342,13 +342,17 @@ export const sidebar = [
text: "General",
link: "/self-hosting/troubleshooting/misc",
},
{
text: "Docker / quickstart",
link: "/self-hosting/troubleshooting/docker",
},
{
text: "Uploads",
link: "/self-hosting/troubleshooting/uploads",
},
{
text: "Docker / quickstart",
link: "/self-hosting/troubleshooting/docker",
text: "Ente CLI",
link: "/self-hosting/troubleshooting/cli",
},
],
},

View File

@@ -67,7 +67,7 @@ reliable as any one can be.
If you would like to fund the development of this project, please consider
[subscribing](https://ente.io/download).
## How do I pronounce ente?
## How do I pronounce Ente?
It's like cafe 😊. kaf-_ay_. en-_tay_.

View File

@@ -108,24 +108,11 @@ emails having @example.com as suffix.
### Send email with verification code
You can configure SMTP for sending verification code e-mails to users, which is
efficient if you do not know mail addresses of people for who you want to
hardcode OTTs or if you are serving larger audience.
You can configure SMTP for sending verification code e-mails to users, if you do
not wish to hardcode OTTs and have larger audience.
Set the host and port accordingly with your credentials in `museum.yaml`
```yaml
smtp:
host:
port:
# Optional username and password if using local relay server
username:
password:
# Email address used for sending emails (this mail's credentials have to be provided)
email:
# Optional name for sender
sender-name:
```
For more information on configuring email, check out the
[email configuration](/self-hosting/install/config#email) section.
## Disable registrations

View File

@@ -7,8 +7,8 @@ description: Getting started with self-hosting Ente
If you're looking to spin up Ente on your server, you are in the right place!
Our entire source code
([including the server](https://ente.io/blog/open-sourcing-our-server/)) is open
Our entire source code,
[including the server](https://ente.io/blog/open-sourcing-our-server/) is open
source. This is the same code we use on production.
For a quick preview, make sure your system meets the requirements mentioned
@@ -35,9 +35,12 @@ This creates a directory `my-ente` in the current working directory, prompts to
start the cluster with needed containers after pulling the images required to
run Ente.
::: note Make sure to modify the default values in `compose.yaml` and
`museum.yaml` if you wish to change endpoints, bucket configuration or server
configuration. :::
::: info
Make sure to modify the default values in `compose.yaml` and `museum.yaml` if
you wish to change endpoints, bucket configuration or server configuration.
:::
## Try the web app

View File

@@ -45,6 +45,25 @@ cp example.yaml museum.yaml
Change the values present in `.env` file along with `museum.yaml` file
accordingly.
::: tip
Make sure to enter the correct values for the database and object storage.
You should consider generating values for JWT and encryption keys for emails if
you intend to use for long-term needs.
You can do by running the following command inside `ente/server`, assuming you
cloned the repository to `ente`:
```shell
# Change into the ente/server
cd ente/server
# Generate secrets
go run tools/gen-random-keys/main.go
```
:::
## Step 3: Start the cluster
Start the cluster by running the following command:

View File

@@ -94,10 +94,13 @@ The `s3` section within `museum.yaml` is by default configured to use local
MinIO buckets when using `quickstart.sh` or Docker Compose.
If you wish to use an external S3 provider, you can edit the configuration with
your provider's credentials, and set `are_local_buckets` to `false`.
your provider's credentials, and set `s3.are_local_buckets` to `false`.
MinIO uses the port `3200` for API Endpoints. Web Console can be accessed at
http://localhost:3201 by enabling port `3201` in the Compose file.
If you are using default MinIO, it is accessible at port `3200`. Web Console can
be accessed by enabling port `3201` in the Compose file.
For more information on object storage configuration, check our
[documentation](/self-hosting/administration/object-storage).
If you face any issues related to uploads then check out
[CORS](/self-hosting/administration/object-storage#cors-cross-origin-resource-sharing)
@@ -146,6 +149,25 @@ go run tools/gen-random-keys/main.go
### Email
You may wish to send emails for verification codes instead of
[hardcoding them](/self-hosting/administration/users#use-hardcoded-otts). In
such cases, you can configure SMTP (or Zoho Transmail, for bulk emails).
Set the host and port accordingly with your credentials in `museum.yaml`
```yaml
smtp:
host:
port:
# Optional username and password if using local relay server
username:
password:
# Email address used for sending emails (this mail's credentials have to be provided)
email:
# Optional name for sender
sender-name:
```
| Variable | Description | Default |
| ------------------ | ---------------------------- | ------- |
| `smtp.host` | SMTP server host | |

View File

@@ -92,9 +92,9 @@ git clone https://github.com/ente-io/ente
2. Build the server. The server binary should be available as `./main` relative
to `server` directory
``` shell
go build cmd/museum/main.go
```
```shell
go build cmd/museum/main.go
```
3. Create `museum.yaml` file inside `server` for configuring the needed
variables. You can copy the templated configuration file for editing with
@@ -104,6 +104,25 @@ git clone https://github.com/ente-io/ente
cp config/example.yaml ./museum.yaml
```
::: tip
Make sure to enter the correct values for the database and object storage.
You should consider generating values for JWT and encryption keys for emails
if you intend to use for long-term needs.
You can do by running the following command inside `ente/server`, assuming
you cloned the repository to `ente`:
```shell
# Change into the ente/server
cd ente/server
# Generate secrets
go run tools/gen-random-keys/main.go
```
:::
4. Run the server
```shell

View File

@@ -159,7 +159,7 @@ apps](web-dev-settings.png){width=400px}
## Step 7: Configure Ente CLI
You can download Ente CLI from
[here](https://github.com/ente-io/ente/releases?q=tag%3Acli)
[here](https://github.com/ente-io/ente/releases?q=tag%3Acli).
Check our [documentation](/self-hosting/administration/cli) on how to use Ente
CLI for managing self-hosted instances.

View File

@@ -0,0 +1,52 @@
---
title: Ente CLI - Self-hosting
description: A quick hotfix for keyring errors while running Ente CLI.
---
# Ente CLI
## Secrets
Ente CLI makes use of your system keyring for storing sensitive information such
as passwords.
There are 2 ways to address keyring-related error:
### Install system keyring
This is the recommended method as it is considerably secure than the latter.
If you are using Linux for accessing Ente CLI with, you can install a system
keyring manager such as `gnome-keyring`, `kwallet`, etc. via your distribution's
package manager.
For Ubuntu/Debian based distributions, you can install `gnome-keyring` via `apt`
```shell
sudo apt install gnome-keyring
```
Now you can use Ente CLI for adding account, which will trigger your system's
keyring.
### Configure secrets path
In case of using Ente CLI on server environment, you may not be able to install
system keyring. In such cases, you can configure Ente CLI to use a text file for
saving the secrets.
Set `ENTE_CLI_SECRETS_PATH` environment variable in your shell's configuration
file (`~/.bashrc`, `~/.zshrc`, or other corresponding file)
```shell
# Replace ./secrets.txt with the path to secrets file
# that you are using for saving.
# IMPORTANT: Make sure it is stored in a secure place.
export ENTE_CLI_SECRETS_PATH=./secrets.txt
```
When you run Ente CLI, and if the file doesn't exist, Ente CLI will create it
and fill it with a random 32 character encryption key.
If you create the file, please fill it with a cryptographically generated 32
byte string.

View File

@@ -1,38 +0,0 @@
---
title: Ente CLI Secrets - Self-hosting
description: A quick hotfix for keyring errors while running Ente CLI.
---
# Ente CLI Secrets
Ente CLI makes use of system keyring for storing sensitive information like your
passwords. And running the CLI straight out of the box might give you some
errors related to keyrings in some case.
Follow the below steps to run Ente CLI and also avoid keyrings errors.
Run:
```shell
# export the secrets path
export ENTE_CLI_SECRETS_PATH=./<path-to-secrets.txt>
./ente-cli
```
You can also add the above line to your shell's rc file, to prevent the need to
export manually every time.
Then one of the following:
1. If the file doesn't exist, Ente CLI will create it and fill it with a random
32 character encryption key.
2. If you do create the file, please fill it with a cryptographically generated
32 byte string.
And you are good to go.
## References
- [Ente CLI Secrets Path](https://www.reddit.com/r/selfhosted/comments/1gc09il/comment/lu2hox2/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button)
- [Keyrings](https://man7.org/linux/man-pages/man7/keyrings.7.html)