The Wayback Machine - https://web.archive.org/web/20230106093511/https://github.com/alexpdr/apps-server
Skip to content

alexpdr/apps-server

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time

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.