diff --git a/server/README.md b/server/README.md index 40b479577..66e17e5bd 100644 --- a/server/README.md +++ b/server/README.md @@ -38,7 +38,13 @@ And ping again This time you'll see the updated message. For more details about how to get museum up and running, see -[RUNNING.md](RUNNING.md). +[RUNNING](RUNNING.md). + +> [!TIP] +> +> Also, there is a way to use our pre-built Docker images to directly start a +> cluster without needing to clone this repository - see +> [docs/docker](docs/docker.md). ## Architecture @@ -84,10 +90,11 @@ And it is built with containerization in mind - both during development and deployment. Just use the provided Dockerfile, configure to taste and you're off to the races. -> [!CAUTION] -> -> We don't publish any official docker images (yet). For self-hosters, the -> recommendation is to build your own image using the provided `Dockerfile`. +Overall, there are [three approaches](RUNNING.md) you can take: + +* Run using Docker using a pre-built Docker image +* Run using Docker but build an image from source +* Run without Docker Everything that you might needed to run museum is all in here, since this is the setup we ourselves use in production. diff --git a/server/RUNNING.md b/server/RUNNING.md index 22045fe2b..132bc7801 100644 --- a/server/RUNNING.md +++ b/server/RUNNING.md @@ -8,13 +8,14 @@ environment that doesn't clutter your machine. You can also run museum directly on your machine if you wish - it is a single static go binary. -This document describes both these approaches, and also outlines configuration. +This document describes these approaches, and also outlines configuration. -- [Running using Docker](#docker) -- [Running without Docker](#without-docker) +- [Run using Docker using a pre-built Docker image](docs/docker.md) +- [Run using Docker but build an image from source](#build-and-run-using-docker) +- [Running without Docker](#run-without-docker) - [Configuration](#configuration) -## Docker +## Build and run using Docker Start the cluster @@ -70,7 +71,7 @@ Each time museum gets rebuilt from source, a new image gets created but the old one is retained as a dangling image. You can use `docker image prune --force`, or `docker system prune` if that's fine with you, to remove these. -## Without Docker +## Running without Docker The museum binary can be run by using `go run cmd/museum/main.go`. But first, you'll need to prepare your machine for development. Here we give the steps, @@ -132,7 +133,7 @@ pg_ctl -D /usr/local/var/postgres -l logfile start createuser -s postgres ``` -## Start museum +### Start museum ```sh export ENTE_DB_USER=postgres @@ -148,7 +149,7 @@ ENTE_DB_USER=ente_user air ``` -## Testing +### Testing Set up a local database for testing. This is not required for running the server. Create a test database with the following name and credentials: diff --git a/server/docs/docker.md b/server/docs/docker.md index c1c72ea20..d8f3db913 100644 --- a/server/docs/docker.md +++ b/server/docs/docker.md @@ -52,7 +52,7 @@ require you to clone the repository or build any images. touch museum.yaml ``` -4. That is all. You can now start everything. +5. That is all. You can now start everything. ```sh docker compose up @@ -66,9 +66,18 @@ This will start a cluster containing: 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`**. +You can do a quick smoke test by pinging the API: ```sh -docker pull ghcr.io/ente-io/server:latest +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 ```