Templates
One-click deployment of self-hosted applications
One-click deployment of popular self-hosted applications via OpenSelfServe (O2S). Like Railway but for your own sovereign infrastructure.
Overview
Templates provide instant deployment of open-source applications without manual configuration. Each template includes:
- Pre-configured application stack
- Automatic database provisioning
- Environment variable setup
- Persistent volume configuration
- Health checks and monitoring
- Backup schedules
Why Templates?
- No setup hassle — Deploy in seconds, not hours
- Best practices built-in — Security hardening, updates, monitoring
- Sovereign by default — Runs on your Tasmanian infrastructure
- Predictable costs — No surprise egress or API fees
Quick Start
Via O2S Portal
- Go to o2s.tasmanian.cloud
- Click "Templates"
- Browse or search for an app
- Click Deploy
- Configure settings (domain, admin password, etc.)
- Wait 30-60 seconds for provisioning
- Access via your VPN
Via CLI
# List available templates
tc templates list
# Deploy PostgreSQL
tc templates deploy postgres --name my-database
# Deploy with custom config
tc templates deploy n8n \
--name my-workflows \
--size standard-4vcpu-8gb \
--env WEBHOOK_URL=https://n8n.mycompany.tas
# Check status
tc templates status my-workflows
# View logs
tc templates logs my-workflows
# Remove
tc templates remove my-workflows
Available Templates
Databases
| Template | Description | Default Size |
|---|---|---|
| PostgreSQL | Open-source relational database | standard-2vcpu-4gb |
| MySQL | Popular SQL database | standard-2vcpu-4gb |
| MongoDB | Document database | standard-2vcpu-4gb |
| Redis | In-memory data store | standard-2vcpu-4gb |
| ClickHouse | Columnar analytics DB | standard-4vcpu-8gb |
| InfluxDB | Time-series database | standard-2vcpu-4gb |
Developer Tools
| Template | Description | Default Size |
|---|---|---|
| Gitea | Self-hosted Git service | standard-2vcpu-4gb |
| GitLab CE | Complete DevOps platform | standard-4vcpu-8gb |
| Drone CI | Container-native CI/CD | standard-2vcpu-4gb |
| n8n | Workflow automation | standard-2vcpu-4gb |
| Airbyte | Data integration | standard-4vcpu-8gb |
Productivity
| Template | Description | Default Size |
|---|---|---|
| Plane | Open-source Linear alternative | standard-2vcpu-4gb |
| Focalboard | Project management (Notion alternative) | standard-2vcpu-4gb |
| Outline | Team wiki & knowledge base | standard-2vcpu-4gb |
| BookStack | Documentation platform | standard-2vcpu-4gb |
| Wiki.js | Modern wiki platform | standard-2vcpu-4gb |
Communication
| Template | Description | Default Size |
|---|---|---|
| Mattermost | Team collaboration | standard-4vcpu-8gb |
| Zulip | Threaded chat | standard-2vcpu-4gb |
| Jitsi | Video conferencing | standard-4vcpu-8gb |
Analytics
| Template | Description | Default Size |
|---|---|---|
| Plausible | Privacy-focused analytics | standard-2vcpu-4gb |
| Umami | Simple analytics | standard-2vcpu-4gb |
| Metabase | Business intelligence | standard-2vcpu-4gb |
Monitoring
| Template | Description | Default Size |
|---|---|---|
| Uptime Kuma | Uptime monitoring | standard-2vcpu-4gb |
| Grafana | Metrics visualization | standard-2vcpu-4gb |
| Prometheus | Metrics collection | standard-4vcpu-8gb |
Template Configuration
Environment Variables
Most templates accept environment variables for customization:
tc templates deploy gitea \
--name my-git \
--env GITEA__server__ROOT_URL=https://git.mycompany.tas \
--env GITEA__service__DISABLE_REGISTRATION=true
Common variables:
| Variable | Description |
|---|---|
ADMIN_USER | Default admin username |
ADMIN_PASSWORD | Default admin password |
DOMAIN | Application domain |
WEBHOOK_URL | External webhook URL |
Volumes
Templates automatically create persistent volumes:
# List volumes for a template
tc templates volumes my-database
# Resize volume
tc templates volume resize my-database --volume data --size 100GB
# Create backup
tc templates backup create my-database
Networking
Templates are deployed into your private network:
# Deploy into specific network
tc templates deploy postgres \
--name prod-db \
--network production
# Expose via VPN only (default)
tc templates deploy n8n \
--name workflows \
--access vpn
Example Deployments
Self-Hosted Git (Gitea)
# Deploy Gitea
tc templates deploy gitea --name git
# Get admin credentials
tc templates credentials git
# Output:
# URL: http://10.0.40.15:3000
# Username: gitea_admin
# Password: [auto-generated]
# Access via VPN
netbird up --setup-key YOUR_KEY
# Then visit http://10.0.40.15:3000
Workflow Automation (n8n)
# Deploy n8n with webhook support
tc templates deploy n8n \
--name automation \
--env N8N_HOST=automation.mycompany.tas \
--env WEBHOOK_URL=https://automation.mycompany.tas
# Scale up for heavy workloads
tc templates scale automation --size standard-8vcpu-16gb
Analytics (Plausible)
# Deploy Plausible analytics
tc templates deploy plausible --name analytics
# Configure your sites in the admin panel
# Add tracking script to your websites
Custom Templates
Create your own templates for internal use:
Template Definition
Create a template.yaml:
name: my-custom-app
description: My internal application
version: 1.0.0
resources:
cpu: 2
memory: 4GB
storage: 50GB
env:
- name: APP_ENV
value: production
- name: DATABASE_URL
from: postgres://postgres:5432/app
volumes:
- name: data
path: /app/data
size: 50GB
healthcheck:
path: /health
port: 8080
interval: 30s
Upload Template
tc templates upload --file ./template.yaml
Share Template
# Share with team
tc templates share my-custom-app --team engineering
# Make public
tc templates share my-custom-app --public
Updates
Templates include automatic update mechanisms:
Automatic Updates
Minor updates are applied automatically:
# Check update status
tc templates updates my-app
# View changelog
tc templates updates my-app --changelog
Manual Updates
# Update to latest version
tc templates update my-app
# Update to specific version
tc templates update my-app --version 2.1.0
# Rollback if issues
tc templates rollback my-app
Backups
Automatic Backups
Most templates include scheduled backups:
# View backup schedule
tc templates backup schedule my-database
# Modify schedule
tc templates backup schedule my-database --frequency daily --retention 7
Manual Backups
# Create backup
tc templates backup create my-app --name pre-migration
# List backups
tc templates backup list my-app
# Restore
tc templates backup restore my-app --backup pre-migration
# Download backup
tc templates backup download my-app --backup pre-migration --output ./backup.tar.gz
Monitoring
Built-in Metrics
All templates expose metrics:
# View resource usage
tc templates metrics my-app
# Get Prometheus endpoint
tc templates metrics my-app --format prometheus
Alerts
Configure alerts for your templates:
# Set up disk alert
tc templates alert create my-app \
--metric disk_usage \
--threshold 80 \
--notify email:admin@company.tas
# Set up memory alert
tc templates alert create my-app \
--metric memory_usage \
--threshold 90 \
--notify slack:#alerts
Troubleshooting
Deployment Failed
# Check logs
tc templates logs my-app
# Check events
tc templates events my-app
# Debug mode
tc templates deploy my-template --name debug --debug
App Not Responding
# Restart
tc templates restart my-app
# Check health
tc templates health my-app
# Shell access
tc templates exec my-app -- /bin/sh
Database Connection Issues
# Check if database is running
tc templates status my-app-db
# Verify connection string
tc templates env my-app
# Test connection
tc templates exec my-app -- psql $DATABASE_URL -c "SELECT 1"
Pricing
Template pricing = underlying VPS resources + small management fee:
| Component | Price |
|---|---|
| VPS Resources | Standard VPS pricing |
| Management Fee | $5/month per template |
| Backups | $0.10/GB/month |
| Egress (AU) | FREE |
Example: PostgreSQL on standard-2vcpu-4gb with 50GB storage:
- VPS: $26/month
- Management: $5/month
- Total: $31/month
Comparison: Templates vs VPS
| Templates | VPS | |
|---|---|---|
| Setup | One-click | Manual |
| Updates | Automatic | You manage |
| Backups | Built-in | Configure yourself |
| Monitoring | Pre-configured | Set up yourself |
| Flexibility | Limited to template | Full control |
| Best for | Standard apps | Custom workloads |
Contributing Templates
Submit new templates to the community:
- Fork the templates repository
- Add your template definition
- Submit a PR
- Templates are reviewed for security and quality
Related Documentation
- VPS - Manual VM deployment
- Kubernetes - Container orchestration
- API Reference - REST API for templates
- CLI Reference - Command-line tool