Outline the plan

This commit is contained in:
Manav Rathi 2024-03-27 11:14:06 +05:30
parent 16c2706e48
commit b31332ff30
No known key found for this signature in database

70
server/scripts/docker.md Normal file
View file

@ -0,0 +1,70 @@
# 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
```
2. Copy the starter compose.yaml (and two of its support files) from the
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 ../..
```
3. Modify `compose.yaml`. Instead of asking it to build Ente's server (museum),
we want to get it to pull and use the published Docker image.
```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
```
4. Create an (empty) configuration file. Yyou can later put your custom
configuration in this if needed.
```sh
touch museum.yaml
```
4. That's it. You can now start everything.
```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.
Alternatively, if you only want to run Ente's server, you can directly pull and
run the image we publish to **`ghcr.io/ente-io/server`**.