diff --git a/server/scripts/docker.md b/server/scripts/docker.md new file mode 100644 index 000000000..717a503e5 --- /dev/null +++ b/server/scripts/docker.md @@ -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`**.