Giter Site home page Giter Site logo

old-adapdr / apps-server Goto Github PK

View Code? Open in Web Editor NEW
23.0 3.0 2.0 154 KB

A container based home development server, just copy over dist.* files, set the .env and get rolling!

Shell 47.66% Python 52.34%
traefik docker docker-compose drone-ci minio nextcloud portainer-ce n8n matomo docker-registry-v2

apps-server's Introduction

Home (development) Server

Open-source fueled apps, services and tools for a self hosting & development.

Overview

The templates are grouped into three types:

  • core: Required core services to deploy & manage other services
  • services: Single service templates
  • stacks: Multi-service templates

Core

  • gateway | traefik: Container native proxy & service gateway
  • admin | portainer: Container native monitoring and administration interface

Services:

  • vault | vaultwarden: Open-source rust implementation of the password manager bitwarden
  • storage | minio: Open-source object storage
  • automations | n8n: Open-source integration & flow based automation tool
  • registry: Docker container registry
  • ctc: Container Test Case to confirm deployment & letsencrypt certificate generation

Stacks:

  • ci | drone: Open-source CI/CD pipeline and deployment powered by community integrations
  • cloud | nextcloud: Open-source GCloud/Dropbox alternative
  • writeups | ghost: Open-source publication tool and wordpress alternative
  • analytics | matomo: Open-source GDPR compliant analytics platform

W.I.P.

  • deploy: A generalized way to auto-deploy new verified updates (Either via script alone or together with TerraForm)
  • backups: A generalized way to backup and manage the system
  • logs & metrics: A generalized way to view and manage logs (Prometheus)
  • security: A generalized way to scan the deployed VLANs and services for malicious activity. (TemplarBit?)

Setup

Requirements

  • Note all DOMAIN variables are without HTTP(S) prefix!

    • Valid domain: vault.hs.example.com
    • Invalid doman: https://vault.hs.example.com
  • DNS A record with a wildcard sub.domain.tld pointing towards the server

  • Domain & global storage .env variables are required for the gateway and letsencrypt to work

  • A server with at least 2 core CPU and 4GB of RAM

    • Note: Start-up may require more RAM or slow-down with only 2 cores/CPUs
    • Note: Varies depending on load, usage and number of services currently running
    • Note: Once deployed, all current services requires ~2.1GB of RAM

Configuration & Deployment

The gateway detects and auto-adds new services as they're deployed so it should be deployed first with either option!

Automatic deployment

  • New and improved auto-deploy to be added in the future =)

Manual deployment

  1. Copy dist.env and dist.docker-compose.yml files for core with your preferred configuration
  2. Pull and start core services with docker-compose up from the service directory and verify that they're running (with letsencrypt provided SSL certs)
  3. Copy dist.env and dist.docker-compose.yml files for your preferred service/stack setup
  4. Pull and start preferred services with docker-compose up -d from the serviec directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.