/homelab

🥼 Self-hosted personal laboratory

Primary LanguageShell

HomeLab

🥼 Self-hosted personal laboratory


Test Deploy pre-commit

Repobeats Analytics Image



🔐 Requirements

  • 🐳 Docker
  • 🐙 Docker Compose



🔧 Setup

  1. 📋 Clone this Repository

    git clone https://github.com/5ouma/homelab.git
  2. 🏔️ Copy the .env.tmpl file to .env and Edit it

    Name Value
    AWS_ACCESS_KEY_ID Cloudflare R2 Access Key ID
    AWS_SECRET_ACCESS_KEY Cloudflare R2 Secret Access Key
    AWS_ENDPOINT Cloudflare R2 Endpoint Domain
    NOTIFICATION_URLS Notification URLs of Shoutrrr Services
  3. 📝 Follow the instructions below


🖥️ Server Setup

🔐 Requirements

  • Arch Linux with yay installed
  • $USER has sudo privilege

📥 Installation

Run the setup script.

bash <(curl https://lab.5ouma.me)

Note

I'm using EndeavourOS


💾 Restore Data

  1. 🗝️ Decrypt the Data

    # Your database password
    gpg -o ./backup.tar.gz -d /path/to/backup.tar.gz.gpg
    tar -xzf ./backup.tar.gz
  2. 🐘 Copy the Database

    docker compose create
    docker compose start database
    docker compose cp ./backup/database/<service>.sql database:/tmp/backup.sql
    docker compose exec database bash -c 'psql -d "$POSTGRES_DB" -U "$POSTGRES_USER" -f /tmp/backup.sql'