diff --git a/docs/docs/.vitepress/sidebar.ts b/docs/docs/.vitepress/sidebar.ts index 398da45df1..4cd620992e 100644 --- a/docs/docs/.vitepress/sidebar.ts +++ b/docs/docs/.vitepress/sidebar.ts @@ -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", }, ], }, diff --git a/docs/docs/photos/faq/general.md b/docs/docs/photos/faq/general.md index 040a7e1bfa..e03a6ebc9b 100644 --- a/docs/docs/photos/faq/general.md +++ b/docs/docs/photos/faq/general.md @@ -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_. diff --git a/docs/docs/self-hosting/administration/users.md b/docs/docs/self-hosting/administration/users.md index 0e64250785..c61d9b0a2c 100644 --- a/docs/docs/self-hosting/administration/users.md +++ b/docs/docs/self-hosting/administration/users.md @@ -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 diff --git a/docs/docs/self-hosting/index.md b/docs/docs/self-hosting/index.md index a74b70882c..38ce6edeae 100644 --- a/docs/docs/self-hosting/index.md +++ b/docs/docs/self-hosting/index.md @@ -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 diff --git a/docs/docs/self-hosting/installation/compose.md b/docs/docs/self-hosting/installation/compose.md index b1e76b22e6..fb31639ec4 100644 --- a/docs/docs/self-hosting/installation/compose.md +++ b/docs/docs/self-hosting/installation/compose.md @@ -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: diff --git a/docs/docs/self-hosting/installation/config.md b/docs/docs/self-hosting/installation/config.md index ecade6cec2..99061c74f5 100644 --- a/docs/docs/self-hosting/installation/config.md +++ b/docs/docs/self-hosting/installation/config.md @@ -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 | | diff --git a/docs/docs/self-hosting/installation/manual.md b/docs/docs/self-hosting/installation/manual.md index eead12222e..b174feab69 100644 --- a/docs/docs/self-hosting/installation/manual.md +++ b/docs/docs/self-hosting/installation/manual.md @@ -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 diff --git a/docs/docs/self-hosting/installation/post-install/index.md b/docs/docs/self-hosting/installation/post-install/index.md index cfd8f6db09..9de972602b 100644 --- a/docs/docs/self-hosting/installation/post-install/index.md +++ b/docs/docs/self-hosting/installation/post-install/index.md @@ -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. diff --git a/docs/docs/self-hosting/troubleshooting/cli.md b/docs/docs/self-hosting/troubleshooting/cli.md new file mode 100644 index 0000000000..424addaabe --- /dev/null +++ b/docs/docs/self-hosting/troubleshooting/cli.md @@ -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. diff --git a/docs/docs/self-hosting/troubleshooting/keyring.md b/docs/docs/self-hosting/troubleshooting/keyring.md deleted file mode 100644 index 40d6e4521f..0000000000 --- a/docs/docs/self-hosting/troubleshooting/keyring.md +++ /dev/null @@ -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=./ - -./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)