mirror of
https://github.com/altstackHQ/altstack-data.git
synced 2026-04-18 00:53:14 +02:00
Initialize public data and docs repository
This commit is contained in:
201
docs/app/deploy/_meta.ts
Normal file
201
docs/app/deploy/_meta.ts
Normal file
@@ -0,0 +1,201 @@
|
||||
import type { MetaRecord } from 'nextra'
|
||||
|
||||
const meta: MetaRecord = {
|
||||
"activepieces": {
|
||||
"title": "Activepieces"
|
||||
},
|
||||
"affine": {
|
||||
"title": "AFFiNE"
|
||||
},
|
||||
"akaunting": {
|
||||
"title": "Akaunting"
|
||||
},
|
||||
"appflowy": {
|
||||
"title": "AppFlowy"
|
||||
},
|
||||
"appwrite": {
|
||||
"title": "Appwrite"
|
||||
},
|
||||
"authentik": {
|
||||
"title": "Authentik"
|
||||
},
|
||||
"bitwarden": {
|
||||
"title": "Bitwarden"
|
||||
},
|
||||
"calcom": {
|
||||
"title": "Cal.com"
|
||||
},
|
||||
"chaskiq": {
|
||||
"title": "Chaskiq"
|
||||
},
|
||||
"coder": {
|
||||
"title": "Coder"
|
||||
},
|
||||
"continue-dev": {
|
||||
"title": "Continue"
|
||||
},
|
||||
"coolify": {
|
||||
"title": "Coolify"
|
||||
},
|
||||
"deepseek": {
|
||||
"title": "DeepSeek-V3 / R1"
|
||||
},
|
||||
"documenso": {
|
||||
"title": "Documenso"
|
||||
},
|
||||
"dokku": {
|
||||
"title": "Dokku"
|
||||
},
|
||||
"erpnext": {
|
||||
"title": "ERPNext"
|
||||
},
|
||||
"flux": {
|
||||
"title": "FLUX"
|
||||
},
|
||||
"freecad": {
|
||||
"title": "FreeCAD"
|
||||
},
|
||||
"gemma": {
|
||||
"title": "Google Gemma 2"
|
||||
},
|
||||
"gimp": {
|
||||
"title": "GIMP"
|
||||
},
|
||||
"glitchtip": {
|
||||
"title": "GlitchTip"
|
||||
},
|
||||
"gpt4all": {
|
||||
"title": "GPT4All"
|
||||
},
|
||||
"hunyuan-video": {
|
||||
"title": "HunyuanVideo 1.5"
|
||||
},
|
||||
"jitsi-meet": {
|
||||
"title": "Jitsi Meet"
|
||||
},
|
||||
"jitsu": {
|
||||
"title": "Jitsu"
|
||||
},
|
||||
"kdenlive": {
|
||||
"title": "Kdenlive"
|
||||
},
|
||||
"keepassxc": {
|
||||
"title": "KeePassXC"
|
||||
},
|
||||
"keycloak": {
|
||||
"title": "Keycloak"
|
||||
},
|
||||
"krita": {
|
||||
"title": "Krita"
|
||||
},
|
||||
"librecad": {
|
||||
"title": "LibreCAD"
|
||||
},
|
||||
"listmonk": {
|
||||
"title": "Listmonk"
|
||||
},
|
||||
"llama": {
|
||||
"title": "Meta Llama 3.1"
|
||||
},
|
||||
"matomo": {
|
||||
"title": "Matomo"
|
||||
},
|
||||
"mattermost": {
|
||||
"title": "Mattermost"
|
||||
},
|
||||
"mautic": {
|
||||
"title": "Mautic"
|
||||
},
|
||||
"medusa": {
|
||||
"title": "Medusa.js"
|
||||
},
|
||||
"metabase": {
|
||||
"title": "Metabase"
|
||||
},
|
||||
"minio": {
|
||||
"title": "MinIO"
|
||||
},
|
||||
"mistral": {
|
||||
"title": "Mistral Large 2"
|
||||
},
|
||||
"mixpost": {
|
||||
"title": "Mixpost"
|
||||
},
|
||||
"mochi-1": {
|
||||
"title": "Mochi-1"
|
||||
},
|
||||
"n8n": {
|
||||
"title": "n8n"
|
||||
},
|
||||
"odoo": {
|
||||
"title": "Odoo"
|
||||
},
|
||||
"ollama": {
|
||||
"title": "Ollama"
|
||||
},
|
||||
"onlyoffice": {
|
||||
"title": "ONLYOFFICE"
|
||||
},
|
||||
"orangehrm": {
|
||||
"title": "OrangeHRM"
|
||||
},
|
||||
"outline": {
|
||||
"title": "Outline"
|
||||
},
|
||||
"penpot": {
|
||||
"title": "Penpot"
|
||||
},
|
||||
"plane": {
|
||||
"title": "Plane"
|
||||
},
|
||||
"plausible": {
|
||||
"title": "Plausible"
|
||||
},
|
||||
"pocketbase": {
|
||||
"title": "PocketBase"
|
||||
},
|
||||
"postal": {
|
||||
"title": "Postal"
|
||||
},
|
||||
"posthog": {
|
||||
"title": "PostHog"
|
||||
},
|
||||
"qwen": {
|
||||
"title": "Qwen 2.5"
|
||||
},
|
||||
"rocketchat": {
|
||||
"title": "Rocket.Chat"
|
||||
},
|
||||
"signoz": {
|
||||
"title": "SigNoz"
|
||||
},
|
||||
"stable-diffusion": {
|
||||
"title": "Stable Diffusion 3.5"
|
||||
},
|
||||
"supabase": {
|
||||
"title": "Supabase"
|
||||
},
|
||||
"superset": {
|
||||
"title": "Apache Superset"
|
||||
},
|
||||
"tabby": {
|
||||
"title": "TabbyML"
|
||||
},
|
||||
"taiga": {
|
||||
"title": "Taiga"
|
||||
},
|
||||
"twenty": {
|
||||
"title": "Twenty"
|
||||
},
|
||||
"uptime-kuma": {
|
||||
"title": "Uptime Kuma"
|
||||
},
|
||||
"vaultwarden": {
|
||||
"title": "Vaultwarden"
|
||||
},
|
||||
"zammad": {
|
||||
"title": "Zammad"
|
||||
}
|
||||
}
|
||||
|
||||
export default meta
|
||||
158
docs/app/deploy/activepieces/page.mdx
Normal file
158
docs/app/deploy/activepieces/page.mdx
Normal file
@@ -0,0 +1,158 @@
|
||||
---
|
||||
title: "Deploy Activepieces Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Activepieces with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Activepieces
|
||||
|
||||
Open source alternative to Zapier. Automate your work with 200+ apps.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 11.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Activepieces instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Activepieces and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
activepieces:
|
||||
image: activepieces/activepieces:latest
|
||||
container_name: activepieces
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
ports:
|
||||
- "8080:80"
|
||||
environment:
|
||||
- AP_FRONTEND_URL=http://localhost:8080
|
||||
- AP_POSTGRES_DATABASE=activepieces
|
||||
- AP_POSTGRES_HOST=db
|
||||
- AP_POSTGRES_PORT=5432
|
||||
- AP_POSTGRES_USERNAME=activepieces
|
||||
- AP_POSTGRES_PASSWORD=activepieces
|
||||
- AP_REDIS_HOST=redis
|
||||
- AP_REDIS_PORT=6379
|
||||
|
||||
db:
|
||||
image: postgres:14-alpine
|
||||
container_name: activepieces-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=activepieces
|
||||
- POSTGRES_PASSWORD=activepieces
|
||||
- POSTGRES_DB=activepieces
|
||||
volumes:
|
||||
- activepieces_db_data:/var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
container_name: activepieces-redis
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
activepieces_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/activepieces && cd /opt/activepieces
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `AP_FRONTEND_URL` | `http://localhost:8080` | No |
|
||||
| `AP_POSTGRES_DATABASE` | `activepieces` | No |
|
||||
| `AP_POSTGRES_HOST` | `db` | No |
|
||||
| `AP_POSTGRES_PORT` | `5432` | No |
|
||||
| `AP_POSTGRES_USERNAME` | `activepieces` | No |
|
||||
| `AP_POSTGRES_PASSWORD` | `activepieces` | No |
|
||||
| `AP_REDIS_HOST` | `redis` | No |
|
||||
| `AP_REDIS_PORT` | `6379` | No |
|
||||
| `POSTGRES_USER` | `activepieces` | No |
|
||||
| `POSTGRES_PASSWORD` | `activepieces` | No |
|
||||
| `POSTGRES_DB` | `activepieces` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs activepieces | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Activepieces on AltStack Directory](https://thealtstack.com/alternative-to/activepieces)
|
||||
- [Activepieces Self-Hosted Guide](https://thealtstack.com/self-hosted/activepieces)
|
||||
- [Official Documentation](https://www.activepieces.com)
|
||||
- [GitHub Repository](https://github.com/activepieces/activepieces)
|
||||
171
docs/app/deploy/affine/page.mdx
Normal file
171
docs/app/deploy/affine/page.mdx
Normal file
@@ -0,0 +1,171 @@
|
||||
---
|
||||
title: "Deploy AFFiNE Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting AFFiNE with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy AFFiNE
|
||||
|
||||
There can be more than Notion and Miro. AFFiNE(pronounced [ə‘fain]) is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 62.7k stars</span>
|
||||
<span className="deploy-hero-item">📜 Other</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working AFFiNE instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for AFFiNE and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Docker Compose for AFFiNE
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
affine:
|
||||
image: ghcr.io/toeverything/affine-graphql:latest # Using official as fallback but custom build setup exists in Dockerfile
|
||||
container_name: affine
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://affine:affine@db:5432/affine
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- NODE_ENV=production
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- affine_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost:3000/" ]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
container_name: affine-db
|
||||
environment:
|
||||
POSTGRES_USER: affine
|
||||
POSTGRES_PASSWORD: affine
|
||||
POSTGRES_DB: affine
|
||||
volumes:
|
||||
- affine_db_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- affine_net
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "pg_isready -U affine" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: affine-redis
|
||||
networks:
|
||||
- affine_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "redis-cli", "ping" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
networks:
|
||||
affine_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
affine_db_data:
|
||||
name: affine_db_data
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/affine && cd /opt/affine
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `DATABASE_URL` | `postgres://affine:affine@db:5432/affine` | No |
|
||||
| `REDIS_URL` | `redis://redis:6379` | No |
|
||||
| `NODE_ENV` | `production` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs affine | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [AFFiNE on AltStack Directory](https://thealtstack.com/alternative-to/affine)
|
||||
- [AFFiNE Self-Hosted Guide](https://thealtstack.com/self-hosted/affine)
|
||||
- [Official Documentation](https://affine.pro)
|
||||
- [GitHub Repository](https://github.com/toeverything/AFFiNE)
|
||||
146
docs/app/deploy/akaunting/page.mdx
Normal file
146
docs/app/deploy/akaunting/page.mdx
Normal file
@@ -0,0 +1,146 @@
|
||||
---
|
||||
title: "Deploy Akaunting Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Akaunting with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Akaunting
|
||||
|
||||
Free and open source online accounting software for small businesses and freelancers.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 12.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 GPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Akaunting instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Akaunting and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
akaunting:
|
||||
image: akaunting/akaunting:latest
|
||||
container_name: akaunting
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "8080:80"
|
||||
environment:
|
||||
- DB_HOST=db
|
||||
- DB_DATABASE=akaunting
|
||||
- DB_USERNAME=akaunting
|
||||
- DB_PASSWORD=akaunting
|
||||
|
||||
db:
|
||||
image: mariadb:10.6
|
||||
container_name: akaunting-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- MYSQL_DATABASE=akaunting
|
||||
- MYSQL_USER=akaunting
|
||||
- MYSQL_PASSWORD=akaunting
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
volumes:
|
||||
- akaunting_db_data:/var/lib/mysql
|
||||
|
||||
volumes:
|
||||
akaunting_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/akaunting && cd /opt/akaunting
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `DB_HOST` | `db` | No |
|
||||
| `DB_DATABASE` | `akaunting` | No |
|
||||
| `DB_USERNAME` | `akaunting` | No |
|
||||
| `DB_PASSWORD` | `akaunting` | No |
|
||||
| `MYSQL_DATABASE` | `akaunting` | No |
|
||||
| `MYSQL_USER` | `akaunting` | No |
|
||||
| `MYSQL_PASSWORD` | `akaunting` | No |
|
||||
| `MYSQL_ROOT_PASSWORD` | `root` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs akaunting | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Akaunting on AltStack Directory](https://thealtstack.com/alternative-to/akaunting)
|
||||
- [Akaunting Self-Hosted Guide](https://thealtstack.com/self-hosted/akaunting)
|
||||
- [Official Documentation](https://akaunting.com)
|
||||
- [GitHub Repository](https://github.com/akaunting/akaunting)
|
||||
171
docs/app/deploy/appflowy/page.mdx
Normal file
171
docs/app/deploy/appflowy/page.mdx
Normal file
@@ -0,0 +1,171 @@
|
||||
---
|
||||
title: "Deploy AppFlowy Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting AppFlowy with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy AppFlowy
|
||||
|
||||
Bring projects, wikis, and teams together with AI. AppFlowy is the AI collaborative workspace where you achieve more without losing control of your data. The leading open source Notion alternative.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 68.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 GNU Affero General Public License v3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working AppFlowy instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for AppFlowy and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Docker Compose for AppFlowy Cloud
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
appflowy:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: appflowy-cloud
|
||||
ports:
|
||||
- "8080:8080"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://postgres:${POSTGRES_PASSWORD:-password}@db:5432/appflowy
|
||||
- REDIS_URL=redis://redis:6379
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- appflowy_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost:8080/health" ]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
container_name: appflowy-db
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password}
|
||||
POSTGRES_DB: appflowy
|
||||
volumes:
|
||||
- appflowy_db_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- appflowy_net
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: appflowy-redis
|
||||
networks:
|
||||
- appflowy_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "redis-cli", "ping" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
networks:
|
||||
appflowy_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
appflowy_db_data:
|
||||
name: appflowy_db_data
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/appflowy && cd /opt/appflowy
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `DATABASE_URL` | `postgres://postgres:${POSTGRES_PASSWORD:-password}@db:5432/appflowy` | No |
|
||||
| `REDIS_URL` | `redis://redis:6379` | No |
|
||||
| `POSTGRES_PASSWORD` | `password` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs appflowy | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [AppFlowy on AltStack Directory](https://thealtstack.com/alternative-to/appflowy)
|
||||
- [AppFlowy Self-Hosted Guide](https://thealtstack.com/self-hosted/appflowy)
|
||||
- [Official Documentation](https://www.appflowy.io)
|
||||
- [GitHub Repository](https://github.com/AppFlowy-IO/AppFlowy)
|
||||
181
docs/app/deploy/appwrite/page.mdx
Normal file
181
docs/app/deploy/appwrite/page.mdx
Normal file
@@ -0,0 +1,181 @@
|
||||
---
|
||||
title: "Deploy Appwrite Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Appwrite with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Appwrite
|
||||
|
||||
Appwrite® - complete cloud infrastructure for your web, mobile and AI apps. Including Auth, Databases, Storage, Functions, Messaging, Hosting, Realtime and more
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 54.7k stars</span>
|
||||
<span className="deploy-hero-item">📜 BSD 3-Clause "New" or "Revised" License</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Appwrite instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Appwrite and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Docker Compose for Appwrite
|
||||
# Note: Appwrite is a complex multi-service system.
|
||||
# This is a production-ready configuration for the core services.
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
appwrite:
|
||||
image: appwrite/appwrite:1.5.4
|
||||
container_name: appwrite
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
environment:
|
||||
- _APP_ENV=production
|
||||
- _APP_DB_HOST=db
|
||||
- _APP_DB_USER=appwrite
|
||||
- _APP_DB_PASS=${DB_PASSWORD:-password}
|
||||
- _APP_REDIS_HOST=redis
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- appwrite_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost/v1/health" ]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
db:
|
||||
image: mariadb:10.11 # Appwrite uses MariaDB by default
|
||||
container_name: appwrite-db
|
||||
environment:
|
||||
MARIADB_USER: appwrite
|
||||
MARIADB_PASSWORD: ${DB_PASSWORD:-password}
|
||||
MARIADB_DATABASE: appwrite
|
||||
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-rootpassword}
|
||||
volumes:
|
||||
- appwrite_db_data:/var/lib/mysql
|
||||
networks:
|
||||
- appwrite_net
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "mysqladmin ping -h localhost -u root -p${DB_ROOT_PASSWORD:-rootpassword}" ]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: appwrite-redis
|
||||
networks:
|
||||
- appwrite_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "redis-cli", "ping" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
networks:
|
||||
appwrite_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
appwrite_db_data:
|
||||
name: appwrite_db_data
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/appwrite && cd /opt/appwrite
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `_APP_ENV` | `production` | No |
|
||||
| `_APP_DB_HOST` | `db` | No |
|
||||
| `_APP_DB_USER` | `appwrite` | No |
|
||||
| `_APP_DB_PASS` | `${DB_PASSWORD:-password}` | No |
|
||||
| `_APP_REDIS_HOST` | `redis` | No |
|
||||
| `DB_PASSWORD` | `password` | No |
|
||||
| `DB_ROOT_PASSWORD` | `rootpassword` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs appwrite | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Appwrite on AltStack Directory](https://thealtstack.com/alternative-to/appwrite)
|
||||
- [Appwrite Self-Hosted Guide](https://thealtstack.com/self-hosted/appwrite)
|
||||
- [Official Documentation](https://appwrite.io)
|
||||
- [GitHub Repository](https://github.com/appwrite/appwrite)
|
||||
172
docs/app/deploy/authentik/page.mdx
Normal file
172
docs/app/deploy/authentik/page.mdx
Normal file
@@ -0,0 +1,172 @@
|
||||
---
|
||||
title: "Deploy Authentik Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Authentik with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Authentik
|
||||
|
||||
The overall-best open-source identity provider, focused on flexibility and versatility.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 15.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Authentik instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Authentik and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
server:
|
||||
image: ghcr.io/goauthentik/server:latest
|
||||
container_name: authentik-server
|
||||
restart: unless-stopped
|
||||
command: server
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9443:9443"
|
||||
environment:
|
||||
- AUTHENTIK_REDIS__HOST=redis
|
||||
- AUTHENTIK_POSTGRESQL__HOST=db
|
||||
- AUTHENTIK_POSTGRESQL__USER=authentik
|
||||
- AUTHENTIK_POSTGRESQL__NAME=authentik
|
||||
- AUTHENTIK_POSTGRESQL__PASSWORD=authentik
|
||||
- AUTHENTIK_SECRET_KEY=generate-a-random-secret-key
|
||||
|
||||
worker:
|
||||
image: ghcr.io/goauthentik/server:latest
|
||||
container_name: authentik-worker
|
||||
restart: unless-stopped
|
||||
command: worker
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
environment:
|
||||
- AUTHENTIK_REDIS__HOST=redis
|
||||
- AUTHENTIK_POSTGRESQL__HOST=db
|
||||
- AUTHENTIK_POSTGRESQL__USER=authentik
|
||||
- AUTHENTIK_POSTGRESQL__NAME=authentik
|
||||
- AUTHENTIK_POSTGRESQL__PASSWORD=authentik
|
||||
- AUTHENTIK_SECRET_KEY=generate-a-random-secret-key
|
||||
|
||||
db:
|
||||
image: postgres:12-alpine
|
||||
container_name: authentik-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=authentik
|
||||
- POSTGRES_USER=authentik
|
||||
- POSTGRES_DB=authentik
|
||||
volumes:
|
||||
- authentik_db_data:/var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: redis:6-alpine
|
||||
container_name: authentik-redis
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
authentik_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/authentik && cd /opt/authentik
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `AUTHENTIK_REDIS__HOST` | `redis` | No |
|
||||
| `AUTHENTIK_POSTGRESQL__HOST` | `db` | No |
|
||||
| `AUTHENTIK_POSTGRESQL__USER` | `authentik` | No |
|
||||
| `AUTHENTIK_POSTGRESQL__NAME` | `authentik` | No |
|
||||
| `AUTHENTIK_POSTGRESQL__PASSWORD` | `authentik` | No |
|
||||
| `AUTHENTIK_SECRET_KEY` | `generate-a-random-secret-key` | No |
|
||||
| `POSTGRES_PASSWORD` | `authentik` | No |
|
||||
| `POSTGRES_USER` | `authentik` | No |
|
||||
| `POSTGRES_DB` | `authentik` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs authentik | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Authentik on AltStack Directory](https://thealtstack.com/alternative-to/authentik)
|
||||
- [Authentik Self-Hosted Guide](https://thealtstack.com/self-hosted/authentik)
|
||||
- [Official Documentation](https://goauthentik.io)
|
||||
- [GitHub Repository](https://github.com/goauthentik/authentik)
|
||||
117
docs/app/deploy/bitwarden/page.mdx
Normal file
117
docs/app/deploy/bitwarden/page.mdx
Normal file
@@ -0,0 +1,117 @@
|
||||
---
|
||||
title: "Deploy Bitwarden Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Bitwarden with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Bitwarden
|
||||
|
||||
Bitwarden infrastructure/backend (API, database, Docker, etc).
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 18.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Other</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Bitwarden instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Bitwarden and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
bitwarden:
|
||||
image: vaultwarden/server:latest
|
||||
container_name: bitwarden
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8088:80"
|
||||
volumes:
|
||||
- bw-data:/data
|
||||
|
||||
volumes:
|
||||
bw-data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/bitwarden && cd /opt/bitwarden
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs bitwarden | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Bitwarden on AltStack Directory](https://thealtstack.com/alternative-to/bitwarden)
|
||||
- [Bitwarden Self-Hosted Guide](https://thealtstack.com/self-hosted/bitwarden)
|
||||
- [Official Documentation](https://bitwarden.com)
|
||||
- [GitHub Repository](https://github.com/bitwarden/server)
|
||||
112
docs/app/deploy/calcom/page.mdx
Normal file
112
docs/app/deploy/calcom/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy Cal.com Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Cal.com with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Cal.com
|
||||
|
||||
The open-source Calendly alternative. Take control of your scheduling.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 30.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 AGPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Cal.com instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Cal.com and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
calcom:
|
||||
image: calcom/cal.com:latest
|
||||
container_name: calcom
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:3000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/calcom && cd /opt/calcom
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs calcom | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Cal.com on AltStack Directory](https://thealtstack.com/alternative-to/calcom)
|
||||
- [Cal.com Self-Hosted Guide](https://thealtstack.com/self-hosted/calcom)
|
||||
- [Official Documentation](https://cal.com)
|
||||
- [GitHub Repository](https://github.com/calcom/cal.com)
|
||||
112
docs/app/deploy/chaskiq/page.mdx
Normal file
112
docs/app/deploy/chaskiq/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy Chaskiq Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Chaskiq with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Chaskiq
|
||||
|
||||
Open source conversational marketing platform alternative to Intercom and Drift.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 4.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 GPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Chaskiq instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Chaskiq and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
chaskiq:
|
||||
image: chaskiq/chaskiq:latest
|
||||
container_name: chaskiq
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:3000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/chaskiq && cd /opt/chaskiq
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs chaskiq | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Chaskiq on AltStack Directory](https://thealtstack.com/alternative-to/chaskiq)
|
||||
- [Chaskiq Self-Hosted Guide](https://thealtstack.com/self-hosted/chaskiq)
|
||||
- [Official Documentation](https://chaskiq.io)
|
||||
- [GitHub Repository](https://github.com/chaskiq/chaskiq)
|
||||
144
docs/app/deploy/coder/page.mdx
Normal file
144
docs/app/deploy/coder/page.mdx
Normal file
@@ -0,0 +1,144 @@
|
||||
---
|
||||
title: "Deploy Coder Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Coder with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Coder
|
||||
|
||||
Provision software development environments as code on your infrastructure.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 20.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 AGPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Coder instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Coder and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
coder:
|
||||
image: ghcr.io/coder/coder:latest
|
||||
container_name: coder
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "7080:7080"
|
||||
environment:
|
||||
- CODER_PG_CONNECTION_URL=postgresql://coder:coder@db:5432/coder
|
||||
- CODER_ACCESS_URL=http://localhost:7080
|
||||
- CODER_HTTP_ADDRESS=0.0.0.0:7080
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
|
||||
db:
|
||||
image: postgres:13
|
||||
container_name: coder-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=coder
|
||||
- POSTGRES_PASSWORD=coder
|
||||
- POSTGRES_DB=coder
|
||||
volumes:
|
||||
- coder_db_data:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
coder_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/coder && cd /opt/coder
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `CODER_PG_CONNECTION_URL` | `postgresql://coder:coder@db:5432/coder` | No |
|
||||
| `CODER_ACCESS_URL` | `http://localhost:7080` | No |
|
||||
| `CODER_HTTP_ADDRESS` | `0.0.0.0:7080` | No |
|
||||
| `POSTGRES_USER` | `coder` | No |
|
||||
| `POSTGRES_PASSWORD` | `coder` | No |
|
||||
| `POSTGRES_DB` | `coder` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs coder | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Coder on AltStack Directory](https://thealtstack.com/alternative-to/coder)
|
||||
- [Coder Self-Hosted Guide](https://thealtstack.com/self-hosted/coder)
|
||||
- [Official Documentation](https://coder.com)
|
||||
- [GitHub Repository](https://github.com/coder/coder)
|
||||
112
docs/app/deploy/continue-dev/page.mdx
Normal file
112
docs/app/deploy/continue-dev/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy Continue Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Continue with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Continue
|
||||
|
||||
Open-source AI code assistant for VS Code and JetBrains. Use any model (local or API).
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 25.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Continue instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Continue and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
continue:
|
||||
image: continuedev/continue:latest
|
||||
container_name: continue
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:8080"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/continue-dev && cd /opt/continue-dev
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs continue-dev | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Continue on AltStack Directory](https://thealtstack.com/alternative-to/continue-dev)
|
||||
- [Continue Self-Hosted Guide](https://thealtstack.com/self-hosted/continue-dev)
|
||||
- [Official Documentation](https://continue.dev)
|
||||
- [GitHub Repository](https://github.com/continuedev/continue)
|
||||
171
docs/app/deploy/coolify/page.mdx
Normal file
171
docs/app/deploy/coolify/page.mdx
Normal file
@@ -0,0 +1,171 @@
|
||||
---
|
||||
title: "Deploy Coolify Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Coolify with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Coolify
|
||||
|
||||
An open-source, self-hostable PaaS alternative to Vercel, Heroku & Netlify that lets you easily deploy static sites, databases, full-stack applications and 280+ one-click services on your own servers.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 50.4k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
A fully operational Coolify instance. Think of Coolify as a self-hosted Vercel or Heroku. Once installed, it manages your other Docker containers, handles deployments from GitHub/GitLab, and provides an integrated reverse proxy.
|
||||
|
||||
> 🚀 **Self-Hosting Level:** If you only deploy one thing, let it be Coolify. It makes deploying everything else 10x easier.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Coolify and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Docker Compose for Coolify
|
||||
# Note: Coolify is a self-hosted PaaS.
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
coolify:
|
||||
image: ghcr.io/coollabsio/coolify:latest
|
||||
container_name: coolify
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- APP_ENV=production
|
||||
- DB_CONNECTION=pgsql
|
||||
- DB_HOST=db
|
||||
- DB_DATABASE=coolify
|
||||
- DB_USERNAME=coolify
|
||||
- DB_PASSWORD=${DB_PASSWORD:-password}
|
||||
volumes:
|
||||
- coolify_data:/var/www/html/storage
|
||||
- /var/run/docker.sock:/var/run/docker.sock # Essential for controlling Docker
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- coolify_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost:8000/api/health" ]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
restart: unless-stopped
|
||||
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
container_name: coolify-db
|
||||
environment:
|
||||
POSTGRES_USER: coolify
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD:-password}
|
||||
POSTGRES_DB: coolify
|
||||
volumes:
|
||||
- coolify_db_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- coolify_net
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "pg_isready -U coolify" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
networks:
|
||||
coolify_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
coolify_data:
|
||||
name: coolify_data
|
||||
coolify_db_data:
|
||||
name: coolify_db_data
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/coolify && cd /opt/coolify
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `APP_ENV` | `production` | No |
|
||||
| `DB_CONNECTION` | `pgsql` | No |
|
||||
| `DB_HOST` | `db` | No |
|
||||
| `DB_DATABASE` | `coolify` | No |
|
||||
| `DB_USERNAME` | `coolify` | No |
|
||||
| `DB_PASSWORD` | `${DB_PASSWORD:-password}` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs coolify | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Coolify on AltStack Directory](https://thealtstack.com/alternative-to/coolify)
|
||||
- [Coolify Self-Hosted Guide](https://thealtstack.com/self-hosted/coolify)
|
||||
- [Official Documentation](https://coolify.io)
|
||||
- [GitHub Repository](https://github.com/coollabsio/coolify)
|
||||
117
docs/app/deploy/deepseek/page.mdx
Normal file
117
docs/app/deploy/deepseek/page.mdx
Normal file
@@ -0,0 +1,117 @@
|
||||
---
|
||||
title: "Deploy DeepSeek-V3 / R1 Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting DeepSeek-V3 / R1 with Docker Compose. Replaces: meta-llama-3-1, mistral, qwen-2-5."
|
||||
---
|
||||
|
||||
# Deploy DeepSeek-V3 / R1
|
||||
|
||||
Powerful open-source models including V3 (671B) and R1 (Reasoning). Rivals GPT-4o and o1.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 110.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT License</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working DeepSeek-V3 / R1 instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for DeepSeek-V3 / R1 and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
ollama-deepseek:
|
||||
image: ollama/ollama:latest
|
||||
container_name: ollama-deepseek
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "11435:11434"
|
||||
volumes:
|
||||
- ollama_deepseek:/root/.ollama
|
||||
|
||||
volumes:
|
||||
ollama_deepseek:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/deepseek && cd /opt/deepseek
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs deepseek | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [DeepSeek-V3 / R1 on AltStack Directory](https://thealtstack.com/alternative-to/deepseek)
|
||||
- [DeepSeek-V3 / R1 Self-Hosted Guide](https://thealtstack.com/self-hosted/deepseek)
|
||||
- [Official Documentation](https://deepseek.com)
|
||||
- [GitHub Repository](https://github.com/deepseek-ai/DeepSeek-V3)
|
||||
142
docs/app/deploy/documenso/page.mdx
Normal file
142
docs/app/deploy/documenso/page.mdx
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
title: "Deploy Documenso Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Documenso with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Documenso
|
||||
|
||||
The open-source DocuSign alternative. We aim to be the world's most trusted document signing platform.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 8.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 AGPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Documenso instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Documenso and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
documenso:
|
||||
image: documenso/documenso:latest
|
||||
container_name: documenso
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- DATABASE_URL=postgresql://documenso:documenso@db:5432/documenso
|
||||
- NEXTAUTH_URL=http://localhost:3000
|
||||
- NEXTAUTH_SECRET=supersecret
|
||||
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
container_name: documenso-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=documenso
|
||||
- POSTGRES_PASSWORD=documenso
|
||||
- POSTGRES_DB=documenso
|
||||
volumes:
|
||||
- documenso_db_data:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
documenso_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/documenso && cd /opt/documenso
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `DATABASE_URL` | `postgresql://documenso:documenso@db:5432/documenso` | No |
|
||||
| `NEXTAUTH_URL` | `http://localhost:3000` | No |
|
||||
| `NEXTAUTH_SECRET` | `supersecret` | No |
|
||||
| `POSTGRES_USER` | `documenso` | No |
|
||||
| `POSTGRES_PASSWORD` | `documenso` | No |
|
||||
| `POSTGRES_DB` | `documenso` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs documenso | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Documenso on AltStack Directory](https://thealtstack.com/alternative-to/documenso)
|
||||
- [Documenso Self-Hosted Guide](https://thealtstack.com/self-hosted/documenso)
|
||||
- [Official Documentation](https://documenso.com)
|
||||
- [GitHub Repository](https://github.com/documenso/documenso)
|
||||
114
docs/app/deploy/dokku/page.mdx
Normal file
114
docs/app/deploy/dokku/page.mdx
Normal file
@@ -0,0 +1,114 @@
|
||||
---
|
||||
title: "Deploy Dokku Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Dokku with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Dokku
|
||||
|
||||
A docker-powered PaaS that helps you build and manage the lifecycle of applications
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 31.9k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT License</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Dokku instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Dokku and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
dokku:
|
||||
image: dokku/dokku:latest
|
||||
container_name: dokku
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "22:22"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/dokku && cd /opt/dokku
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs dokku | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Dokku on AltStack Directory](https://thealtstack.com/alternative-to/dokku)
|
||||
- [Dokku Self-Hosted Guide](https://thealtstack.com/self-hosted/dokku)
|
||||
- [Official Documentation](https://dokku.com)
|
||||
- [GitHub Repository](https://github.com/dokku/dokku)
|
||||
112
docs/app/deploy/erpnext/page.mdx
Normal file
112
docs/app/deploy/erpnext/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy ERPNext Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting ERPNext with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy ERPNext
|
||||
|
||||
A free and open-source integrated Enterprise Resource Planning (ERP) software.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 31.6k stars</span>
|
||||
<span className="deploy-hero-item">📜 GNU General Public License v3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working ERPNext instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for ERPNext and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
erpnext:
|
||||
image: frappe/erpnext-worker:latest
|
||||
container_name: erpnext
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8000:8000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/erpnext && cd /opt/erpnext
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs erpnext | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [ERPNext on AltStack Directory](https://thealtstack.com/alternative-to/erpnext)
|
||||
- [ERPNext Self-Hosted Guide](https://thealtstack.com/self-hosted/erpnext)
|
||||
- [Official Documentation](https://erpnext.com)
|
||||
- [GitHub Repository](https://github.com/frappe/erpnext)
|
||||
112
docs/app/deploy/flux/page.mdx
Normal file
112
docs/app/deploy/flux/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy FLUX Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting FLUX with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy FLUX
|
||||
|
||||
Next-gen open image generation model from Black Forest Labs. State-of-the-art quality rivaling Midjourney.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 20.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working FLUX instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for FLUX and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
flux:
|
||||
image: blackforestlabs/flux:latest
|
||||
container_name: flux
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8000:8000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/flux && cd /opt/flux
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs flux | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [FLUX on AltStack Directory](https://thealtstack.com/alternative-to/flux)
|
||||
- [FLUX Self-Hosted Guide](https://thealtstack.com/self-hosted/flux)
|
||||
- [Official Documentation](https://blackforestlabs.ai)
|
||||
- [GitHub Repository](https://github.com/black-forest-labs/flux)
|
||||
112
docs/app/deploy/freecad/page.mdx
Normal file
112
docs/app/deploy/freecad/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy FreeCAD Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting FreeCAD with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy FreeCAD
|
||||
|
||||
A general-purpose parametric 3D CAD modeler and a BIM software application.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 21.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 LGPLv2+</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working FreeCAD instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for FreeCAD and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
freecad:
|
||||
image: lscr.io/linuxserver/freecad:latest
|
||||
container_name: freecad
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:3000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/freecad && cd /opt/freecad
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs freecad | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [FreeCAD on AltStack Directory](https://thealtstack.com/alternative-to/freecad)
|
||||
- [FreeCAD Self-Hosted Guide](https://thealtstack.com/self-hosted/freecad)
|
||||
- [Official Documentation](https://www.freecad.org)
|
||||
- [GitHub Repository](https://github.com/FreeCAD/FreeCAD)
|
||||
117
docs/app/deploy/gemma/page.mdx
Normal file
117
docs/app/deploy/gemma/page.mdx
Normal file
@@ -0,0 +1,117 @@
|
||||
---
|
||||
title: "Deploy Google Gemma 2 Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Google Gemma 2 with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Google Gemma 2
|
||||
|
||||
Google's open-weight models (9B, 27B) with class-leading performance and efficient architecture.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 20.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Gemma License</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Google Gemma 2 instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Google Gemma 2 and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
ollama-gemma:
|
||||
image: ollama/ollama:latest
|
||||
container_name: ollama-gemma
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "11437:11434"
|
||||
volumes:
|
||||
- ollama_gemma:/root/.ollama
|
||||
|
||||
volumes:
|
||||
ollama_gemma:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/gemma && cd /opt/gemma
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs gemma | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Google Gemma 2 on AltStack Directory](https://thealtstack.com/alternative-to/gemma)
|
||||
- [Google Gemma 2 Self-Hosted Guide](https://thealtstack.com/self-hosted/gemma)
|
||||
- [Official Documentation](https://ai.google.dev/gemma)
|
||||
- [GitHub Repository](https://github.com/google/gemma-2)
|
||||
121
docs/app/deploy/gimp/page.mdx
Normal file
121
docs/app/deploy/gimp/page.mdx
Normal file
@@ -0,0 +1,121 @@
|
||||
---
|
||||
title: "Deploy GIMP Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting GIMP with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy GIMP
|
||||
|
||||
Read-only mirror of https://gitlab.gnome.org/GNOME/gimp
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 6.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Other</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working GIMP instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for GIMP and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
gimp:
|
||||
image: linuxserver/gimp:latest
|
||||
container_name: gimp
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/gimp && cd /opt/gimp
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `PUID` | `1000` | No |
|
||||
| `PGID` | `1000` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs gimp | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [GIMP on AltStack Directory](https://thealtstack.com/alternative-to/gimp)
|
||||
- [GIMP Self-Hosted Guide](https://thealtstack.com/self-hosted/gimp)
|
||||
- [Official Documentation](https://www.gimp.org)
|
||||
- [GitHub Repository](https://github.com/GNOME/gimp)
|
||||
150
docs/app/deploy/glitchtip/page.mdx
Normal file
150
docs/app/deploy/glitchtip/page.mdx
Normal file
@@ -0,0 +1,150 @@
|
||||
---
|
||||
title: "Deploy GlitchTip Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting GlitchTip with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy GlitchTip
|
||||
|
||||
Open source error tracking that's compatible with Sentry SDKs.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 3.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working GlitchTip instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for GlitchTip and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
glitchtip:
|
||||
image: glitchtip/glitchtip:latest
|
||||
container_name: glitchtip
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://glitchtip:glitchtip@db:5432/glitchtip
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- SECRET_KEY=change_me_to_something_random
|
||||
- PORT=8000
|
||||
|
||||
db:
|
||||
image: postgres:14
|
||||
container_name: glitchtip-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=glitchtip
|
||||
- POSTGRES_PASSWORD=glitchtip
|
||||
- POSTGRES_DB=glitchtip
|
||||
volumes:
|
||||
- glitchtip_db_data:/var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
container_name: glitchtip-redis
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
glitchtip_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/glitchtip && cd /opt/glitchtip
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `DATABASE_URL` | `postgres://glitchtip:glitchtip@db:5432/glitchtip` | No |
|
||||
| `REDIS_URL` | `redis://redis:6379` | No |
|
||||
| `SECRET_KEY` | `change_me_to_something_random` | No |
|
||||
| `PORT` | `8000` | No |
|
||||
| `POSTGRES_USER` | `glitchtip` | No |
|
||||
| `POSTGRES_PASSWORD` | `glitchtip` | No |
|
||||
| `POSTGRES_DB` | `glitchtip` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs glitchtip | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [GlitchTip on AltStack Directory](https://thealtstack.com/alternative-to/glitchtip)
|
||||
- [GlitchTip Self-Hosted Guide](https://thealtstack.com/self-hosted/glitchtip)
|
||||
- [Official Documentation](https://glitchtip.com)
|
||||
- [GitHub Repository](https://github.com/glitchtip/glitchtip)
|
||||
132
docs/app/deploy/gpt4all/page.mdx
Normal file
132
docs/app/deploy/gpt4all/page.mdx
Normal file
@@ -0,0 +1,132 @@
|
||||
---
|
||||
title: "Deploy GPT4All Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting GPT4All with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy GPT4All
|
||||
|
||||
Run open-source LLMs locally on your CPU and GPU. No internet required.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 65.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working GPT4All instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for GPT4All and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Docker Compose for GPT4All
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
gpt4all:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: gpt4all-server
|
||||
ports:
|
||||
- "4891:4891"
|
||||
volumes:
|
||||
- gpt4all_models:/app/models
|
||||
networks:
|
||||
- gpt4all_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost:4891/v1/models" ] # GPT4All local API endpoint
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
gpt4all_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
gpt4all_models:
|
||||
name: gpt4all_models
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/gpt4all && cd /opt/gpt4all
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs gpt4all | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [GPT4All on AltStack Directory](https://thealtstack.com/alternative-to/gpt4all)
|
||||
- [GPT4All Self-Hosted Guide](https://thealtstack.com/self-hosted/gpt4all)
|
||||
- [Official Documentation](https://gpt4all.io)
|
||||
- [GitHub Repository](https://github.com/nomic-ai/gpt4all)
|
||||
112
docs/app/deploy/hunyuan-video/page.mdx
Normal file
112
docs/app/deploy/hunyuan-video/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy HunyuanVideo 1.5 Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting HunyuanVideo 1.5 with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy HunyuanVideo 1.5
|
||||
|
||||
Tencent's state-of-the-art open-source video generation model with 13B parameters.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 8.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working HunyuanVideo 1.5 instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for HunyuanVideo 1.5 and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
hunyuan:
|
||||
image: tencent/hunyuan:latest
|
||||
container_name: hunyuan
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8000:8000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/hunyuan-video && cd /opt/hunyuan-video
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs hunyuan-video | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [HunyuanVideo 1.5 on AltStack Directory](https://thealtstack.com/alternative-to/hunyuan-video)
|
||||
- [HunyuanVideo 1.5 Self-Hosted Guide](https://thealtstack.com/self-hosted/hunyuan-video)
|
||||
- [Official Documentation](https://github.com/Tencent/HunyuanVideo)
|
||||
- [GitHub Repository](https://github.com/Tencent/HunyuanVideo)
|
||||
122
docs/app/deploy/jitsi-meet/page.mdx
Normal file
122
docs/app/deploy/jitsi-meet/page.mdx
Normal file
@@ -0,0 +1,122 @@
|
||||
---
|
||||
title: "Deploy Jitsi Meet Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Jitsi Meet with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Jitsi Meet
|
||||
|
||||
Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 28.6k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Jitsi Meet instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Jitsi Meet and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
jitsi-web:
|
||||
image: jitsi/web:latest
|
||||
container_name: jitsi-web
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8000:80"
|
||||
- "8443:443"
|
||||
environment:
|
||||
- PUBLIC_URL=https://localhost:8443
|
||||
- XMPP_SERVER=xmpp.meet.jitsi
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/jitsi-meet && cd /opt/jitsi-meet
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `PUBLIC_URL` | `https://localhost:8443` | No |
|
||||
| `XMPP_SERVER` | `xmpp.meet.jitsi` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs jitsi-meet | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Jitsi Meet on AltStack Directory](https://thealtstack.com/alternative-to/jitsi-meet)
|
||||
- [Jitsi Meet Self-Hosted Guide](https://thealtstack.com/self-hosted/jitsi-meet)
|
||||
- [Official Documentation](https://jitsi.org)
|
||||
- [GitHub Repository](https://github.com/jitsi/jitsi-meet)
|
||||
112
docs/app/deploy/jitsu/page.mdx
Normal file
112
docs/app/deploy/jitsu/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy Jitsu Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Jitsu with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Jitsu
|
||||
|
||||
High-performance data collection platform and open-source Segment alternative.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 5.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Jitsu instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Jitsu and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
jitsu:
|
||||
image: jitsu/jitsu:latest
|
||||
container_name: jitsu
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8000:8000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/jitsu && cd /opt/jitsu
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs jitsu | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Jitsu on AltStack Directory](https://thealtstack.com/alternative-to/jitsu)
|
||||
- [Jitsu Self-Hosted Guide](https://thealtstack.com/self-hosted/jitsu)
|
||||
- [Official Documentation](https://jitsu.com)
|
||||
- [GitHub Repository](https://github.com/jitsucom/jitsu)
|
||||
112
docs/app/deploy/kdenlive/page.mdx
Normal file
112
docs/app/deploy/kdenlive/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy Kdenlive Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Kdenlive with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Kdenlive
|
||||
|
||||
Open source video editing software based on the MLT Framework and KDE.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 3.5k stars</span>
|
||||
<span className="deploy-hero-item">📜 GPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Kdenlive instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Kdenlive and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
kdenlive:
|
||||
image: lscr.io/linuxserver/kdenlive:latest
|
||||
container_name: kdenlive
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:3000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/kdenlive && cd /opt/kdenlive
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs kdenlive | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Kdenlive on AltStack Directory](https://thealtstack.com/alternative-to/kdenlive)
|
||||
- [Kdenlive Self-Hosted Guide](https://thealtstack.com/self-hosted/kdenlive)
|
||||
- [Official Documentation](https://kdenlive.org)
|
||||
- [GitHub Repository](https://github.com/KDE/kdenlive)
|
||||
112
docs/app/deploy/keepassxc/page.mdx
Normal file
112
docs/app/deploy/keepassxc/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy KeePassXC Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting KeePassXC with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy KeePassXC
|
||||
|
||||
KeePassXC is a cross-platform community-driven port of the Windows application “KeePass Password Safe”.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 25.8k stars</span>
|
||||
<span className="deploy-hero-item">📜 Other</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working KeePassXC instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for KeePassXC and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
keepassxc:
|
||||
image: jlesage/keepassxc:latest
|
||||
container_name: keepassxc
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "5800:5800"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/keepassxc && cd /opt/keepassxc
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs keepassxc | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [KeePassXC on AltStack Directory](https://thealtstack.com/alternative-to/keepassxc)
|
||||
- [KeePassXC Self-Hosted Guide](https://thealtstack.com/self-hosted/keepassxc)
|
||||
- [Official Documentation](https://keepassxc.org)
|
||||
- [GitHub Repository](https://github.com/keepassxreboot/keepassxc)
|
||||
149
docs/app/deploy/keycloak/page.mdx
Normal file
149
docs/app/deploy/keycloak/page.mdx
Normal file
@@ -0,0 +1,149 @@
|
||||
---
|
||||
title: "Deploy Keycloak Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Keycloak with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Keycloak
|
||||
|
||||
Open source identity and access management for modern applications and services.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 23.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Keycloak instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Keycloak and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
keycloak:
|
||||
image: quay.io/keycloak/keycloak:latest
|
||||
container_name: keycloak
|
||||
restart: unless-stopped
|
||||
command: start-dev
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "8080:8080"
|
||||
environment:
|
||||
- KEYCLOAK_ADMIN=admin
|
||||
- KEYCLOAK_ADMIN_PASSWORD=admin
|
||||
- KC_DB=postgres
|
||||
- KC_DB_URL=jdbc:postgresql://db:5432/keycloak
|
||||
- KC_DB_USERNAME=keycloak
|
||||
- KC_DB_PASSWORD=keycloak
|
||||
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
container_name: keycloak-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_DB=keycloak
|
||||
- POSTGRES_USER=keycloak
|
||||
- POSTGRES_PASSWORD=keycloak
|
||||
volumes:
|
||||
- keycloak_db_data:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
keycloak_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/keycloak && cd /opt/keycloak
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `KEYCLOAK_ADMIN` | `admin` | No |
|
||||
| `KEYCLOAK_ADMIN_PASSWORD` | `admin` | No |
|
||||
| `KC_DB` | `postgres` | No |
|
||||
| `KC_DB_URL` | `jdbc:postgresql://db:5432/keycloak` | No |
|
||||
| `KC_DB_USERNAME` | `keycloak` | No |
|
||||
| `KC_DB_PASSWORD` | `keycloak` | No |
|
||||
| `POSTGRES_DB` | `keycloak` | No |
|
||||
| `POSTGRES_USER` | `keycloak` | No |
|
||||
| `POSTGRES_PASSWORD` | `keycloak` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs keycloak | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Keycloak on AltStack Directory](https://thealtstack.com/alternative-to/keycloak)
|
||||
- [Keycloak Self-Hosted Guide](https://thealtstack.com/self-hosted/keycloak)
|
||||
- [Official Documentation](https://www.keycloak.org)
|
||||
- [GitHub Repository](https://github.com/keycloak/keycloak)
|
||||
112
docs/app/deploy/krita/page.mdx
Normal file
112
docs/app/deploy/krita/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy Krita Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Krita with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Krita
|
||||
|
||||
Krita is a free and open source cross-platform application that offers an end-to-end solution for creating digital art files from scratch built on the KDE and Qt frameworks.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 9.3k stars</span>
|
||||
<span className="deploy-hero-item">📜 GNU General Public License v3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Krita instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Krita and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
krita:
|
||||
image: linuxserver/krita:latest
|
||||
container_name: krita
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:3000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/krita && cd /opt/krita
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs krita | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Krita on AltStack Directory](https://thealtstack.com/alternative-to/krita)
|
||||
- [Krita Self-Hosted Guide](https://thealtstack.com/self-hosted/krita)
|
||||
- [Official Documentation](https://krita.org)
|
||||
- [GitHub Repository](https://github.com/KDE/krita)
|
||||
112
docs/app/deploy/librecad/page.mdx
Normal file
112
docs/app/deploy/librecad/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy LibreCAD Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting LibreCAD with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy LibreCAD
|
||||
|
||||
A mature, feature-rich 2D CAD application with a loyal user community.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 6.5k stars</span>
|
||||
<span className="deploy-hero-item">📜 GPLv2</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working LibreCAD instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for LibreCAD and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
librecad:
|
||||
image: lscr.io/linuxserver/librecad:latest
|
||||
container_name: librecad
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:3000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/librecad && cd /opt/librecad
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs librecad | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [LibreCAD on AltStack Directory](https://thealtstack.com/alternative-to/librecad)
|
||||
- [LibreCAD Self-Hosted Guide](https://thealtstack.com/self-hosted/librecad)
|
||||
- [Official Documentation](https://librecad.org)
|
||||
- [GitHub Repository](https://github.com/LibreCAD/LibreCAD)
|
||||
138
docs/app/deploy/listmonk/page.mdx
Normal file
138
docs/app/deploy/listmonk/page.mdx
Normal file
@@ -0,0 +1,138 @@
|
||||
---
|
||||
title: "Deploy Listmonk Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Listmonk with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Listmonk
|
||||
|
||||
High performance, self-hosted newsletter and mailing list manager with a modern dashboard.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 19.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 AGPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Listmonk instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Listmonk and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
listmonk:
|
||||
image: listmonk/listmonk:latest
|
||||
container_name: listmonk
|
||||
restart: unless-stopped
|
||||
command: sh -c './listmonk --install --yes --idempotent && ./listmonk'
|
||||
depends_on:
|
||||
- listmonk-db
|
||||
ports:
|
||||
- "9000:9000"
|
||||
volumes:
|
||||
- ./config.toml:/listmonk/config.toml
|
||||
|
||||
listmonk-db:
|
||||
image: postgres:13-alpine
|
||||
container_name: listmonk-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=listmonk
|
||||
- POSTGRES_PASSWORD=listmonk
|
||||
- POSTGRES_DB=listmonk
|
||||
volumes:
|
||||
- listmonk_db_data:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
listmonk_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/listmonk && cd /opt/listmonk
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `POSTGRES_USER` | `listmonk` | No |
|
||||
| `POSTGRES_PASSWORD` | `listmonk` | No |
|
||||
| `POSTGRES_DB` | `listmonk` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs listmonk | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Listmonk on AltStack Directory](https://thealtstack.com/alternative-to/listmonk)
|
||||
- [Listmonk Self-Hosted Guide](https://thealtstack.com/self-hosted/listmonk)
|
||||
- [Official Documentation](https://listmonk.app)
|
||||
- [GitHub Repository](https://github.com/knadh/listmonk)
|
||||
118
docs/app/deploy/llama/page.mdx
Normal file
118
docs/app/deploy/llama/page.mdx
Normal file
@@ -0,0 +1,118 @@
|
||||
---
|
||||
title: "Deploy Meta Llama 3.1 Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Meta Llama 3.1 with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Meta Llama 3.1
|
||||
|
||||
Meta's flagship open-weight model with 128K context. Supports 8B, 70B, and 405B parameters.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 65.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Llama 3.1 Community License</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Meta Llama 3.1 instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Meta Llama 3.1 and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
ollama-llama:
|
||||
image: ollama/ollama:latest
|
||||
container_name: ollama-llama
|
||||
restart: unless-stopped
|
||||
command: serve
|
||||
ports:
|
||||
- "11434:11434"
|
||||
volumes:
|
||||
- ollama:/root/.ollama
|
||||
|
||||
volumes:
|
||||
ollama:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/llama && cd /opt/llama
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs llama | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Meta Llama 3.1 on AltStack Directory](https://thealtstack.com/alternative-to/llama)
|
||||
- [Meta Llama 3.1 Self-Hosted Guide](https://thealtstack.com/self-hosted/llama)
|
||||
- [Official Documentation](https://llama.meta.com)
|
||||
- [GitHub Repository](https://github.com/meta-llama/llama3)
|
||||
119
docs/app/deploy/matomo/page.mdx
Normal file
119
docs/app/deploy/matomo/page.mdx
Normal file
@@ -0,0 +1,119 @@
|
||||
---
|
||||
title: "Deploy Matomo Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Matomo with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Matomo
|
||||
|
||||
Empowering People Ethically 🚀 — Matomo is hiring! Join us → https://matomo.org/jobs Matomo is the leading open-source alternative to Google Analytics, giving you complete control and built-in privacy. Easily collect, visualise, and analyse data from websites & apps. Star us on GitHub ⭐️ – Pull Requests welcome!
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 21.3k stars</span>
|
||||
<span className="deploy-hero-item">📜 GNU General Public License v3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Matomo instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Matomo and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
matomo:
|
||||
image: matomo:latest
|
||||
container_name: matomo
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:80"
|
||||
environment:
|
||||
- MATOMO_DATABASE_HOST=db
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/matomo && cd /opt/matomo
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `MATOMO_DATABASE_HOST` | `db` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs matomo | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Matomo on AltStack Directory](https://thealtstack.com/alternative-to/matomo)
|
||||
- [Matomo Self-Hosted Guide](https://thealtstack.com/self-hosted/matomo)
|
||||
- [Official Documentation](https://matomo.org)
|
||||
- [GitHub Repository](https://github.com/matomo-org/matomo)
|
||||
143
docs/app/deploy/mattermost/page.mdx
Normal file
143
docs/app/deploy/mattermost/page.mdx
Normal file
@@ -0,0 +1,143 @@
|
||||
---
|
||||
title: "Deploy Mattermost Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Mattermost with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Mattermost
|
||||
|
||||
Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 35.2k stars</span>
|
||||
<span className="deploy-hero-item">📜 Other</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Mattermost instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Mattermost and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
mattermost:
|
||||
image: mattermost/mattermost-team-edition:latest
|
||||
container_name: mattermost
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "8065:8065"
|
||||
environment:
|
||||
- MM_SQLSETTINGS_DRIVERNAME=postgres
|
||||
- MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mmuser_password@db:5432/mattermost?sslmode=disable&connect_timeout=10
|
||||
- MM_SERVICESETTINGS_SITEURL=http://localhost:8065
|
||||
volumes:
|
||||
- ./volumes/app/config:/mattermost/config
|
||||
- ./volumes/app/data:/mattermost/data
|
||||
- ./volumes/app/logs:/mattermost/logs
|
||||
|
||||
db:
|
||||
image: postgres:13-alpine
|
||||
container_name: mattermost-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=mmuser
|
||||
- POSTGRES_PASSWORD=mmuser_password
|
||||
- POSTGRES_DB=mattermost
|
||||
volumes:
|
||||
- ./volumes/db/var/lib/postgresql/data:/var/lib/postgresql/data
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/mattermost && cd /opt/mattermost
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `MM_SQLSETTINGS_DRIVERNAME` | `postgres` | No |
|
||||
| `MM_SQLSETTINGS_DATASOURCE` | `postgres://mmuser:mmuser_password@db:5432/mattermost?sslmode=disable&connect_timeout=10` | No |
|
||||
| `MM_SERVICESETTINGS_SITEURL` | `http://localhost:8065` | No |
|
||||
| `POSTGRES_USER` | `mmuser` | No |
|
||||
| `POSTGRES_PASSWORD` | `mmuser_password` | No |
|
||||
| `POSTGRES_DB` | `mattermost` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs mattermost | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Mattermost on AltStack Directory](https://thealtstack.com/alternative-to/mattermost)
|
||||
- [Mattermost Self-Hosted Guide](https://thealtstack.com/self-hosted/mattermost)
|
||||
- [Official Documentation](https://mattermost.com)
|
||||
- [GitHub Repository](https://github.com/mattermost/mattermost)
|
||||
153
docs/app/deploy/mautic/page.mdx
Normal file
153
docs/app/deploy/mautic/page.mdx
Normal file
@@ -0,0 +1,153 @@
|
||||
---
|
||||
title: "Deploy Mautic Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Mautic with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Mautic
|
||||
|
||||
World's largest open source marketing automation project.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 7.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 GPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Mautic instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Mautic and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
mautic:
|
||||
image: mautic/mautic:latest
|
||||
container_name: mautic
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "8080:80"
|
||||
environment:
|
||||
- MAUTIC_DB_HOST=db
|
||||
- MAUTIC_DB_USER=mautic
|
||||
- MAUTIC_DB_PASSWORD=mautic
|
||||
- MAUTIC_DB_NAME=mautic
|
||||
- MAUTIC_RUN_CRON_JOBS=true
|
||||
volumes:
|
||||
- mautic_data:/var/www/html
|
||||
|
||||
db:
|
||||
image: mysql:5.7
|
||||
container_name: mautic-db
|
||||
restart: unless-stopped
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
- MYSQL_USER=mautic
|
||||
- MYSQL_PASSWORD=mautic
|
||||
- MYSQL_DATABASE=mautic
|
||||
volumes:
|
||||
- mautic_db_data:/var/lib/mysql
|
||||
|
||||
volumes:
|
||||
mautic_data:
|
||||
mautic_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/mautic && cd /opt/mautic
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `MAUTIC_DB_HOST` | `db` | No |
|
||||
| `MAUTIC_DB_USER` | `mautic` | No |
|
||||
| `MAUTIC_DB_PASSWORD` | `mautic` | No |
|
||||
| `MAUTIC_DB_NAME` | `mautic` | No |
|
||||
| `MAUTIC_RUN_CRON_JOBS` | `true` | No |
|
||||
| `plugin` | `mysql_native_password` | No |
|
||||
| `MYSQL_ROOT_PASSWORD` | `root` | No |
|
||||
| `MYSQL_USER` | `mautic` | No |
|
||||
| `MYSQL_PASSWORD` | `mautic` | No |
|
||||
| `MYSQL_DATABASE` | `mautic` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs mautic | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Mautic on AltStack Directory](https://thealtstack.com/alternative-to/mautic)
|
||||
- [Mautic Self-Hosted Guide](https://thealtstack.com/self-hosted/mautic)
|
||||
- [Official Documentation](https://www.mautic.org)
|
||||
- [GitHub Repository](https://github.com/mautic/mautic)
|
||||
150
docs/app/deploy/medusa/page.mdx
Normal file
150
docs/app/deploy/medusa/page.mdx
Normal file
@@ -0,0 +1,150 @@
|
||||
---
|
||||
title: "Deploy Medusa.js Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Medusa.js with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Medusa.js
|
||||
|
||||
The open-source alternative to Shopify. Building blocks for digital commerce.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 24.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Medusa.js instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Medusa.js and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
medusa:
|
||||
image: medusajs/medusa:latest
|
||||
container_name: medusa
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
ports:
|
||||
- "9000:9000"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://medusa:medusa@db:5432/medusa
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- JWT_SECRET=supersecret
|
||||
- COOKIE_SECRET=supersecret
|
||||
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
container_name: medusa-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=medusa
|
||||
- POSTGRES_PASSWORD=medusa
|
||||
- POSTGRES_DB=medusa
|
||||
volumes:
|
||||
- medusa_db_data:/var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
container_name: medusa-redis
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
medusa_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/medusa && cd /opt/medusa
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `DATABASE_URL` | `postgres://medusa:medusa@db:5432/medusa` | No |
|
||||
| `REDIS_URL` | `redis://redis:6379` | No |
|
||||
| `JWT_SECRET` | `supersecret` | No |
|
||||
| `COOKIE_SECRET` | `supersecret` | No |
|
||||
| `POSTGRES_USER` | `medusa` | No |
|
||||
| `POSTGRES_PASSWORD` | `medusa` | No |
|
||||
| `POSTGRES_DB` | `medusa` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs medusa | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Medusa.js on AltStack Directory](https://thealtstack.com/alternative-to/medusa)
|
||||
- [Medusa.js Self-Hosted Guide](https://thealtstack.com/self-hosted/medusa)
|
||||
- [Official Documentation](https://medusajs.com)
|
||||
- [GitHub Repository](https://github.com/medusajs/medusa)
|
||||
148
docs/app/deploy/metabase/page.mdx
Normal file
148
docs/app/deploy/metabase/page.mdx
Normal file
@@ -0,0 +1,148 @@
|
||||
---
|
||||
title: "Deploy Metabase Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Metabase with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Metabase
|
||||
|
||||
The simplest, fastest way to get business intelligence and analytics throughout your company.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 38.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 AGPLv3</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Metabase instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Metabase and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
metabase:
|
||||
image: metabase/metabase:latest
|
||||
container_name: metabase
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- MB_DB_TYPE=postgres
|
||||
- MB_DB_DBNAME=metabase
|
||||
- MB_DB_PORT=5432
|
||||
- MB_DB_USER=metabase
|
||||
- MB_DB_PASS=metabase
|
||||
- MB_DB_HOST=db
|
||||
|
||||
db:
|
||||
image: postgres:14-alpine
|
||||
container_name: metabase-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=metabase
|
||||
- POSTGRES_PASSWORD=metabase
|
||||
- POSTGRES_DB=metabase
|
||||
volumes:
|
||||
- metabase_db_data:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
metabase_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/metabase && cd /opt/metabase
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `MB_DB_TYPE` | `postgres` | No |
|
||||
| `MB_DB_DBNAME` | `metabase` | No |
|
||||
| `MB_DB_PORT` | `5432` | No |
|
||||
| `MB_DB_USER` | `metabase` | No |
|
||||
| `MB_DB_PASS` | `metabase` | No |
|
||||
| `MB_DB_HOST` | `db` | No |
|
||||
| `POSTGRES_USER` | `metabase` | No |
|
||||
| `POSTGRES_PASSWORD` | `metabase` | No |
|
||||
| `POSTGRES_DB` | `metabase` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs metabase | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Metabase on AltStack Directory](https://thealtstack.com/alternative-to/metabase)
|
||||
- [Metabase Self-Hosted Guide](https://thealtstack.com/self-hosted/metabase)
|
||||
- [Official Documentation](https://www.metabase.com)
|
||||
- [GitHub Repository](https://github.com/metabase/metabase)
|
||||
128
docs/app/deploy/minio/page.mdx
Normal file
128
docs/app/deploy/minio/page.mdx
Normal file
@@ -0,0 +1,128 @@
|
||||
---
|
||||
title: "Deploy MinIO Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting MinIO with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy MinIO
|
||||
|
||||
High-performance, S3-compatible object storage for AI and enterprise data.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 45.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 AGPLv3</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working MinIO instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for MinIO and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: minio
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9090:9090"
|
||||
command: server /data --console-address ":9090"
|
||||
environment:
|
||||
- MINIO_ROOT_USER=minioadmin
|
||||
- MINIO_ROOT_PASSWORD=minioadmin
|
||||
volumes:
|
||||
- minio_data:/data
|
||||
|
||||
volumes:
|
||||
minio_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/minio && cd /opt/minio
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `MINIO_ROOT_USER` | `minioadmin` | No |
|
||||
| `MINIO_ROOT_PASSWORD` | `minioadmin` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs minio | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [MinIO on AltStack Directory](https://thealtstack.com/alternative-to/minio)
|
||||
- [MinIO Self-Hosted Guide](https://thealtstack.com/self-hosted/minio)
|
||||
- [Official Documentation](https://min.io)
|
||||
- [GitHub Repository](https://github.com/minio/minio)
|
||||
117
docs/app/deploy/mistral/page.mdx
Normal file
117
docs/app/deploy/mistral/page.mdx
Normal file
@@ -0,0 +1,117 @@
|
||||
---
|
||||
title: "Deploy Mistral Large 2 Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Mistral Large 2 with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Mistral Large 2
|
||||
|
||||
Flagship 123B model from Mistral AI. Optimized for multilingual, reasoning, and coding tasks.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 20.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Mistral Research License</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Mistral Large 2 instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Mistral Large 2 and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
ollama-mistral:
|
||||
image: ollama/ollama:latest
|
||||
container_name: ollama-mistral
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "11436:11434"
|
||||
volumes:
|
||||
- ollama_mistral:/root/.ollama
|
||||
|
||||
volumes:
|
||||
ollama_mistral:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/mistral && cd /opt/mistral
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs mistral | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Mistral Large 2 on AltStack Directory](https://thealtstack.com/alternative-to/mistral)
|
||||
- [Mistral Large 2 Self-Hosted Guide](https://thealtstack.com/self-hosted/mistral)
|
||||
- [Official Documentation](https://mistral.ai)
|
||||
- [GitHub Repository](https://github.com/mistralai/mistral-inference)
|
||||
156
docs/app/deploy/mixpost/page.mdx
Normal file
156
docs/app/deploy/mixpost/page.mdx
Normal file
@@ -0,0 +1,156 @@
|
||||
---
|
||||
title: "Deploy Mixpost Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Mixpost with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Mixpost
|
||||
|
||||
Self-hosted social media management software.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 3.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Other</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Mixpost instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Mixpost and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
mixpost:
|
||||
image: inovector/mixpost:latest
|
||||
container_name: mixpost
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
ports:
|
||||
- "80:80"
|
||||
environment:
|
||||
- APP_URL=http://localhost
|
||||
- DB_HOST=db
|
||||
- DB_DATABASE=mixpost
|
||||
- DB_USERNAME=mixpost
|
||||
- DB_PASSWORD=mixpost
|
||||
- REDIS_HOST=redis
|
||||
|
||||
db:
|
||||
image: mysql:8.0
|
||||
container_name: mixpost-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- MYSQL_DATABASE=mixpost
|
||||
- MYSQL_USER=mixpost
|
||||
- MYSQL_PASSWORD=mixpost
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
volumes:
|
||||
- mixpost_db_data:/var/lib/mysql
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
container_name: mixpost-redis
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
mixpost_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/mixpost && cd /opt/mixpost
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `APP_URL` | `http://localhost` | No |
|
||||
| `DB_HOST` | `db` | No |
|
||||
| `DB_DATABASE` | `mixpost` | No |
|
||||
| `DB_USERNAME` | `mixpost` | No |
|
||||
| `DB_PASSWORD` | `mixpost` | No |
|
||||
| `REDIS_HOST` | `redis` | No |
|
||||
| `MYSQL_DATABASE` | `mixpost` | No |
|
||||
| `MYSQL_USER` | `mixpost` | No |
|
||||
| `MYSQL_PASSWORD` | `mixpost` | No |
|
||||
| `MYSQL_ROOT_PASSWORD` | `root` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs mixpost | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Mixpost on AltStack Directory](https://thealtstack.com/alternative-to/mixpost)
|
||||
- [Mixpost Self-Hosted Guide](https://thealtstack.com/self-hosted/mixpost)
|
||||
- [Official Documentation](https://mixpost.app)
|
||||
- [GitHub Repository](https://github.com/inovector/mixpost)
|
||||
112
docs/app/deploy/mochi-1/page.mdx
Normal file
112
docs/app/deploy/mochi-1/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy Mochi-1 Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Mochi-1 with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Mochi-1
|
||||
|
||||
High-fidelity open-weights video generation model from Genmo, rivaling closed-source alternatives.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 5.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Mochi-1 instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Mochi-1 and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
mochi-1:
|
||||
image: genmo/mochi-1:latest
|
||||
container_name: mochi-1
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8000:8000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/mochi-1 && cd /opt/mochi-1
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs mochi-1 | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Mochi-1 on AltStack Directory](https://thealtstack.com/alternative-to/mochi-1)
|
||||
- [Mochi-1 Self-Hosted Guide](https://thealtstack.com/self-hosted/mochi-1)
|
||||
- [Official Documentation](https://www.genmo.ai)
|
||||
- [GitHub Repository](https://github.com/genmoai/mochi1)
|
||||
138
docs/app/deploy/n8n/page.mdx
Normal file
138
docs/app/deploy/n8n/page.mdx
Normal file
@@ -0,0 +1,138 @@
|
||||
---
|
||||
title: "Deploy n8n Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting n8n with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy n8n
|
||||
|
||||
Fair-code workflow automation tool. Easily automate tasks across different services.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 49.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Sustainable Use License</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working n8n instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for n8n and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
n8n:
|
||||
image: n8nio/n8n:latest
|
||||
container_name: n8n
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "5678:5678"
|
||||
environment:
|
||||
- N8N_BASIC_AUTH_ACTIVE=true
|
||||
- N8N_BASIC_AUTH_USER=admin
|
||||
- N8N_BASIC_AUTH_PASSWORD=password
|
||||
- N8N_HOST=localhost
|
||||
- N8N_PORT=5678
|
||||
- N8N_PROTOCOL=http
|
||||
- NODE_ENV=production
|
||||
- WEBHOOK_URL=http://localhost:5678/
|
||||
volumes:
|
||||
- n8n_data:/home/node/.n8n
|
||||
|
||||
volumes:
|
||||
n8n_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/n8n && cd /opt/n8n
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `N8N_BASIC_AUTH_ACTIVE` | `true` | No |
|
||||
| `N8N_BASIC_AUTH_USER` | `admin` | No |
|
||||
| `N8N_BASIC_AUTH_PASSWORD` | `password` | No |
|
||||
| `N8N_HOST` | `localhost` | No |
|
||||
| `N8N_PORT` | `5678` | No |
|
||||
| `N8N_PROTOCOL` | `http` | No |
|
||||
| `NODE_ENV` | `production` | No |
|
||||
| `WEBHOOK_URL` | `http://localhost:5678/` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs n8n | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [n8n on AltStack Directory](https://thealtstack.com/alternative-to/n8n)
|
||||
- [n8n Self-Hosted Guide](https://thealtstack.com/self-hosted/n8n)
|
||||
- [Official Documentation](https://n8n.io)
|
||||
- [GitHub Repository](https://github.com/n8n-io/n8n)
|
||||
161
docs/app/deploy/odoo/page.mdx
Normal file
161
docs/app/deploy/odoo/page.mdx
Normal file
@@ -0,0 +1,161 @@
|
||||
---
|
||||
title: "Deploy Odoo Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Odoo with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Odoo
|
||||
|
||||
A suite of open source business apps: CRM, eCommerce, accounting, manufacturing, warehouse, and more.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 48.9k stars</span>
|
||||
<span className="deploy-hero-item">📜 LGPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Odoo instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Odoo and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Docker Compose for Odoo
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
odoo:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: odoo
|
||||
ports:
|
||||
- "8069:8069"
|
||||
environment:
|
||||
- HOST=db
|
||||
- USER=odoo
|
||||
- PASSWORD=odoo
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- odoo_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost:8069/" ]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
restart: unless-stopped
|
||||
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
container_name: odoo-db
|
||||
environment:
|
||||
POSTGRES_USER: odoo
|
||||
POSTGRES_PASSWORD: odoo
|
||||
POSTGRES_DB: postgres
|
||||
volumes:
|
||||
- odoo_db_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- odoo_net
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "pg_isready -U odoo" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
networks:
|
||||
odoo_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
odoo_db_data:
|
||||
name: odoo_db_data
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/odoo && cd /opt/odoo
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `HOST` | `db` | No |
|
||||
| `USER` | `odoo` | No |
|
||||
| `PASSWORD` | `odoo` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs odoo | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Odoo on AltStack Directory](https://thealtstack.com/alternative-to/odoo)
|
||||
- [Odoo Self-Hosted Guide](https://thealtstack.com/self-hosted/odoo)
|
||||
- [Official Documentation](https://www.odoo.com)
|
||||
- [GitHub Repository](https://github.com/odoo/odoo)
|
||||
137
docs/app/deploy/ollama/page.mdx
Normal file
137
docs/app/deploy/ollama/page.mdx
Normal file
@@ -0,0 +1,137 @@
|
||||
---
|
||||
title: "Deploy Ollama Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Ollama with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Ollama
|
||||
|
||||
Get up and running with Llama 3, Mistral, Gemma, and other large language models locally.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 60.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT License</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Ollama instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Ollama and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Docker Compose for Ollama
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
ollama:
|
||||
image: ollama/ollama:latest # Official image is highly recommended for GPU support
|
||||
container_name: ollama
|
||||
ports:
|
||||
- "11434:11434"
|
||||
volumes:
|
||||
- ollama_data:/root/.ollama
|
||||
# For GPU support (NVIDIA), uncomment the following:
|
||||
# deploy:
|
||||
# resources:
|
||||
# reservations:
|
||||
# devices:
|
||||
# - driver: nvidia
|
||||
# count: all
|
||||
# capabilities: [gpu]
|
||||
networks:
|
||||
- ollama_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost:11434/api/tags" ]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
networks:
|
||||
ollama_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
ollama_data:
|
||||
name: ollama_data
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/ollama && cd /opt/ollama
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs ollama | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Ollama on AltStack Directory](https://thealtstack.com/alternative-to/ollama)
|
||||
- [Ollama Self-Hosted Guide](https://thealtstack.com/self-hosted/ollama)
|
||||
- [Official Documentation](https://ollama.com)
|
||||
- [GitHub Repository](https://github.com/ollama/ollama)
|
||||
112
docs/app/deploy/onlyoffice/page.mdx
Normal file
112
docs/app/deploy/onlyoffice/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy ONLYOFFICE Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting ONLYOFFICE with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy ONLYOFFICE
|
||||
|
||||
Powerful online document editors for text, spreadsheets, and presentations. Highly compatible with MS Office.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 11.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 AGPLv3</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working ONLYOFFICE instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for ONLYOFFICE and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
onlyoffice:
|
||||
image: onlyoffice/documentserver:latest
|
||||
container_name: onlyoffice
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:80"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/onlyoffice && cd /opt/onlyoffice
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs onlyoffice | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [ONLYOFFICE on AltStack Directory](https://thealtstack.com/alternative-to/onlyoffice)
|
||||
- [ONLYOFFICE Self-Hosted Guide](https://thealtstack.com/self-hosted/onlyoffice)
|
||||
- [Official Documentation](https://www.onlyoffice.com)
|
||||
- [GitHub Repository](https://github.com/ONLYOFFICE/DocumentServer)
|
||||
146
docs/app/deploy/orangehrm/page.mdx
Normal file
146
docs/app/deploy/orangehrm/page.mdx
Normal file
@@ -0,0 +1,146 @@
|
||||
---
|
||||
title: "Deploy OrangeHRM Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting OrangeHRM with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy OrangeHRM
|
||||
|
||||
The world's most popular open source human resource management software.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 1.2k stars</span>
|
||||
<span className="deploy-hero-item">📜 GPLv2</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working OrangeHRM instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for OrangeHRM and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
orangehrm:
|
||||
image: orangehrm/orangehrm:latest
|
||||
container_name: orangehrm
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "80:80"
|
||||
environment:
|
||||
- ORANGEHRM_DATABASE_HOST=db
|
||||
- ORANGEHRM_DATABASE_USER=orangehrm
|
||||
- ORANGEHRM_DATABASE_PASSWORD=orangehrm
|
||||
- ORANGEHRM_DATABASE_NAME=orangehrm
|
||||
|
||||
db:
|
||||
image: mariadb:10.6
|
||||
container_name: orangehrm-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
- MYSQL_USER=orangehrm
|
||||
- MYSQL_PASSWORD=orangehrm
|
||||
- MYSQL_DATABASE=orangehrm
|
||||
volumes:
|
||||
- orangehrm_db_data:/var/lib/mysql
|
||||
|
||||
volumes:
|
||||
orangehrm_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/orangehrm && cd /opt/orangehrm
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `ORANGEHRM_DATABASE_HOST` | `db` | No |
|
||||
| `ORANGEHRM_DATABASE_USER` | `orangehrm` | No |
|
||||
| `ORANGEHRM_DATABASE_PASSWORD` | `orangehrm` | No |
|
||||
| `ORANGEHRM_DATABASE_NAME` | `orangehrm` | No |
|
||||
| `MYSQL_ROOT_PASSWORD` | `root` | No |
|
||||
| `MYSQL_USER` | `orangehrm` | No |
|
||||
| `MYSQL_PASSWORD` | `orangehrm` | No |
|
||||
| `MYSQL_DATABASE` | `orangehrm` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs orangehrm | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [OrangeHRM on AltStack Directory](https://thealtstack.com/alternative-to/orangehrm)
|
||||
- [OrangeHRM Self-Hosted Guide](https://thealtstack.com/self-hosted/orangehrm)
|
||||
- [Official Documentation](https://www.orangehrm.com)
|
||||
- [GitHub Repository](https://github.com/orangehrm/orangehrm)
|
||||
112
docs/app/deploy/outline/page.mdx
Normal file
112
docs/app/deploy/outline/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy Outline Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Outline with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Outline
|
||||
|
||||
Fast, collaborative, knowledge base for your team built using React and Markdown.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 24.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Other</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Outline instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Outline and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
outline:
|
||||
image: outlinewiki/outline:latest
|
||||
container_name: outline
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:3000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/outline && cd /opt/outline
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs outline | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Outline on AltStack Directory](https://thealtstack.com/alternative-to/outline)
|
||||
- [Outline Self-Hosted Guide](https://thealtstack.com/self-hosted/outline)
|
||||
- [Official Documentation](https://www.getoutline.com)
|
||||
- [GitHub Repository](https://github.com/outline/outline)
|
||||
171
docs/app/deploy/page.mdx
Normal file
171
docs/app/deploy/page.mdx
Normal file
@@ -0,0 +1,171 @@
|
||||
---
|
||||
title: "Deploy Guides"
|
||||
description: "65+ self-hosting deploy guides with Docker Compose configs. Find your tool, copy the config, ship it."
|
||||
---
|
||||
|
||||
# Deploy Guides
|
||||
|
||||
Every guide follows the same pattern: **copy the Docker Compose config, tweak the `.env`, run `docker compose up -d`.** Done.
|
||||
|
||||
> 💡 **New to self-hosting?** Start with the [Quick Start](/quick-start) guide first, then come back here.
|
||||
|
||||
---
|
||||
|
||||
## 🤖 AI & Machine Learning
|
||||
|
||||
Run AI models on your own hardware. No API keys, no usage limits, no data leaving your server.
|
||||
|
||||
| Tool | What It Does |
|
||||
|---|---|
|
||||
| [Ollama](/deploy/ollama) | Run LLMs locally with a simple CLI |
|
||||
| [DeepSeek](/deploy/deepseek) | DeepSeek-V3 / R1 reasoning models |
|
||||
| [Meta Llama](/deploy/llama) | Meta's open-weight Llama 3.1 |
|
||||
| [Mistral](/deploy/mistral) | Mistral Large 2 — fast and capable |
|
||||
| [Qwen](/deploy/qwen) | Alibaba's Qwen 2.5 models |
|
||||
| [Google Gemma](/deploy/gemma) | Google's lightweight open models |
|
||||
| [GPT4All](/deploy/gpt4all) | Desktop-first local LLM runner |
|
||||
| [Continue](/deploy/continue-dev) | AI code assistant for VS Code/JetBrains |
|
||||
| [TabbyML](/deploy/tabby) | Self-hosted GitHub Copilot alternative |
|
||||
| [Stable Diffusion](/deploy/stable-diffusion) | AI image generation (SD 3.5) |
|
||||
| [FLUX](/deploy/flux) | Next-gen image generation |
|
||||
| [HunyuanVideo](/deploy/hunyuan-video) | AI video generation |
|
||||
| [Mochi-1](/deploy/mochi-1) | Text-to-video AI |
|
||||
|
||||
---
|
||||
|
||||
## 📊 Analytics & Monitoring
|
||||
|
||||
Own your data. No more sending user behavior to Google.
|
||||
|
||||
| Tool | What It Does |
|
||||
|---|---|
|
||||
| [Plausible](/deploy/plausible) | Privacy-first web analytics |
|
||||
| [PostHog](/deploy/posthog) | Product analytics + session replay |
|
||||
| [Matomo](/deploy/matomo) | Full Google Analytics replacement |
|
||||
| [Jitsu](/deploy/jitsu) | Open-source Segment alternative |
|
||||
| [Metabase](/deploy/metabase) | Business intelligence dashboards |
|
||||
| [Apache Superset](/deploy/superset) | Enterprise data visualization |
|
||||
| [GlitchTip](/deploy/glitchtip) | Error tracking (Sentry alternative) |
|
||||
| [SigNoz](/deploy/signoz) | Full-stack observability platform |
|
||||
| [Uptime Kuma](/deploy/uptime-kuma) | Beautiful uptime monitoring |
|
||||
|
||||
---
|
||||
|
||||
## 💬 Productivity & Collaboration
|
||||
|
||||
Replace Slack, Notion, and Jira — on your terms.
|
||||
|
||||
| Tool | What It Does |
|
||||
|---|---|
|
||||
| [Mattermost](/deploy/mattermost) | Slack alternative for teams |
|
||||
| [Rocket.Chat](/deploy/rocketchat) | Team chat with omnichannel support |
|
||||
| [Outline](/deploy/outline) | Beautiful team knowledge base |
|
||||
| [AFFiNE](/deploy/affine) | Notion + Miro hybrid workspace |
|
||||
| [AppFlowy](/deploy/appflowy) | Open-source Notion alternative |
|
||||
| [ONLYOFFICE](/deploy/onlyoffice) | Self-hosted Google Docs/Sheets |
|
||||
| [Plane](/deploy/plane) | Project management (Jira alternative) |
|
||||
| [Taiga](/deploy/taiga) | Agile project management |
|
||||
| [Cal.com](/deploy/calcom) | Scheduling (Calendly alternative) |
|
||||
| [Documenso](/deploy/documenso) | Digital signatures (DocuSign alternative) |
|
||||
| [Zammad](/deploy/zammad) | Helpdesk & ticketing system |
|
||||
|
||||
---
|
||||
|
||||
## 🏢 Business & CRM
|
||||
|
||||
Run your business without SaaS subscriptions.
|
||||
|
||||
| Tool | What It Does |
|
||||
|---|---|
|
||||
| [Odoo](/deploy/odoo) | Full ERP suite (CRM, accounting, HR) |
|
||||
| [ERPNext](/deploy/erpnext) | Manufacturing & distribution ERP |
|
||||
| [Twenty](/deploy/twenty) | Modern CRM (Salesforce alternative) |
|
||||
| [Akaunting](/deploy/akaunting) | Free accounting software |
|
||||
| [OrangeHRM](/deploy/orangehrm) | HR management platform |
|
||||
| [Medusa.js](/deploy/medusa) | Headless e-commerce engine |
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Security & Authentication
|
||||
|
||||
Control who gets in. Period.
|
||||
|
||||
| Tool | What It Does |
|
||||
|---|---|
|
||||
| [Keycloak](/deploy/keycloak) | Enterprise identity & access management |
|
||||
| [Authentik](/deploy/authentik) | Modern SSO and user management |
|
||||
| [Vaultwarden](/deploy/vaultwarden) | Bitwarden-compatible password vault |
|
||||
| [Bitwarden](/deploy/bitwarden) | Official password manager server |
|
||||
| [KeePassXC](/deploy/keepassxc) | Offline password manager |
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ DevOps & Infrastructure
|
||||
|
||||
The tools that run your tools.
|
||||
|
||||
| Tool | What It Does |
|
||||
|---|---|
|
||||
| [Coolify](/deploy/coolify) | Self-hosted Vercel/Netlify |
|
||||
| [Dokku](/deploy/dokku) | Mini Heroku on your server |
|
||||
| [n8n](/deploy/n8n) | Workflow automation (Zapier alternative) |
|
||||
| [Activepieces](/deploy/activepieces) | Visual automation builder |
|
||||
| [Coder](/deploy/coder) | Cloud development environments |
|
||||
| [MinIO](/deploy/minio) | S3-compatible object storage |
|
||||
| [PocketBase](/deploy/pocketbase) | Backend in a single binary |
|
||||
| [Appwrite](/deploy/appwrite) | Firebase alternative |
|
||||
| [Supabase](/deploy/supabase) | Postgres-powered Firebase alternative |
|
||||
|
||||
---
|
||||
|
||||
## 📧 Marketing & Email
|
||||
|
||||
Send emails, run campaigns, own your audience.
|
||||
|
||||
| Tool | What It Does |
|
||||
|---|---|
|
||||
| [Listmonk](/deploy/listmonk) | Newsletter & mailing list manager |
|
||||
| [Mautic](/deploy/mautic) | Marketing automation platform |
|
||||
| [Postal](/deploy/postal) | Mail delivery platform (Mailgun alternative) |
|
||||
| [Mixpost](/deploy/mixpost) | Social media management |
|
||||
| [Chaskiq](/deploy/chaskiq) | Customer messaging platform |
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Creative Tools
|
||||
|
||||
Design, edit, and create without Adobe subscriptions.
|
||||
|
||||
| Tool | What It Does |
|
||||
|---|---|
|
||||
| [Penpot](/deploy/penpot) | Design & prototyping (Figma alternative) |
|
||||
| [GIMP](/deploy/gimp) | Image editing (Photoshop alternative) |
|
||||
| [Krita](/deploy/krita) | Digital painting & illustration |
|
||||
| [Kdenlive](/deploy/kdenlive) | Video editing |
|
||||
| [FreeCAD](/deploy/freecad) | 3D parametric modeling |
|
||||
| [LibreCAD](/deploy/librecad) | 2D CAD drafting |
|
||||
|
||||
---
|
||||
|
||||
## 🔌 Communication
|
||||
|
||||
| Tool | What It Does |
|
||||
|---|---|
|
||||
| [Jitsi Meet](/deploy/jitsi-meet) | Video conferencing (Zoom alternative) |
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites for All Guides
|
||||
|
||||
Every guide assumes you have:
|
||||
- A server with Docker and Docker Compose installed → [Setup Guide](/quick-start/choosing-a-server)
|
||||
- Basic terminal access (SSH)
|
||||
- A domain name (optional but recommended) → [Reverse Proxy Setup](/concepts/reverse-proxies)
|
||||
|
||||
## Essential Reading
|
||||
|
||||
Before your first deploy, read these:
|
||||
- [Docker in 10 Minutes](/concepts/docker-basics)
|
||||
- [Reverse Proxies Explained](/concepts/reverse-proxies)
|
||||
- [SSL/TLS for Self-Hosters](/concepts/ssl-tls)
|
||||
- [Backups That Actually Work](/concepts/backups)
|
||||
185
docs/app/deploy/penpot/page.mdx
Normal file
185
docs/app/deploy/penpot/page.mdx
Normal file
@@ -0,0 +1,185 @@
|
||||
---
|
||||
title: "Deploy Penpot Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Penpot with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Penpot
|
||||
|
||||
Penpot: The open-source design tool for design and code collaboration
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 44.2k stars</span>
|
||||
<span className="deploy-hero-item">📜 Mozilla Public License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Penpot instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Penpot and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
penpot-frontend:
|
||||
image: penpotapp/frontend:latest
|
||||
container_name: penpot-frontend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- penpot-backend
|
||||
- penpot-exporter
|
||||
ports:
|
||||
- "9010:80"
|
||||
environment:
|
||||
- PENPOT_FLAGS=disable-registration disable-login-with-password
|
||||
volumes:
|
||||
- penpot_assets:/opt/data/assets
|
||||
|
||||
penpot-backend:
|
||||
image: penpotapp/backend:latest
|
||||
container_name: penpot-backend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- penpot-postgres
|
||||
- penpot-redis
|
||||
environment:
|
||||
- PENPOT_FLAGS=disable-registration disable-login-with-password
|
||||
- PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot
|
||||
- PENPOT_DATABASE_USERNAME=penpot
|
||||
- PENPOT_DATABASE_PASSWORD=penpot
|
||||
- PENPOT_REDIS_URI=redis://penpot-redis/0
|
||||
- PENPOT_ASSETS_STORAGE_BACKEND=assets-fs
|
||||
- PENPOT_STORAGE_ASSETS_FS_DIRECTORY=/opt/data/assets
|
||||
- PENPOT_TELEMETRY_ENABLED=false
|
||||
volumes:
|
||||
- penpot_assets:/opt/data/assets
|
||||
|
||||
penpot-exporter:
|
||||
image: penpotapp/exporter:latest
|
||||
container_name: penpot-exporter
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot
|
||||
- PENPOT_DATABASE_USERNAME=penpot
|
||||
- PENPOT_DATABASE_PASSWORD=penpot
|
||||
- PENPOT_REDIS_URI=redis://penpot-redis/0
|
||||
|
||||
penpot-postgres:
|
||||
image: postgres:15
|
||||
container_name: penpot-postgres
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_INITDB_ARGS=--data-checksums
|
||||
- POSTGRES_DB=penpot
|
||||
- POSTGRES_USER=penpot
|
||||
- POSTGRES_PASSWORD=penpot
|
||||
volumes:
|
||||
- penpot_postgres_v15:/var/lib/postgresql/data
|
||||
|
||||
penpot-redis:
|
||||
image: redis:7
|
||||
container_name: penpot-redis
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
penpot_postgres_v15:
|
||||
penpot_assets:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/penpot && cd /opt/penpot
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `PENPOT_FLAGS` | `disable-registration disable-login-with-password` | No |
|
||||
| `PENPOT_DATABASE_URI` | `postgresql://penpot-postgres/penpot` | No |
|
||||
| `PENPOT_DATABASE_USERNAME` | `penpot` | No |
|
||||
| `PENPOT_DATABASE_PASSWORD` | `penpot` | No |
|
||||
| `PENPOT_REDIS_URI` | `redis://penpot-redis/0` | No |
|
||||
| `PENPOT_ASSETS_STORAGE_BACKEND` | `assets-fs` | No |
|
||||
| `PENPOT_STORAGE_ASSETS_FS_DIRECTORY` | `/opt/data/assets` | No |
|
||||
| `PENPOT_TELEMETRY_ENABLED` | `false` | No |
|
||||
| `POSTGRES_INITDB_ARGS` | `--data-checksums` | No |
|
||||
| `POSTGRES_DB` | `penpot` | No |
|
||||
| `POSTGRES_USER` | `penpot` | No |
|
||||
| `POSTGRES_PASSWORD` | `penpot` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs penpot | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Penpot on AltStack Directory](https://thealtstack.com/alternative-to/penpot)
|
||||
- [Penpot Self-Hosted Guide](https://thealtstack.com/self-hosted/penpot)
|
||||
- [Official Documentation](https://penpot.app)
|
||||
- [GitHub Repository](https://github.com/penpot/penpot)
|
||||
160
docs/app/deploy/plane/page.mdx
Normal file
160
docs/app/deploy/plane/page.mdx
Normal file
@@ -0,0 +1,160 @@
|
||||
---
|
||||
title: "Deploy Plane Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Plane with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Plane
|
||||
|
||||
🔥🔥🔥 Open-source Jira, Linear, Monday, and ClickUp alternative. Plane is a modern project management platform to manage tasks, sprints, docs, and triage.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 45.5k stars</span>
|
||||
<span className="deploy-hero-item">📜 GNU Affero General Public License v3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Plane instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Plane and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
plane-web:
|
||||
image: makeplane/plane-frontend:latest
|
||||
container_name: plane-frontend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- plane-backend
|
||||
ports:
|
||||
- "3000:80"
|
||||
|
||||
plane-backend:
|
||||
image: makeplane/plane-backend:latest
|
||||
container_name: plane-backend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- plane-db
|
||||
- plane-redis
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://plane:plane@plane-db:5432/plane
|
||||
- REDIS_URL=redis://plane-redis:6379/
|
||||
- SECRET_KEY=replace-me-with-a-secure-key
|
||||
|
||||
plane-db:
|
||||
image: postgres:15-alpine
|
||||
container_name: plane-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=plane
|
||||
- POSTGRES_PASSWORD=plane
|
||||
- POSTGRES_DB=plane
|
||||
volumes:
|
||||
- plane_db_data:/var/lib/postgresql/data
|
||||
|
||||
plane-redis:
|
||||
image: redis:7-alpine
|
||||
container_name: plane-redis
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- plane_redis_data:/data
|
||||
|
||||
volumes:
|
||||
plane_db_data:
|
||||
plane_redis_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/plane && cd /opt/plane
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `DATABASE_URL` | `postgres://plane:plane@plane-db:5432/plane` | No |
|
||||
| `REDIS_URL` | `redis://plane-redis:6379/` | No |
|
||||
| `SECRET_KEY` | `replace-me-with-a-secure-key` | No |
|
||||
| `POSTGRES_USER` | `plane` | No |
|
||||
| `POSTGRES_PASSWORD` | `plane` | No |
|
||||
| `POSTGRES_DB` | `plane` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs plane | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Plane on AltStack Directory](https://thealtstack.com/alternative-to/plane)
|
||||
- [Plane Self-Hosted Guide](https://thealtstack.com/self-hosted/plane)
|
||||
- [Official Documentation](https://plane.so)
|
||||
- [GitHub Repository](https://github.com/makeplane/plane)
|
||||
179
docs/app/deploy/plausible/page.mdx
Normal file
179
docs/app/deploy/plausible/page.mdx
Normal file
@@ -0,0 +1,179 @@
|
||||
---
|
||||
title: "Deploy Plausible Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Plausible with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Plausible
|
||||
|
||||
Simple, open source, lightweight and privacy-friendly web analytics alternative to Google Analytics.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 24.2k stars</span>
|
||||
<span className="deploy-hero-item">📜 GNU Affero General Public License v3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
A production-ready Plausible Analytics instance. Note that Plausible uses a two-database architecture:
|
||||
|
||||
- **PostgreSQL:** Stores your users, sites, and metadata.
|
||||
- **ClickHouse:** A high-performance columnar database that stores the millions of raw events (pageviews) you'll be collecting.
|
||||
|
||||
> 🌍 **Geolocation Tip:** To see where your visitors are coming from, you'll need to download the free MaxMind GeoLite2 database after deployment and place it in the `./geoip` folder.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Plausible and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
plausible:
|
||||
image: plausible/analytics:latest
|
||||
container_name: plausible
|
||||
restart: unless-stopped
|
||||
command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
|
||||
depends_on:
|
||||
- plausible_db
|
||||
- plausible_events_db
|
||||
- mail
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- BASE_URL=http://localhost:8000
|
||||
- SECRET_KEY_BASE=ChangeMeChangeMeChangeMeChangeMeChangeMeChangeMeChangeMeChangeMe
|
||||
- DATABASE_URL=postgres://postgres:postgres@plausible_db:5432/plausible_db
|
||||
- CLICKHOUSE_DATABASE_URL=http://plausible_events_db:8123/plausible_events_db
|
||||
- MAILER_EMAIL=admin@example.com
|
||||
- SMTP_HOST_ADDR=mail
|
||||
- SMTP_HOST_PORT=25
|
||||
- SMTP_USER_NAME=
|
||||
- SMTP_USER_PWD=
|
||||
- SMTP_SSL_Enabled=false
|
||||
volumes:
|
||||
- ./geoip:/geoip:ro
|
||||
|
||||
plausible_db:
|
||||
image: postgres:14-alpine
|
||||
container_name: plausible_db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- plausible_db_data:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=postgres
|
||||
- POSTGRES_DB=plausible_db
|
||||
|
||||
plausible_events_db:
|
||||
image: clickhouse/clickhouse-server:24.3.3.102-alpine
|
||||
container_name: plausible_events_db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- plausible_events_data:/var/lib/clickhouse
|
||||
- ./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
|
||||
- ./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
|
||||
ulimits:
|
||||
nofile:
|
||||
soft: 262144
|
||||
hard: 262144
|
||||
|
||||
mail:
|
||||
image: bytemark/smtp
|
||||
container_name: plausible_mail
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
plausible_db_data:
|
||||
plausible_events_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/plausible && cd /opt/plausible
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `BASE_URL` | `http://localhost:8000` | No |
|
||||
| `SECRET_KEY_BASE` | `ChangeMeChangeMeChangeMeChangeMeChangeMeChangeMeChangeMeChangeMe` | No |
|
||||
| `DATABASE_URL` | `postgres://postgres:postgres@plausible_db:5432/plausible_db` | No |
|
||||
| `CLICKHOUSE_DATABASE_URL` | `http://plausible_events_db:8123/plausible_events_db` | No |
|
||||
| `MAILER_EMAIL` | `admin@example.com` | No |
|
||||
| `SMTP_HOST_ADDR` | `mail` | No |
|
||||
| `SMTP_HOST_PORT` | `25` | No |
|
||||
| `SMTP_SSL_Enabled` | `false` | No |
|
||||
| `POSTGRES_PASSWORD` | `postgres` | No |
|
||||
| `POSTGRES_DB` | `plausible_db` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs plausible | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Plausible on AltStack Directory](https://thealtstack.com/alternative-to/plausible)
|
||||
- [Plausible Self-Hosted Guide](https://thealtstack.com/self-hosted/plausible)
|
||||
- [Official Documentation](https://plausible.io)
|
||||
- [GitHub Repository](https://github.com/plausible/analytics)
|
||||
118
docs/app/deploy/pocketbase/page.mdx
Normal file
118
docs/app/deploy/pocketbase/page.mdx
Normal file
@@ -0,0 +1,118 @@
|
||||
---
|
||||
title: "Deploy PocketBase Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting PocketBase with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy PocketBase
|
||||
|
||||
Open Source realtime backend in 1 file
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 56.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT License</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working PocketBase instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for PocketBase and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
pocketbase:
|
||||
image: pocketbase/pocketbase:latest
|
||||
container_name: pocketbase
|
||||
restart: unless-stopped
|
||||
command: serve --http=0.0.0.0:8090
|
||||
ports:
|
||||
- "8090:8090"
|
||||
volumes:
|
||||
- pb_data:/pb/pb_data
|
||||
|
||||
volumes:
|
||||
pb_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/pocketbase && cd /opt/pocketbase
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs pocketbase | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [PocketBase on AltStack Directory](https://thealtstack.com/alternative-to/pocketbase)
|
||||
- [PocketBase Self-Hosted Guide](https://thealtstack.com/self-hosted/pocketbase)
|
||||
- [Official Documentation](https://pocketbase.io)
|
||||
- [GitHub Repository](https://github.com/pocketbase/pocketbase)
|
||||
112
docs/app/deploy/postal/page.mdx
Normal file
112
docs/app/deploy/postal/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy Postal Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Postal with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Postal
|
||||
|
||||
A fully featured open source mail delivery platform for incoming & outgoing e-mail.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 15.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Postal instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Postal and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
postal:
|
||||
image: postalserver/postal:latest
|
||||
container_name: postal
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "5000:5000"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/postal && cd /opt/postal
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs postal | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Postal on AltStack Directory](https://thealtstack.com/alternative-to/postal)
|
||||
- [Postal Self-Hosted Guide](https://thealtstack.com/self-hosted/postal)
|
||||
- [Official Documentation](https://postalserver.io)
|
||||
- [GitHub Repository](https://github.com/postalserver/postal)
|
||||
199
docs/app/deploy/posthog/page.mdx
Normal file
199
docs/app/deploy/posthog/page.mdx
Normal file
@@ -0,0 +1,199 @@
|
||||
---
|
||||
title: "Deploy PostHog Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting PostHog with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy PostHog
|
||||
|
||||
🦔 PostHog is an all-in-one developer platform for building successful products. We offer product analytics, web analytics, session replay, error tracking, feature flags, experimentation, surveys, data warehouse, a CDP, and an AI product assistant to help debug your code, ship features faster, and keep all your usage and customer data in one stack.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 31.2k stars</span>
|
||||
<span className="deploy-hero-item">📜 Other</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working PostHog instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for PostHog and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
db:
|
||||
image: postgres:14-alpine
|
||||
container_name: posthog-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=posthog
|
||||
- POSTGRES_DB=posthog
|
||||
- POSTGRES_USER=posthog
|
||||
volumes:
|
||||
- posthog_postgres_data:/var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: redis:6-alpine
|
||||
container_name: posthog-redis
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- posthog_redis_data:/data
|
||||
|
||||
clickhouse:
|
||||
image: clickhouse/clickhouse-server:22.3-alpine
|
||||
container_name: posthog-clickhouse
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- CLICKHOUSE_DB=posthog
|
||||
- CLICKHOUSE_USER=default
|
||||
- CLICKHOUSE_PASSWORD=
|
||||
volumes:
|
||||
- posthog_clickhouse_data:/var/lib/clickhouse
|
||||
|
||||
kafka:
|
||||
image: confluentinc/cp-kafka:7.5.3
|
||||
container_name: posthog-kafka
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- zookeeper
|
||||
environment:
|
||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
|
||||
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
|
||||
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
|
||||
|
||||
zookeeper:
|
||||
image: confluentinc/cp-zookeeper:7.5.3
|
||||
container_name: posthog-zookeeper
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- ZOOKEEPER_CLIENT_PORT=2181
|
||||
- ZOOKEEPER_TICK_TIME=2000
|
||||
|
||||
posthog:
|
||||
image: posthog/posthog:release-1.40.0
|
||||
container_name: posthog
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
- clickhouse
|
||||
- kafka
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://posthog:posthog@db:5432/posthog
|
||||
- REDIS_URL=redis://redis:6379/
|
||||
- CLICKHOUSE_HOST=clickhouse
|
||||
- KAFKA_HOSTS=kafka:9092
|
||||
- SECRET_KEY=please-change-this-secret-key-in-production-12345
|
||||
- SKIP_SERVICE_VERSION_REQUIREMENTS=1
|
||||
volumes:
|
||||
- ./uploads:/app/static/uploads
|
||||
|
||||
volumes:
|
||||
posthog_postgres_data:
|
||||
posthog_redis_data:
|
||||
posthog_clickhouse_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/posthog && cd /opt/posthog
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `POSTGRES_PASSWORD` | `posthog` | No |
|
||||
| `POSTGRES_DB` | `posthog` | No |
|
||||
| `POSTGRES_USER` | `posthog` | No |
|
||||
| `CLICKHOUSE_DB` | `posthog` | No |
|
||||
| `CLICKHOUSE_USER` | `default` | No |
|
||||
| `KAFKA_ZOOKEEPER_CONNECT` | `zookeeper:2181` | No |
|
||||
| `KAFKA_ADVERTISED_LISTENERS` | `PLAINTEXT://kafka:9092` | No |
|
||||
| `KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR` | `1` | No |
|
||||
| `ZOOKEEPER_CLIENT_PORT` | `2181` | No |
|
||||
| `ZOOKEEPER_TICK_TIME` | `2000` | No |
|
||||
| `DATABASE_URL` | `postgres://posthog:posthog@db:5432/posthog` | No |
|
||||
| `REDIS_URL` | `redis://redis:6379/` | No |
|
||||
| `CLICKHOUSE_HOST` | `clickhouse` | No |
|
||||
| `KAFKA_HOSTS` | `kafka:9092` | No |
|
||||
| `SECRET_KEY` | `please-change-this-secret-key-in-production-12345` | No |
|
||||
| `SKIP_SERVICE_VERSION_REQUIREMENTS` | `1` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs posthog | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [PostHog on AltStack Directory](https://thealtstack.com/alternative-to/posthog)
|
||||
- [PostHog Self-Hosted Guide](https://thealtstack.com/self-hosted/posthog)
|
||||
- [Official Documentation](https://posthog.com)
|
||||
- [GitHub Repository](https://github.com/PostHog/posthog)
|
||||
117
docs/app/deploy/qwen/page.mdx
Normal file
117
docs/app/deploy/qwen/page.mdx
Normal file
@@ -0,0 +1,117 @@
|
||||
---
|
||||
title: "Deploy Qwen 2.5 Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Qwen 2.5 with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Qwen 2.5
|
||||
|
||||
Comprehensive LLM series from Alibaba Cloud, excelling in coding, math, and multilingual support.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 50.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Qwen 2.5 instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Qwen 2.5 and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
ollama-qwen:
|
||||
image: ollama/ollama:latest
|
||||
container_name: ollama-qwen
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "11438:11434"
|
||||
volumes:
|
||||
- ollama_qwen:/root/.ollama
|
||||
|
||||
volumes:
|
||||
ollama_qwen:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/qwen && cd /opt/qwen
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs qwen | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Qwen 2.5 on AltStack Directory](https://thealtstack.com/alternative-to/qwen)
|
||||
- [Qwen 2.5 Self-Hosted Guide](https://thealtstack.com/self-hosted/qwen)
|
||||
- [Official Documentation](https://qwenlm.github.io)
|
||||
- [GitHub Repository](https://github.com/QwenLM/Qwen2.5)
|
||||
144
docs/app/deploy/rocketchat/page.mdx
Normal file
144
docs/app/deploy/rocketchat/page.mdx
Normal file
@@ -0,0 +1,144 @@
|
||||
---
|
||||
title: "Deploy Rocket.Chat Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Rocket.Chat with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Rocket.Chat
|
||||
|
||||
The Secure CommsOS™ for mission-critical operations
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 44.5k stars</span>
|
||||
<span className="deploy-hero-item">📜 Other</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Rocket.Chat instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Rocket.Chat and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
rocketchat:
|
||||
image: registry.rocket.chat/rocketchat/rocket.chat:latest
|
||||
container_name: rocketchat
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- mongo
|
||||
ports:
|
||||
- "3002:3000"
|
||||
environment:
|
||||
- MONGO_URL=mongodb://mongo:27017/rocketchat
|
||||
- ROOT_URL=http://localhost:3002
|
||||
- PORT=3000
|
||||
|
||||
mongo:
|
||||
image: mongo:5.0
|
||||
container_name: rocketchat-mongo
|
||||
restart: unless-stopped
|
||||
command: mongod --oplogSize 128 --replSet rs0 --storageEngine=wiredTiger
|
||||
volumes:
|
||||
- ./data/db:/data/db
|
||||
|
||||
mongo-init-replica:
|
||||
image: mongo:5.0
|
||||
container_name: mongo-init-replica
|
||||
restart: unless-stopped
|
||||
command: bash /init-replica.sh
|
||||
depends_on:
|
||||
- mongo
|
||||
volumes:
|
||||
- ./init-replica.sh:/init-replica.sh
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/rocketchat && cd /opt/rocketchat
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `MONGO_URL` | `mongodb://mongo:27017/rocketchat` | No |
|
||||
| `ROOT_URL` | `http://localhost:3002` | No |
|
||||
| `PORT` | `3000` | No |
|
||||
| `storageEngine` | `wiredTiger` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs rocketchat | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Rocket.Chat on AltStack Directory](https://thealtstack.com/alternative-to/rocketchat)
|
||||
- [Rocket.Chat Self-Hosted Guide](https://thealtstack.com/self-hosted/rocketchat)
|
||||
- [Official Documentation](https://rocket.chat)
|
||||
- [GitHub Repository](https://github.com/RocketChat/Rocket.Chat)
|
||||
112
docs/app/deploy/signoz/page.mdx
Normal file
112
docs/app/deploy/signoz/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy SigNoz Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting SigNoz with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy SigNoz
|
||||
|
||||
Open source observability platform. SigNoz helps developers monitor applications and troubleshoot problems.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 18.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working SigNoz instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for SigNoz and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
signoz-frontend:
|
||||
image: signoz/frontend:latest
|
||||
container_name: signoz-frontend
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3301:3301"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/signoz && cd /opt/signoz
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs signoz | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [SigNoz on AltStack Directory](https://thealtstack.com/alternative-to/signoz)
|
||||
- [SigNoz Self-Hosted Guide](https://thealtstack.com/self-hosted/signoz)
|
||||
- [Official Documentation](https://signoz.io)
|
||||
- [GitHub Repository](https://github.com/signoz/signoz)
|
||||
112
docs/app/deploy/stable-diffusion/page.mdx
Normal file
112
docs/app/deploy/stable-diffusion/page.mdx
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
title: "Deploy Stable Diffusion 3.5 Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Stable Diffusion 3.5 with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Stable Diffusion 3.5
|
||||
|
||||
The latest open-weights image generation model from Stability AI, offering superior prompt adherence.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 10.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Stability Community License</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Stable Diffusion 3.5 instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Stable Diffusion 3.5 and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
sd-webui:
|
||||
image: automatic1111/stable-diffusion-webui:latest
|
||||
container_name: sd-webui
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "7860:7860"
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/stable-diffusion && cd /opt/stable-diffusion
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs stable-diffusion | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Stable Diffusion 3.5 on AltStack Directory](https://thealtstack.com/alternative-to/stable-diffusion)
|
||||
- [Stable Diffusion 3.5 Self-Hosted Guide](https://thealtstack.com/self-hosted/stable-diffusion)
|
||||
- [Official Documentation](https://stability.ai)
|
||||
- [GitHub Repository](https://github.com/Stability-AI/sd3.5)
|
||||
208
docs/app/deploy/supabase/page.mdx
Normal file
208
docs/app/deploy/supabase/page.mdx
Normal file
@@ -0,0 +1,208 @@
|
||||
---
|
||||
title: "Deploy Supabase Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Supabase with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Supabase
|
||||
|
||||
The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 97.4k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
A fully working Supabase instance running on your server. This isn't just a database; it's a full backend-as-a-service including:
|
||||
|
||||
- **PostgreSQL:** The world's most advanced relational database.
|
||||
- **GoTrue:** User management and JWT-based authentication.
|
||||
- **PostgREST:** Turns your database into a RESTful API automatically.
|
||||
- **Realtime:** Listen to database changes via WebSockets.
|
||||
- **Storage:** S3-compatible file storage.
|
||||
|
||||
> ⚠️ **Critical Security Note:** The default configuration uses "postgres" as the password and a temporary JWT secret. You MUST change these in your `.env` file before exposing this to the internet.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Supabase and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Supabase Production-Ready Docker Compose
|
||||
# Note: Supabase is a collection of services. Official images are the standard.
|
||||
# This setup includes the core services: PostgREST, GoTrue, Realtime, Storage, and PostgreSQL.
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
db:
|
||||
container_name: supabase-db
|
||||
image: supabase/postgres:15.1.1.78
|
||||
command: postgres -c config_file=/etc/postgresql/postgresql.conf -c log_min_messages=fatal
|
||||
healthcheck:
|
||||
test: ["CMD", "pg_isready", "-U", "postgres"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
volumes:
|
||||
- supabase_db_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- supabase_net
|
||||
|
||||
auth:
|
||||
container_name: supabase-auth
|
||||
image: supabase/gotrue:v2.143.0
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9999/health"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
environment:
|
||||
GOTRUE_DB_DRIVER: postgres
|
||||
GOTRUE_DB_DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/postgres?sslmode=disable
|
||||
GOTRUE_SITE_URL: ${SITE_URL:-http://localhost:3000}
|
||||
GOTRUE_JWT_SECRET: ${JWT_SECRET:-super-secret-jwt-token-don-not-use-in-prod}
|
||||
networks:
|
||||
- supabase_net
|
||||
|
||||
rest:
|
||||
container_name: supabase-rest
|
||||
image: postgrest/postgrest:v11.2.2
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
PGRST_DB_URI: postgres://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/postgres
|
||||
PGRST_DB_SCHEMA: public
|
||||
PGRST_DB_ANON_ROLE: anon
|
||||
networks:
|
||||
- supabase_net
|
||||
|
||||
realtime:
|
||||
container_name: supabase-realtime
|
||||
image: supabase/realtime:v2.25.56
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
DB_HOST: db
|
||||
DB_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
|
||||
JWT_SECRET: ${JWT_SECRET:-super-secret-jwt-token-don-not-use-in-prod}
|
||||
networks:
|
||||
- supabase_net
|
||||
|
||||
storage:
|
||||
container_name: supabase-storage
|
||||
image: supabase/storage-api:v0.43.12
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
ANON_KEY: ${ANON_KEY}
|
||||
SERVICE_KEY: ${SERVICE_KEY}
|
||||
PGRST_JWT_SECRET: ${JWT_SECRET:-super-secret-jwt-token-don-not-use-in-prod}
|
||||
DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/postgres
|
||||
networks:
|
||||
- supabase_net
|
||||
|
||||
networks:
|
||||
supabase_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
supabase_db_data:
|
||||
name: supabase_db_data
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/supabase && cd /opt/supabase
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `POSTGRES_PASSWORD` | `postgres` | No |
|
||||
| `SITE_URL` | `http://localhost:3000` | No |
|
||||
| `JWT_SECRET` | `super-secret-jwt-token-don-not-use-in-prod` | No |
|
||||
| `ANON_KEY` | `—` | ✅ Yes |
|
||||
| `SERVICE_KEY` | `—` | ✅ Yes |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs supabase | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Supabase on AltStack Directory](https://thealtstack.com/alternative-to/supabase)
|
||||
- [Supabase Self-Hosted Guide](https://thealtstack.com/self-hosted/supabase)
|
||||
- [Official Documentation](https://supabase.com)
|
||||
- [GitHub Repository](https://github.com/supabase/supabase)
|
||||
171
docs/app/deploy/superset/page.mdx
Normal file
171
docs/app/deploy/superset/page.mdx
Normal file
@@ -0,0 +1,171 @@
|
||||
---
|
||||
title: "Deploy Apache Superset Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Apache Superset with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Apache Superset
|
||||
|
||||
Enterprise-ready business intelligence web application.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 59.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Apache Superset instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Apache Superset and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Docker Compose for Apache Superset
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
superset:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: superset
|
||||
ports:
|
||||
- "8088:8088"
|
||||
environment:
|
||||
- DATABASE_URL=postgresql://superset:superset@db:5432/superset
|
||||
- REDIS_URL=redis://redis:6379
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- superset_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost:8088/health" ]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
container_name: superset-db
|
||||
environment:
|
||||
POSTGRES_USER: superset
|
||||
POSTGRES_PASSWORD: superset
|
||||
POSTGRES_DB: superset
|
||||
volumes:
|
||||
- superset_db_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- superset_net
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "pg_isready -U superset" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: superset-redis
|
||||
networks:
|
||||
- superset_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "redis-cli", "ping" ]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
networks:
|
||||
superset_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
superset_db_data:
|
||||
name: superset_db_data
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/superset && cd /opt/superset
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `DATABASE_URL` | `postgresql://superset:superset@db:5432/superset` | No |
|
||||
| `REDIS_URL` | `redis://redis:6379` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs superset | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Apache Superset on AltStack Directory](https://thealtstack.com/alternative-to/superset)
|
||||
- [Apache Superset Self-Hosted Guide](https://thealtstack.com/self-hosted/superset)
|
||||
- [Official Documentation](https://superset.apache.org)
|
||||
- [GitHub Repository](https://github.com/apache/superset)
|
||||
117
docs/app/deploy/tabby/page.mdx
Normal file
117
docs/app/deploy/tabby/page.mdx
Normal file
@@ -0,0 +1,117 @@
|
||||
---
|
||||
title: "Deploy TabbyML Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting TabbyML with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy TabbyML
|
||||
|
||||
Self-hosted AI coding assistant. An open-source, self-hosted alternative to GitHub Copilot.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 25.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 Apache License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working TabbyML instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for TabbyML and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
tabby:
|
||||
image: tabbyml/tabby:latest
|
||||
container_name: tabby
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- tabby-data:/data
|
||||
|
||||
volumes:
|
||||
tabby-data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/tabby && cd /opt/tabby
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs tabby | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [TabbyML on AltStack Directory](https://thealtstack.com/alternative-to/tabby)
|
||||
- [TabbyML Self-Hosted Guide](https://thealtstack.com/self-hosted/tabby)
|
||||
- [Official Documentation](https://tabby.tabbyml.com)
|
||||
- [GitHub Repository](https://github.com/TabbyML/tabby)
|
||||
172
docs/app/deploy/taiga/page.mdx
Normal file
172
docs/app/deploy/taiga/page.mdx
Normal file
@@ -0,0 +1,172 @@
|
||||
---
|
||||
title: "Deploy Taiga Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Taiga with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Taiga
|
||||
|
||||
Self-host Taiga on your own server.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 0.8k stars</span>
|
||||
<span className="deploy-hero-item">📜 Mozilla Public License 2.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Taiga instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Taiga and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
taiga-front:
|
||||
image: taigaio/taiga-front:latest
|
||||
container_name: taiga-front
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- taiga-back
|
||||
ports:
|
||||
- "9000:80"
|
||||
environment:
|
||||
- TAIGA_URL=http://localhost:9000
|
||||
- TAIGA_WEBSOCKETS_URL=ws://localhost:9000
|
||||
|
||||
taiga-back:
|
||||
image: taigaio/taiga-back:latest
|
||||
container_name: taiga-back
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- taiga-db
|
||||
- taiga-redis
|
||||
- taiga-async-rabbitmq
|
||||
environment:
|
||||
- POSTGRES_DB=taiga
|
||||
- POSTGRES_USER=taiga
|
||||
- POSTGRES_PASSWORD=taiga
|
||||
- TAIGA_SECRET_KEY=exe3quu8Su2wohx0uNgo0eif4wohphah
|
||||
|
||||
taiga-db:
|
||||
image: postgres:13-alpine
|
||||
container_name: taiga-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_DB=taiga
|
||||
- POSTGRES_USER=taiga
|
||||
- POSTGRES_PASSWORD=taiga
|
||||
volumes:
|
||||
- taiga_db_data:/var/lib/postgresql/data
|
||||
|
||||
taiga-async-rabbitmq:
|
||||
image: rabbitmq:3.8-management-alpine
|
||||
container_name: taiga-rabbitmq
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- RABBITMQ_ERLANG_COOKIE=secret-cookie
|
||||
- RABBITMQ_DEFAULT_USER=taiga
|
||||
- RABBITMQ_DEFAULT_PASS=taiga
|
||||
|
||||
taiga-redis:
|
||||
image: redis:6-alpine
|
||||
container_name: taiga-redis
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
taiga_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/taiga && cd /opt/taiga
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `TAIGA_URL` | `http://localhost:9000` | No |
|
||||
| `TAIGA_WEBSOCKETS_URL` | `ws://localhost:9000` | No |
|
||||
| `POSTGRES_DB` | `taiga` | No |
|
||||
| `POSTGRES_USER` | `taiga` | No |
|
||||
| `POSTGRES_PASSWORD` | `taiga` | No |
|
||||
| `TAIGA_SECRET_KEY` | `exe3quu8Su2wohx0uNgo0eif4wohphah` | No |
|
||||
| `RABBITMQ_ERLANG_COOKIE` | `secret-cookie` | No |
|
||||
| `RABBITMQ_DEFAULT_USER` | `taiga` | No |
|
||||
| `RABBITMQ_DEFAULT_PASS` | `taiga` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs taiga | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Taiga on AltStack Directory](https://thealtstack.com/alternative-to/taiga)
|
||||
- [Taiga Self-Hosted Guide](https://thealtstack.com/self-hosted/taiga)
|
||||
- [Official Documentation](https://taiga.io)
|
||||
- [GitHub Repository](https://github.com/taigaio/taiga-back)
|
||||
140
docs/app/deploy/twenty/page.mdx
Normal file
140
docs/app/deploy/twenty/page.mdx
Normal file
@@ -0,0 +1,140 @@
|
||||
---
|
||||
title: "Deploy Twenty Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Twenty with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Twenty
|
||||
|
||||
A modern open-source CRM alternative to Salesforce and Pipedrive.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 15.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 AGPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Twenty instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Twenty and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
twenty:
|
||||
image: twentyhq/twenty:latest
|
||||
container_name: twenty
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- PG_DATABASE_URL=postgres://twenty:twenty@db:5432/twenty
|
||||
- FRONTEND_URL=http://localhost:3000
|
||||
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
container_name: twenty-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=twenty
|
||||
- POSTGRES_PASSWORD=twenty
|
||||
- POSTGRES_DB=twenty
|
||||
volumes:
|
||||
- twenty_db_data:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
twenty_db_data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/twenty && cd /opt/twenty
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `PG_DATABASE_URL` | `postgres://twenty:twenty@db:5432/twenty` | No |
|
||||
| `FRONTEND_URL` | `http://localhost:3000` | No |
|
||||
| `POSTGRES_USER` | `twenty` | No |
|
||||
| `POSTGRES_PASSWORD` | `twenty` | No |
|
||||
| `POSTGRES_DB` | `twenty` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs twenty | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Twenty on AltStack Directory](https://thealtstack.com/alternative-to/twenty)
|
||||
- [Twenty Self-Hosted Guide](https://thealtstack.com/self-hosted/twenty)
|
||||
- [Official Documentation](https://twenty.com)
|
||||
- [GitHub Repository](https://github.com/twentyhq/twenty)
|
||||
130
docs/app/deploy/uptime-kuma/page.mdx
Normal file
130
docs/app/deploy/uptime-kuma/page.mdx
Normal file
@@ -0,0 +1,130 @@
|
||||
---
|
||||
title: "Deploy Uptime Kuma Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Uptime Kuma with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Uptime Kuma
|
||||
|
||||
A fancy self-hosted monitoring tool.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 55.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 MIT</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Uptime Kuma instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Uptime Kuma and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Docker Compose for Uptime Kuma
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
uptime-kuma:
|
||||
image: louislam/uptime-kuma:1 # Official image is standard
|
||||
container_name: uptime-kuma
|
||||
ports:
|
||||
- "3001:3001"
|
||||
volumes:
|
||||
- uptime_kuma_data:/app/data
|
||||
networks:
|
||||
- uptime_net
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost:3001/" ]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
uptime_net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
uptime_kuma_data:
|
||||
name: uptime_kuma_data
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/uptime-kuma && cd /opt/uptime-kuma
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs uptime-kuma | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Uptime Kuma on AltStack Directory](https://thealtstack.com/alternative-to/uptime-kuma)
|
||||
- [Uptime Kuma Self-Hosted Guide](https://thealtstack.com/self-hosted/uptime-kuma)
|
||||
- [Official Documentation](https://uptime.kuma.pet)
|
||||
- [GitHub Repository](https://github.com/louislam/uptime-kuma)
|
||||
126
docs/app/deploy/vaultwarden/page.mdx
Normal file
126
docs/app/deploy/vaultwarden/page.mdx
Normal file
@@ -0,0 +1,126 @@
|
||||
---
|
||||
title: "Deploy Vaultwarden Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Vaultwarden with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Vaultwarden
|
||||
|
||||
Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 32.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 AGPL-3.0</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Vaultwarden instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Vaultwarden and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
vaultwarden:
|
||||
image: vaultwarden/server:latest
|
||||
container_name: vaultwarden
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:80"
|
||||
volumes:
|
||||
- vw-data:/data
|
||||
environment:
|
||||
- WEBSOCKET_ENABLED=true
|
||||
- SIGNUPS_ALLOWED=true
|
||||
|
||||
volumes:
|
||||
vw-data:
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/vaultwarden && cd /opt/vaultwarden
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `WEBSOCKET_ENABLED` | `true` | No |
|
||||
| `SIGNUPS_ALLOWED` | `true` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs vaultwarden | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Vaultwarden on AltStack Directory](https://thealtstack.com/alternative-to/vaultwarden)
|
||||
- [Vaultwarden Self-Hosted Guide](https://thealtstack.com/self-hosted/vaultwarden)
|
||||
- [Official Documentation](https://github.com/dani-garcia/vaultwarden)
|
||||
- [GitHub Repository](https://github.com/dani-garcia/vaultwarden)
|
||||
142
docs/app/deploy/zammad/page.mdx
Normal file
142
docs/app/deploy/zammad/page.mdx
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
title: "Deploy Zammad Self-Hosted (Docker)"
|
||||
description: "Step-by-step guide to self-hosting Zammad with Docker Compose. "
|
||||
---
|
||||
|
||||
# Deploy Zammad
|
||||
|
||||
A web-based, open source helpdesk/customer support system with many features.
|
||||
|
||||
<div className="deploy-hero">
|
||||
<span className="deploy-hero-item">⭐ 5.0k stars</span>
|
||||
<span className="deploy-hero-item">📜 AGPLv3</span>
|
||||
<span className="deploy-hero-item">🔴 Advanced</span>
|
||||
<span className="deploy-hero-item">⏱ ~20 minutes</span>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="mt-8 mb-4">
|
||||
<a
|
||||
href="https://m.do.co/c/2ed27757a361"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center justify-center w-full px-6 py-4 text-lg font-bold text-white transition-all bg-blue-600 rounded-xl hover:bg-blue-700 hover:scale-[1.02] shadow-lg shadow-blue-500/30"
|
||||
>
|
||||
🚀 Deploy on DigitalOcean ($200 Free Credit)
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
## What You'll Get
|
||||
|
||||
A fully working Zammad instance running on your server. Your data stays on your hardware — no third-party access, no usage limits, no surprise invoices.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- A server with Docker and Docker Compose installed ([setup guide](/quick-start/choosing-a-server))
|
||||
- A domain name pointed to your server (optional but recommended)
|
||||
- Basic terminal access (SSH)
|
||||
|
||||
## The Config
|
||||
|
||||
Create a directory for Zammad and add this `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
# -------------------------------------------------------------------------
|
||||
# 🚀 Created and distributed by The AltStack
|
||||
# 🌍 https://thealtstack.com
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
zammad:
|
||||
image: zammad/zammad-docker-compose:zammad-6.3.1-23
|
||||
container_name: zammad
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- zammad-postgresql
|
||||
- zammad-elasticsearch
|
||||
- zammad-redis
|
||||
ports:
|
||||
- "8080:8080"
|
||||
|
||||
zammad-elasticsearch:
|
||||
image: bitnami/elasticsearch:8.12.2
|
||||
container_name: zammad-elasticsearch
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- discovery.type=single-node
|
||||
|
||||
zammad-postgresql:
|
||||
image: postgres:15-alpine
|
||||
container_name: zammad-postgresql
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_USER=zammad
|
||||
- POSTGRES_PASSWORD=zammad
|
||||
|
||||
zammad-redis:
|
||||
image: redis:7.2-alpine
|
||||
container_name: zammad-redis
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
## Let's Ship It
|
||||
|
||||
```bash
|
||||
# Create a directory
|
||||
mkdir -p /opt/zammad && cd /opt/zammad
|
||||
|
||||
# Create the docker-compose.yml (paste the config above)
|
||||
nano docker-compose.yml
|
||||
|
||||
# Pull images and start
|
||||
docker compose up -d
|
||||
|
||||
# Watch the logs
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Required |
|
||||
|---|---|---|
|
||||
| `POSTGRES_USER` | `zammad` | No |
|
||||
| `POSTGRES_PASSWORD` | `zammad` | No |
|
||||
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Service is accessible on the configured port
|
||||
- [ ] Admin account created (if applicable)
|
||||
- [ ] Reverse proxy configured ([Caddy guide](/concepts/reverse-proxies))
|
||||
- [ ] SSL/HTTPS working
|
||||
- [ ] Backup script set up ([backup guide](/concepts/backups))
|
||||
- [ ] Uptime monitor added ([Uptime Kuma](/deploy/uptime-kuma))
|
||||
|
||||
## The "I Broke It" Section
|
||||
|
||||
**Container won't start?**
|
||||
```bash
|
||||
docker compose logs zammad | tail -50
|
||||
```
|
||||
|
||||
**Port already in use?**
|
||||
```bash
|
||||
# Find what's using the port
|
||||
lsof -i :PORT_NUMBER
|
||||
```
|
||||
|
||||
**Need to start fresh?**
|
||||
```bash
|
||||
docker compose down -v # ⚠️ This deletes volumes/data!
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Going Further
|
||||
|
||||
- [Zammad on AltStack Directory](https://thealtstack.com/alternative-to/zammad)
|
||||
- [Zammad Self-Hosted Guide](https://thealtstack.com/self-hosted/zammad)
|
||||
- [Official Documentation](https://zammad.org)
|
||||
- [GitHub Repository](https://github.com/zammad/zammad)
|
||||
Reference in New Issue
Block a user