docs: replace Railway and Coolify screenshots with compressed WebP
Converted 19 screenshots from PNG to WebP with quality 80, width capped at 1280px. File sizes reduced from 1.3-1.5 MB each down to 12-25 KB. Updated all image references in railway.mdx and coolify.mdx accordingly.
@@ -45,7 +45,7 @@ This uses a **Docker Compose resource**: you paste the compose file and set ever
|
||||
|
||||
Log in to Coolify and **create a project**. When you add a resource, Coolify asks what type it is — GitHub, a Docker image, a service, or a **Docker Compose** file. Choose **Docker Compose**, then **paste the contents of [`docker-compose.images.yaml`](https://github.com/classroomio/classroomio/blob/main/docker-compose.images.yaml)** into the editor.
|
||||
|
||||

|
||||

|
||||
|
||||
</Step>
|
||||
|
||||
@@ -53,8 +53,8 @@ Log in to Coolify and **create a project**. When you add a resource, Coolify ask
|
||||
### Confirm the services parsed
|
||||
|
||||
After saving, Coolify parses the compose file and lists the services: `postgres`, `redis`, `api`, `dashboard`, `jobs` (and `minio` once you enable its profile in the next step). Confirm they all appear before moving on.
|
||||

|
||||

|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -87,7 +87,7 @@ SMTP_SENDER=ClassroomIO <[email protected]>
|
||||
only if you use that integration. Leaving an optional one blank never causes a build or boot error.
|
||||
</Callout>
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -102,7 +102,7 @@ SMTP_SENDER=ClassroomIO <[email protected]>
|
||||
reproducible.
|
||||
</Callout>
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -112,7 +112,7 @@ Open the **dashboard** service → **Settings** and set its domain, including th
|
||||
|
||||
The dashboard proxies API calls server-side, so you normally only expose the dashboard publicly — the `api` service stays internal.
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -120,7 +120,7 @@ The dashboard proxies API calls server-side, so you normally only expose the das
|
||||
|
||||
Click **Deploy**. Coolify pulls `classroomio/{api,dashboard,jobs}:${CIO_VERSION}`, starts Postgres + Redis, the API container runs database setup on first boot, then the dashboard and the **jobs worker** come up. Watch the **logs** — they tell you when every service is up.
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -128,7 +128,7 @@ Click **Deploy**. Coolify pulls `classroomio/{api,dashboard,jobs}:${CIO_VERSION}
|
||||
|
||||
Once the logs show the stack is healthy, open your dashboard URL (`https://dash.yourdomain.com`) in a new browser tab and **sign up**. The **first** account becomes the organization **admin**. Every signup or sign-in after that joins as a student — unless you invite them with a specific role.
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
</Steps>
|
||||
|
||||
@@ -45,8 +45,8 @@ The one-click template provisions **all of the services** for you — Postgres,
|
||||
|
||||
Click the **Deploy on Railway** button above. Railway opens the template page where all of the ClassroomIO services are listed and ready to configure.
|
||||
|
||||

|
||||
</Step>
|
||||

|
||||
|
||||
|
||||
<Step>
|
||||
### Review the preconfigured services
|
||||
@@ -58,7 +58,7 @@ The template comes with every service preconfigured — most need nothing from y
|
||||
|
||||
The next three steps cover the services that **do** need input: `cio-jobs`, `cio-minio`, and `cio-api`.
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -72,7 +72,7 @@ The next three steps cover the services that **do** need input: `cio-jobs`, `cio
|
||||
- `SMTP_SENDER`
|
||||
- `SMTP_PASSWORD`
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -84,7 +84,7 @@ Set the storage credentials on `cio-minio`:
|
||||
- `MINIO_ROOT_USER`
|
||||
- `MINIO_ROOT_PASSWORD`
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -92,8 +92,8 @@ Set the storage credentials on `cio-minio`:
|
||||
|
||||
On `cio-api`, set the SMTP host and any additional values you want. See the [Environment variable reference](#environment-variable-reference) below for the full list (object storage, auth secrets, dashboard origin, and more).
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -101,7 +101,7 @@ On `cio-api`, set the SMTP host and any additional values you want. See the [Env
|
||||
|
||||
Click **Deploy**. Railway begins building and bringing the services online — Redis, Postgres, and the rest come up first.
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -111,7 +111,7 @@ Click **Deploy**. Railway begins building and bringing the services online — R
|
||||
On the first deploy, `cio-api` can crash. This is expected **only when you rely on the Railway-generated subdomain**: the API needs the dashboard's public domain (Better Auth's base URL), which doesn't exist yet. If you're using your **own custom subdomain**, this crash doesn't happen — skip ahead to signing up.
|
||||
</Callout>
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -119,7 +119,7 @@ Click **Deploy**. Railway begins building and bringing the services online — R
|
||||
|
||||
Open **cio-dashboard → Settings → Networking** and click **Generate Domain**. Railway assigns the public domain the API needs.
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -127,8 +127,8 @@ Open **cio-dashboard → Settings → Networking** and click **Generate Domain**
|
||||
|
||||
Redeploy **cio-dashboard**, then **cio-api**, so both pick up the newly generated domain. They should now boot cleanly.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
<Step>
|
||||
@@ -136,7 +136,7 @@ Redeploy **cio-dashboard**, then **cio-api**, so both pick up the newly generate
|
||||
|
||||
Open the generated dashboard URL in a **new browser tab** and **sign up** to create your first account.
|
||||
|
||||

|
||||

|
||||
</Step>
|
||||
|
||||
</Steps>
|
||||
|
||||
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 12 KiB |