mirror of
https://github.com/Dvorinka/Containr.git
synced 2026-10-28 07:41:27 +00:00
Merge pull request #4 from Dvorinka/docs/readme-screenshots
docs: add app screenshots, default compose to published :latest images
This commit is contained in:
8 files changed
+43
-10
No files matched your search
@@ -11,6 +11,10 @@ API_PORT=8082
|
||||
POSTGRES_PORT=5432
|
||||
REDIS_PORT=6379
|
||||
|
||||
# Image tag to pull from GHCR (e.g. latest, 0.1.1). Use CONTAINR_BUILD=1
|
||||
# with install.sh to build from source instead.
|
||||
CONTAINR_VERSION=latest
|
||||
|
||||
# Database Configuration
|
||||
POSTGRES_DB=containr
|
||||
POSTGRES_USER=containr_user
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
<p align="center">
|
||||
<a href="#quick-start">Quick Start</a> •
|
||||
<a href="#screenshots">Screenshots</a> •
|
||||
<a href="#features">Features</a> •
|
||||
<a href="#architecture">Architecture</a> •
|
||||
<a href="docs/guides/">Guides</a> •
|
||||
@@ -34,6 +35,16 @@ The UI is inspired by Railway's project canvas: services appear as nodes,
|
||||
connections are inferred automatically, and everything — logs, metrics,
|
||||
deployments, builds — is one click away.
|
||||
|
||||
## Screenshots
|
||||
|
||||
| Projects dashboard | Project canvas |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
| Service detail | Managed databases |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
## Features
|
||||
|
||||
- **Project canvas** — visual service topology with groups, drag/drop layout,
|
||||
@@ -84,8 +95,10 @@ cd Containr
|
||||
```
|
||||
|
||||
The script creates `.env` from `.env.example`, fills in all required secrets
|
||||
with random values, builds the images, and starts the stack. It keeps an
|
||||
existing `.env` untouched, so it is safe to re-run.
|
||||
with random values, pulls the published `:latest` images from GHCR, and
|
||||
starts the stack. It keeps an existing `.env` untouched, so it is safe to
|
||||
re-run. Set `CONTAINR_BUILD=1` to build from source instead, or
|
||||
`CONTAINR_VERSION` in `.env` to pin a release tag (e.g. `0.1.1`).
|
||||
|
||||
Frontend at `http://localhost:3000`, API at `http://localhost:8082`.
|
||||
|
||||
@@ -93,11 +106,13 @@ Frontend at `http://localhost:3000`, API at `http://localhost:8082`.
|
||||
|
||||
```bash
|
||||
cp .env.example .env # fill in secrets
|
||||
docker compose up -d --build
|
||||
docker compose up -d # pulls ghcr.io/dvorinka/containr-*:latest
|
||||
```
|
||||
|
||||
Host ports can be remapped in `.env` (`HTTP_PORT`, `API_PORT`,
|
||||
`POSTGRES_PORT`, `REDIS_PORT`) if the defaults collide with other services.
|
||||
Compose pulls the published images by default; run `docker compose up -d
|
||||
--build` to build from source. Host ports can be remapped in `.env`
|
||||
(`HTTP_PORT`, `API_PORT`, `POSTGRES_PORT`, `REDIS_PORT`) if the defaults
|
||||
collide with other services.
|
||||
|
||||
### Local development
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
backend:
|
||||
image: ghcr.io/dvorinka/containr-backend:${CONTAINR_VERSION:-latest}
|
||||
pull_policy: missing
|
||||
build:
|
||||
context: ./app/backend
|
||||
dockerfile: Dockerfile
|
||||
@@ -94,6 +96,8 @@ services:
|
||||
start_period: 30s
|
||||
|
||||
frontend:
|
||||
image: ghcr.io/dvorinka/containr-frontend:${CONTAINR_VERSION:-latest}
|
||||
pull_policy: missing
|
||||
build:
|
||||
context: ./app/frontend
|
||||
dockerfile: Dockerfile
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 109 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 80 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 85 KiB |
+15
-5
@@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# Containr one-shot installer: creates .env with generated secrets, builds
|
||||
# images, boots the stack, and waits for the API to report healthy.
|
||||
# Containr one-shot installer: creates .env with generated secrets, pulls the
|
||||
# published images (or builds from source), boots the stack, and waits for
|
||||
# the API to report healthy.
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
@@ -45,9 +46,18 @@ fi
|
||||
HTTP_PORT="${HTTP_PORT:-3000}"
|
||||
API_PORT="${API_PORT:-8082}"
|
||||
|
||||
# Build and boot
|
||||
info "Building images and starting the stack..."
|
||||
docker compose up -d --build
|
||||
# Boot: pull published :latest images by default (CONTAINR_VERSION pins a
|
||||
# release). Build from source instead with CONTAINR_BUILD=1, or as fallback
|
||||
# when the registry is unreachable.
|
||||
if [[ "${CONTAINR_BUILD:-}" == "1" ]]; then
|
||||
info "CONTAINR_BUILD=1 - building images from source..."
|
||||
docker compose build
|
||||
elif ! docker compose pull; then
|
||||
info "Image pull failed - building from source instead..."
|
||||
docker compose build
|
||||
fi
|
||||
info "Starting the stack..."
|
||||
docker compose up -d
|
||||
|
||||
# Wait for the API
|
||||
info "Waiting for the API on http://localhost:${API_PORT}/health ..."
|
||||
|
||||
Reference in new issue
Block a user