Chisle
코딩 에이전트 플러그인, 20개 실시간 작업에서 기본 모델 52% 활용, 간결한 페르소나와 출력 압축 제공
Stacker v0.3.5가 프로젝트를 스캔해 클라우드·베어메탈에 배포하고 원격 서비스 비밀과 클라우드 방화벽을 관리합니다
Stacker v0.3.5 scans your project, deploys to cloud or bare metal, manages remote service secrets, cloud firewalls, agents, and app pipes - all from your terminal.
개발 도구Shell · PythonGitHub @trydirect온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
🚀 Deploy 240+ self-hosted apps with a single stacker.yml — local, your own server, or cloud (Hetzner, DigitalOcean, AWS…). 110+ tested & verified. Analytics, CMS, chat, password managers, AI, and more.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗266 self-hostable apps, each deployable with a single
stacker.yml. Deploy to your laptop, your own server, or the cloud with one command - database setup, health checks, secrets, and remote monitoring included.
Eevery entry here is a ready-to-run deployment:
Pick a directory, generate secrets, and stacker deploy. Same layout, same commands.
cd stacker-projects/umami # pick any project, for instance umami
./scripts/generate-secrets.sh # generate .env from .env.example
stacker deploy # → running locally in minutes
export HETZNER_API_TOKEN=your_token
stacker deploy --target cloud --force-rebuild
cd umami # pick any project directory
./scripts/generate-secrets.sh # create .env from .env.example
stacker deploy # deploy locally
Then open http://localhost:PORT (the port is defined in the project's
stacker.yml).
If the CLI is missing, see the installation guide: https://github.com/trydirect/stacker
Prerequisites (local): Docker, Docker Compose, and the Stacker CLI.
# 1. Pick a project
cd plausible
# 2. Generate secrets
./scripts/generate-secrets.sh
# 3. Deploy to cloud
stacker deploy --target cloud --force-rebuild
Best for development and testing on your own machine.
stacker deploy
Deploy to a Linux server you control (Ubuntu 24.04+/Debian 12+, 2 GB+ RAM, 20 GB+ disk, key-based SSH, Docker installed).
stacker config setup server --ip <IP> --user root --key ~/.ssh/id_ed25519
stacker deploy --target server --force-rebuild
What happens: Stacker uploads the config bundle, generates
docker-compose.yml from stacker.yml under .stacker/ on the server, runs
docker compose up -d, waits for health checks, then runs post-deploy hooks.
When the Stacker API is unreachable (DNS or auth issues), deploy manually:
scp .stacker/docker-compose.yml .env root@<IP>:/home/trydirect/project/
ssh root@<IP> "docker compose -f /home/trydirect/project/docker-compose.yml -p project up -d"
Fully automated provisioning. Requires a provider account, an API token, and an SSH key registered with the provider.
export HETZNER_API_TOKEN=your_token_here
# First deploy — creates a new server (5-10 minutes)
stacker deploy --target cloud --force-new
stacker status # get the server IP, then point DNS at it
# Later deploys — reuse the same server (omit --force-new)
stacker deploy --target cloud --force-rebuild
Cloud settings live in stacker.yml:
deploy:
target: cloud
cloud:
provider: hetzner # or: digitalocean, aws, linode, vultr
region: fsn1 # Frankfurt (nbg1, hel1, ash, hil, sjc, sin, ...)
size: cpx22 # 2 vCPU / 4 GB RAM
ssh_key: ~/.ssh/id_ed25519
public_ports: # REQUIRED — without it only SSH (22) is open
- "80"
- "443"
public_ports opens the provider firewall. Forgetting it is the most common
cause of "app unreachable after deploy." You can also add ports afterwards:
stacker cloud firewall add --public-ports 8080/tcp
Hetzner server sizes:
| Size | vCPU | RAM | Price | Best for |
|---|---|---|---|---|
cpx12 | 1 | 2 GB | ~11.49 EUR | Small apps, testing |
cx23 | 2 | 4 GB | ~5.49 EUR | Most apps |
cpx32 | 4 | 8 GB | ~35 EUR | Heavy / multiple apps |
cpx42 | 4 | 8 GB | ~50 EUR | AI stacks |
Enable the status panel in stacker.yml so the Stacker agent can serve logs and
health from remote servers directly through the CLI — no SSH required:
monitoring:
status_panel: true
healthcheck:
endpoint: /health
interval: 30s
With status_panel: true, the stacker agent commands read directly from your
remote deployment:
stacker agent health # service health at a glance
stacker agent logs app-name --lines 200 # tail logs remotely
stacker agent status # server + container status
This is the recommended way to inspect running services. Reserve manual
ssh root@server access for cases the agent cannot cover.
Stacker supports multiple reverse proxy types for automatic HTTPS and domain routing.
Configure in stacker.yml:
proxy:
type: traefik # or: caddy, nginx-proxy-manager, nginx, none
auto_detect: false
domains:
- domain: app.example.com
ssl: off # off | auto | manual
upstream: app:3000
| Type | Image | Config | Auto-HTTPS | Notes |
|---|---|---|---|---|
traefik | traefik:latest | Docker labels | ✅ (Let's Encrypt) | Default for cloud deploys |
caddy | caddy:2-alpine | Caddyfile | ✅ (automatic) | Simple config, zero-touch TLS |
nginx-proxy-manager | jc21/nginx-proxy-manager | Web UI | ✅ (Let's Encrypt) | GUI-based management |
nginx | nginx:alpine | nginx.conf | ❌ | Manual config |
none | — | — | — | No proxy (direct port access) |
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗