ente/server/docs/docker.md

84 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

2024-03-27 05:44:06 +00:00
# Running using published Docker images
Here we describe a way to run an Ente instance using a starter Docker compose
file and using the pre-built Docker images that we publish. This method does not
require you to clone the repository or build any images.
1. Create a directory where you'll run Ente
```sh
mkdir ente && cd ente
```
2024-03-27 07:34:28 +00:00
2. Copy the starter compose.yaml and two of its support files from the
2024-03-27 05:44:06 +00:00
repository onto your directory. You can do it by hand, or use (e.g.) curl
```sh
# compose.yaml
curl -LO https://raw.githubusercontent.com/ente-io/ente/main/server/compose.yaml
mkdir -p scripts/compose
cd scripts/compose
# scripts/compose/credentials.yaml
curl -LO https://raw.githubusercontent.com/ente-io/ente/main/server/scripts/compose/credentials.yaml
# scripts/compose/minio-provision.sh
curl -LO https://raw.githubusercontent.com/ente-io/ente/main/server/scripts/compose/minio-provision.sh
cd ../..
```
2024-03-27 07:16:08 +00:00
3. Modify `compose.yaml`. Instead of building from source, we want directly use
the published Docker image from `ghcr.io/ente-io/server`
2024-03-27 05:44:06 +00:00
```diff
--- a/server/compose.yaml
+++ b/server/compose.yaml
@@ -1,9 +1,6 @@
services:
museum:
- build:
- context: .
- args:
- GIT_COMMIT: development-cluster
+ image: ghcr.io/ente-io/server
```
2024-04-27 11:58:27 +00:00
4. Create an (empty) configuration file. You can later put your custom
2024-03-27 05:44:06 +00:00
configuration in this if needed.
```sh
touch museum.yaml
```
2024-03-27 08:13:44 +00:00
5. That is all. You can now start everything.
2024-03-27 05:44:06 +00:00
```sh
docker compose up
```
This will start a cluster containing:
* Ente's own server
* PostgresQL (DB)
* MinIO (the S3 layer)
For each of these, it'll use the latest published Docker image.
2024-03-27 08:13:44 +00:00
You can do a quick smoke test by pinging the API:
2024-03-27 07:34:28 +00:00
```sh
2024-03-27 08:13:44 +00:00
curl localhost:8080/ping
```
## Only the server
Alternatively, if you have setup the database and object storage externally and
only want to run Ente's server, you can skip the steps above and directly pull
and run the image from **`ghcr.io/ente-io/server`**.
```sh
docker pull ghcr.io/ente-io/server
2024-03-27 07:34:28 +00:00
```