docs: document pre-built Docker image and add prebuilt compose file

Add docker-compose.prebuilt.yml that uses the pre-built GHCR image,
making deployment much easier for users who don't need to customize
the build.

Update README to prominently feature the pre-built image option as
the recommended approach, reducing the barrier to entry.

Pre-built images are available at: ghcr.io/eugeny/tabby-web:latest

Fixes #115
This commit is contained in:
Brian Olson
2025-12-31 20:49:53 -05:00
parent 16847cea93
commit cc4d030b73
2 changed files with 59 additions and 3 deletions

View File

@@ -26,13 +26,29 @@ You'll need:
* OAuth credentials from GitHub, GitLab, Google or Microsoft for authentication. * OAuth credentials from GitHub, GitLab, Google or Microsoft for authentication.
* For SSH and Telnet: a [`tabby-connection-gateway`](https://github.com/Eugeny/tabby-connection-gateway) to forward traffic. * For SSH and Telnet: a [`tabby-connection-gateway`](https://github.com/Eugeny/tabby-connection-gateway) to forward traffic.
* Docker BuildKit: `export DOCKER_BUILDKIT=1`
## Option 1: Pre-built Image (Recommended)
Use the pre-built image from GitHub Container Registry - no build required:
```bash ```bash
docker-compose up -e SOCIAL_AUTH_GITHUB_KEY=xxx -e SOCIAL_AUTH_GITHUB_SECRET=yyy docker-compose -f docker-compose.prebuilt.yml up -d
``` ```
will start Tabby Web on port 9090 with MariaDB as a storage backend. The image is available at `ghcr.io/eugeny/tabby-web:latest`.
## Option 2: Build from Source
If you need to customize the build:
```bash
export DOCKER_BUILDKIT=1
docker-compose up -d
```
---
Both options will start Tabby Web on port 9090 with MariaDB as a storage backend.
For SSH and Telnet, once logged in, enter your connection gateway address and auth token in the settings. For SSH and Telnet, once logged in, enter your connection gateway address and auth token in the settings.

View File

@@ -0,0 +1,40 @@
# Use this file for quick deployment with pre-built images (no build required)
# Usage: docker-compose -f docker-compose.prebuilt.yml up -d
services:
tabby:
image: ghcr.io/eugeny/tabby-web:latest
restart: always
depends_on:
- db
ports:
- 9090:80
environment:
- DATABASE_URL=mysql://root:123@db/tabby
- PORT=80
- DEBUG=False
- DOCKERIZE_ARGS="-wait tcp://db:3306 -timeout 60s"
#
# OAuth Providers - uncomment and configure at least one:
# - SOCIAL_AUTH_GITHUB_KEY=your_github_client_id
# - SOCIAL_AUTH_GITHUB_SECRET=your_github_client_secret
# - SOCIAL_AUTH_GITLAB_KEY=your_gitlab_client_id
# - SOCIAL_AUTH_GITLAB_SECRET=your_gitlab_client_secret
# - SOCIAL_AUTH_GOOGLE_OAUTH2_KEY=your_google_client_id
# - SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=your_google_client_secret
# - SOCIAL_AUTH_MICROSOFT_GRAPH_KEY=your_microsoft_client_id
# - SOCIAL_AUTH_MICROSOFT_GRAPH_SECRET=your_microsoft_client_secret
db:
image: mariadb:10.7.1
restart: always
environment:
MARIADB_DATABASE: tabby
MARIADB_USER: user
MARIADB_PASSWORD: 123
MYSQL_ROOT_PASSWORD: 123
volumes:
- db-data:/var/lib/mysql
volumes:
db-data: