try.directtry.direct

Deploy 5 Useful Self-Hosted Apps in 10 Minutes

What You'll Build

Five real self-hosted apps running on your machine - each deployed with two commands. Total time: under 10 minutes.

  • Plausible - web analytics (Google Analytics alternative)
  • Vaultwarden - password manager (Bitwarden compatible)
  • Outline - team wiki and note-taking
  • Code Server - VS Code in your browser
  • Filebrowser - web-based file manager

Quick Answer

# For any of these apps:
mkdir ~/app-name && cd ~/app-name
stacker init --from-github owner/repo --with-ai --force
cp .env.example .env && ./scripts/generate-secrets.sh
stacker deploy --target local
Same pattern. Different repo. 2 minutes each.

Prerequisites

  • Docker (docker --version)
  • Stacker (stacker --version)
curl -fsSL https://raw.githubusercontent.com/trydirect/stacker/main/install.sh | bash

1. Plausible Analytics (2 min)

Privacy-first web analytics. No cookies, no personal data collection.

mkdir ~/plausible && cd ~/plausible
stacker init --from-github plausible/analytics --with-ai --force

cp .env.example .env
./scripts/generate-secrets.sh

# Edit .env - set your domain:
# PLAUSIBLE_BASE_URL=http://localhost:8000

stacker deploy --target local
# Dashboard: http://localhost:8000

Stacker handles: ClickHouse database, PostgreSQL, the Plausible API, and the tracker script endpoint.

2. Vaultwarden (2 min)

Lightweight Bitwarden-compatible password manager. Self-host, sync across devices.

mkdir ~/vaultwarden && cd ~/vaultwarden
stacker init --from-github dani-garcia/vaultwarden --with-ai --force

cp .env.example .env
./scripts/generate-secrets.sh

stacker deploy --target local
# Web UI: http://localhost:8080

Create an admin account, then use the Bitwarden mobile app with your self-hosted URL.

3. Outline Wiki (3 min)

Fast, collaborative team wiki. Notion alternative, open source.

mkdir ~/outline && cd ~/outline
stacker init --from-github outline/outline --with-ai --force

cp .env.example .env
./scripts/generate-secrets.sh

# Outline needs an OIDC provider - edit .env:
# OIDC_CLIENT_ID=your-id
# OIDC_CLIENT_SECRET=your-secret
# OIDC_AUTH_URI=http://localhost:3000

stacker deploy --target local
# Wiki: http://localhost:3000

Outline requires an authentication provider (Google, Slack, or OIDC). The .env.example lists all required variables.

4. Code Server (1 min)

VS Code running in your browser. Access your dev environment from anywhere.

mkdir ~/code-server && cd ~/code-server
stacker init --from-github coder/code-server --with-ai --force

cp .env.example .env
./scripts/generate-secrets.sh

# Set your password in .env:
# PASSWORD=your-secure-password

stacker deploy --target local
# IDE: http://localhost:8080

5. Filebrowser (1 min)

Web-based file manager. Browse, edit, and share files from your browser.

mkdir ~/filebrowser && cd ~/filebrowser
stacker init --from-github filebrowser/filebrowser --with-ai --force

cp .env.example .env
./scripts/generate-secrets.sh

stacker deploy --target local
# File manager: http://localhost:8080

Running Everything Together

All five apps can run simultaneously on different ports:

stacker status
# plausible   running  :8000
# vaultwarden running  :8080
# outline     running  :3000
# code-server running  :8443
# filebrowser running  :8500

Customizing Ports

If a port conflicts, edit stacker.yml:

# Example: move Vaultwarden to port 8081
app:
  ports:
    - "8081:8080"

Deploying to a Server

Once everything works locally, push to a server:

stacker config setup server
stacker deploy --target server

Or deploy to cloud:

stacker config setup cloud
stacker deploy --target cloud

What Each App Needs

AppServicesPortSetup Notes
PlausibleClickHouse, PostgreSQL8000Set PLAUSIBLE_BASE_URL in .env
VaultwardenNone (single container)8080Just set PASSWORD
OutlinePostgreSQL, Redis, S33000Needs OIDC provider
Code ServerNone (single container)8080Set PASSWORD
FilebrowserNone (single container)8080Zero config

Key Takeaways

  • Same pattern for every app: init, configure, deploy
  • Stacker handles Docker complexity automatically
  • Healthchecks, port isolation, and secret generation are built in
  • Works identically on local, server, or cloud
  • Source: github.com/trydirect/stacker

Try It Yourself

Deploy this stack or browse pre-built templates in the marketplace. Your first deployment is always free.