Skip to content

Latest commit

 

History

History
132 lines (110 loc) · 3.96 KB

File metadata and controls

132 lines (110 loc) · 3.96 KB

Docker Service Templates

This directory contains pre-configured Docker service templates that can be automatically added to your docker-compose.yml file using the init-docker.sh script.

Available Services

📦 Portainer

Container Management UI

  • Web-based Docker management interface
  • Manage containers, images, volumes, and networks
  • Access at: portainer.yourdomain.com

📊 Grafana

Monitoring & Visualization

  • Data visualization and monitoring dashboards
  • Perfect companion for Prometheus
  • Default credentials: admin/admin (change in .env)
  • Access at: grafana.yourdomain.com

☁️ Nextcloud

Personal Cloud Storage

  • Self-hosted cloud storage solution
  • Includes file sync, sharing, and collaboration tools
  • Comes with MariaDB database
  • Access at: nextcloud.yourdomain.com

📚 WikiJS

Modern Wiki Platform

  • Beautiful and powerful wiki software
  • Markdown support, version control
  • Includes PostgreSQL database
  • Access at: wiki.yourdomain.com

🏠 Heimdall

Application Dashboard

  • Elegant dashboard for your services
  • Organize and access all your apps from one place
  • Access at: home.yourdomain.com

📈 Uptime Kuma

Uptime Monitoring

  • Self-hosted monitoring tool
  • Beautiful status pages
  • Notifications for downtime
  • Access at: uptime.yourdomain.com

🔐 Vaultwarden

Password Manager

  • Bitwarden-compatible password manager
  • Lightweight and self-hosted
  • SMTP configuration required for invitations
  • Access at: vault.yourdomain.com

🎬 Jellyfin

Media Server

  • Stream your movies, TV shows, and music
  • Open-source alternative to Plex
  • Hardware transcoding support
  • Access at: jellyfin.yourdomain.com

📸 PhotoPrism

Photo Management

  • AI-powered photo management
  • Automatic tagging and organization
  • Privacy-focused alternative to Google Photos
  • Access at: photos.yourdomain.com

📊 Prometheus

Monitoring System

  • Time-series database for metrics
  • Works great with Grafana
  • Requires configuration file
  • Access at: prometheus.yourdomain.com

💻 Code Server

VS Code in Browser

  • Full VS Code experience in your browser
  • Access your development environment anywhere
  • Password protected
  • Access at: code.yourdomain.com

Usage

The init-docker.sh script will automatically:

  1. List all available templates
  2. Let you select which services to install
  3. Add selected services to your docker-compose.yml
  4. Configure proper Traefik labels for HTTPS

Adding Custom Templates

To add your own service template:

  1. Create a new .yml file in this directory
  2. Follow the existing template format
  3. Include Traefik labels for automatic HTTPS
  4. Add any required environment variables to .env.example

Template Format Example

  service-name:
    image: organization/image:tag
    container_name: service-name
    restart: unless-stopped
    networks:
      - t2_proxy
    environment:
      - VAR_NAME=${ENV_VAR}
    volumes:
      - ./service-name/data:/data
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.service.entrypoints=http"
      - "traefik.http.routers.service.rule=Host(`service.${DOMAIN}`)"
      - "traefik.http.middlewares.service-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.service.middlewares=service-https-redirect"
      - "traefik.http.routers.service-secure.entrypoints=https"
      - "traefik.http.routers.service-secure.rule=Host(`service.${DOMAIN}`)"
      - "traefik.http.routers.service-secure.tls=true"
      - "traefik.http.routers.service-secure.tls.certresolver=cloudflare"
      - "traefik.http.routers.service-secure.service=service"
      - "traefik.http.services.service.loadbalancer.server.port=8080"

Notes

  • All services are configured to work with Traefik reverse proxy
  • HTTPS is automatically configured with Let's Encrypt
  • Services use the t2_proxy Docker network
  • Data persistence is handled through volume mounts
  • Environment variables should be defined in .env file