From cc4d030b732e1d0f3b3b086a775bb4de512cef2f Mon Sep 17 00:00:00 2001 From: Brian Olson Date: Wed, 31 Dec 2025 20:49:53 -0500 Subject: [PATCH] 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 --- README.md | 22 +++++++++++++++++--- docker-compose.prebuilt.yml | 40 +++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 docker-compose.prebuilt.yml diff --git a/README.md b/README.md index 68afa4d..e2358e2 100644 --- a/README.md +++ b/README.md @@ -26,13 +26,29 @@ You'll need: * 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. -* 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 - 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. diff --git a/docker-compose.prebuilt.yml b/docker-compose.prebuilt.yml new file mode 100644 index 0000000..e802d31 --- /dev/null +++ b/docker-compose.prebuilt.yml @@ -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: