Skip to content

cesarMalanco/Self-Host-Stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ Self-Host-Stack

Docker Linux License

A multi-container stack for self-hosting services: Mail Server, Nextcloud, PBX, and Reverse Proxy. Designed for learning, testing, and private deployments.

License

This project is licensed under the MIT License. See the LICENSE file for details.

🎯 About The Project

Self-Host-Stack demonstrates how to run and connect multiple network services using Docker Compose. It includes:

  • Mail Server (Docker Mailserver + Roundcube)
  • Nextcloud (with MariaDB, Redis, Nginx)
  • PBX (Asterisk)
  • Reverse Proxy (Nginx + Node.js backend)

All services use example data and are ready for local testing or further customization.


✨ Features

Service Type Description Auth Required
Mail Server SMTP/IMAP + Webmail Email server with webmail (Roundcube)
Nextcloud File Cloud Private cloud storage and collaboration
PBX VoIP (Asterisk) SIP extensions and basic dialplan
Reverse Proxy Nginx + Node.js HTTP proxy and backend demo

📁 Project Structure

mail-server/
  docker-compose.yml
  docker-data/
    dms/
      setup.sh
    mysql/
    roundcube/
nextcloud/
  docker-compose.yml
  nginx.conf
  config/
  data/
  db/
  ssl/
pbx/
  docker-compose.yml
  asterisk/
    extensions.conf
    modules.conf
    rtp.conf
    sip.conf
reverse-proxy/
  docker-compose.yml
  backend/
    Dockerfile
    package.json
    server.js
  nginx/
    nginx.conf

🚀 Quick Start

Prerequisites

Requirement Version Download
Docker Latest Download
Docker Compose Latest Download

Clone the Repository

git clone https://github.com/cesarMalanco/Self-Host-Stack.git
cd Self-Host-Stack

🔧 Service Instructions

1. Mail Server

  • Go to the mail-server directory:
    cd mail-server
    docker-compose up --build -d
  • Access Roundcube webmail at http://localhost:8080.
  • Example credentials are set in the config files. Change them for production use.

2. Nextcloud

  • Go to the nextcloud directory:
    cd ../nextcloud
    docker-compose up --build -d
  • Access Nextcloud at http://localhost or https://localhost (SSL config uses example certs).
  • Default database and user credentials are examples. Update for production.

3. PBX (Asterisk)

  • Go to the pbx directory:
    cd ../pbx
    docker-compose up --build -d
  • SIP extensions and dialplan are defined in asterisk/sip.conf and asterisk/extensions.conf.
  • Use a SIP client to connect to example extensions (see config for details).

4. Reverse Proxy

  • Go to the reverse-proxy directory:
    cd ../reverse-proxy
    docker-compose up --build -d
  • Nginx listens on port 80 and proxies requests to the Node.js backend.
  • Access the backend demo at http://localhost.

💻 Usage & Customization

  • All configuration files use example data. Replace with your own domains, passwords, and settings for production.
  • Each service can be started independently or together.
  • Modify configs to add more features or integrate with other services.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.


👤 Author

César Malanco

GitHub

Built with ❤️ using Docker and Linux

About

A Docker Compose stack demonstrating self-hosted Mail, Nextcloud, PBX, and reverse-proxy services.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors