Skip to main content
Back to Category

What is Self-Hosting? What Can You Host on Your Own Server?

What is self-hosting, why do it, popular self-hosted apps (Nextcloud, Vaultwarden, Jellyfin, Gitea, n8n), Docker setup and comparison with cloud services.

Read time: 12 min Self-Hosting
self-hostingnextclouddockervaultwardenjellyfingiteaprivacy
Author
REXE Teknoloji Network & Security Team
Editor
REXE Teknoloji Technical Editorial
First published
Last updated

What is Self-Hosting? What Can You Host on Your Own Server?

Self-hosting means running applications on your own server that you normally use through cloud services (Google Drive, Dropbox, Netflix, GitHub, etc.). You have full control over your data, get rid of monthly subscription fees, and protect your privacy.

Why Should You Self-Host?

1. Privacy and Data Control

Cloud services analyze your data, create advertising profiles, and may share with third parties. With self-hosting, your data stays only on your server.

2. Cost Savings

In the long run, self-hosting can be much more economical than cloud subscriptions.

Monthly Cost Comparison (approximate):

Cloud Services:
- Google One 2TB:     ~$10/month
- Dropbox Plus:       ~$12/month
- Netflix Standard:   ~$15/month
- GitHub Pro:         ~$4/month
- Notion Plus:        ~$8/month
Total:                ~$49/month

Self-Hosted (REXE VDS):
- Server cost:        ~$15-30/month
- All services included
Savings:              ~$20-35/month

3. Customization and Control

Cloud services offer you limited customization options. With self-hosting, you can configure the application however you want.

4. Independence

Cloud services can shut down, raise prices, or remove features. With self-hosting, you're independent from these risks.

File Storage and Sync

Nextcloud — Google Drive Alternative

hljs bash
docker run -d \
  --name nextcloud \
  -p 8080:80 \
  -v nextcloud_data:/var/www/html \
  -e MYSQL_HOST=db \
  -e MYSQL_DATABASE=nextcloud \
  -e MYSQL_USER=nextcloud \
  -e MYSQL_PASSWORD=password \
  nextcloud:latest

Nextcloud features:

  • File storage and sync
  • Calendar and contacts (CalDAV/CardDAV)
  • Video conferencing (Talk)
  • Office document editing (Collabora/OnlyOffice)
  • Photo gallery

Password Manager

Vaultwarden — Bitwarden Alternative

hljs bash
docker run -d \
  --name vaultwarden \
  -p 8080:80 \
  -v vaultwarden_data:/data \
  -e DOMAIN=https://vault.example.com \
  -e SIGNUPS_ALLOWED=false \
  vaultwarden/server:latest

Vaultwarden features:

  • Password management
  • 2FA support
  • Secure note storage
  • Organization and sharing
  • Compatible with all Bitwarden clients

Media Server

Jellyfin — Netflix/Plex Alternative

hljs bash
docker run -d \
  --name jellyfin \
  -p 8096:8096 \
  -v /path/to/media:/media \
  -v jellyfin_config:/config \
  jellyfin/jellyfin:latest

Jellyfin features:

  • Movie and series streaming
  • Music library
  • Live TV and DVR
  • Multi-user support
  • Mobile and TV apps

Code Repository

Gitea/Forgejo — GitHub Alternative

hljs bash
docker run -d \
  --name gitea \
  -p 3000:3000 \
  -p 222:22 \
  -v gitea_data:/data \
  gitea/gitea:latest

Uptime Monitoring

Uptime Kuma — Uptime Robot Alternative

hljs bash
docker run -d \
  --name uptime-kuma \
  -p 3001:3001 \
  -v uptime_kuma_data:/app/data \
  louislam/uptime-kuma:latest

Automation

n8n — Zapier/Make Alternative

hljs bash
docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER=admin \
  -e N8N_BASIC_AUTH_PASSWORD=password \
  n8nio/n8n:latest

Blog/CMS

Ghost — Medium/WordPress Alternative

hljs bash
docker run -d \
  --name ghost \
  -p 2368:2368 \
  -v ghost_content:/var/lib/ghost/content \
  -e url=https://blog.example.com \
  ghost:latest

Full Self-Hosting Stack with Docker Compose

hljs yaml
version: '3.8'

services:
  nextcloud:
    image: nextcloud:latest
    ports:
      - "8080:80"
    volumes:
      - nextcloud_data:/var/www/html
    environment:
      - MYSQL_HOST=db
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=${DB_PASSWORD}
    depends_on:
      - db

  vaultwarden:
    image: vaultwarden/server:latest
    ports:
      - "8081:80"
    volumes:
      - vaultwarden_data:/data
    environment:
      - DOMAIN=https://vault.example.com
      - SIGNUPS_ALLOWED=false

  jellyfin:
    image: jellyfin/jellyfin:latest
    ports:
      - "8096:8096"
    volumes:
      - /media:/media:ro
      - jellyfin_config:/config

  uptime-kuma:
    image: louislam/uptime-kuma:latest
    ports:
      - "3001:3001"
    volumes:
      - uptime_kuma_data:/app/data

  db:
    image: mariadb:latest
    volumes:
      - db_data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=${DB_PASSWORD}

volumes:
  nextcloud_data:
  vaultwarden_data:
  jellyfin_config:
  uptime_kuma_data:
  db_data:

Hardware Requirements

Use CaseCPURAMStorage
Basic (Vaultwarden + Uptime Kuma)1 vCPU1 GB10 GB
Medium (+ Nextcloud + Gitea)2 vCPU2-4 GB50+ GB
Full Stack (+ Jellyfin + n8n)4 vCPU4-8 GB100+ GB
Media-Heavy (4K streaming)4+ vCPU8+ GB500+ GB

REXE's VDS plans are ideal for getting started with self-hosting. With 2 vCPU and 4 GB RAM, you can comfortably run Nextcloud, Vaultwarden, Gitea, and Uptime Kuma.

Self-Hosting Pros and Cons

Pros

  • Full data control and privacy
  • Long-term cost savings
  • Unlimited customization
  • No dependency on cloud services
  • Learning opportunity

Cons

  • Requires technical knowledge
  • Maintenance and update responsibility
  • Initial setup time
  • Backup responsibility
  • No uptime guarantee (your responsibility)

Frequently Asked Questions

How much technical knowledge is needed for self-hosting?

Basic Linux command line knowledge and understanding how Docker works is sufficient. Most applications can be installed with a few commands using Docker Compose. You can also use visual Docker management tools like Portainer for beginners. Over time, you can make more complex configurations as you gain experience.

Is self-hosting secure?

Yes, when properly configured. Basic security measures: use SSL/TLS certificate, set strong passwords, enable 2FA, do regular updates, configure firewall, and close unnecessary ports. Add extra security layers for sensitive applications like Vaultwarden.

What is the difference between Nextcloud and Google Drive?

Nextcloud offers all the core features of Google Drive (file storage, sync, sharing, calendar, contacts) but your data stays on your own server. With Google Drive, Google can analyze your data. Nextcloud is free and open source, and storage space is only limited by your server's disk capacity.

What is the best starting application for self-hosting?

Vaultwarden (password manager) and Uptime Kuma (monitoring) are recommended for beginners. These applications use few resources, are easy to install, and provide immediate practical benefit. After gaining experience, you can move on to more comprehensive applications like Nextcloud, Gitea, and Jellyfin.

Is using a server in Turkey advantageous for self-hosting?

Yes, especially from a KVKK compliance perspective. Data hosted on a server in Turkey is managed in accordance with Turkish data protection legislation. It also provides low latency for users in Turkey. REXE's Istanbul data center offers ideal infrastructure for self-hosting.

Related Articles

Network TrafficInbound GbpsOutbound Gbps