apps-server
apps-server copied to clipboard
A container based home development server, just copy over dist.* files, set the .env and get rolling!
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 servicesservices: Single service templatesstacks: Multi-service templates
Core
gateway|traefik: Container native proxy & service gatewayadmin|portainer: Container native monitoring and administration interface
Services:
vault|vaultwarden: Open-source rust implementation of the password manager bitwardenstorage|minio: Open-source object storageautomations|n8n: Open-source integration & flow based automation toolregistry: Docker container registryctc: Container Test Case to confirm deployment & letsencrypt certificate generation
Stacks:
ci|drone: Open-source CI/CD pipeline and deployment powered by community integrationscloud|nextcloud: Open-source GCloud/Dropbox alternativewriteups|ghost: Open-source publication tool and wordpress alternativeanalytics|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 systemlogs & 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
DOMAINvariables are without HTTP(S) prefix!- Valid domain:
vault.hs.example.com - Invalid doman:
https://vault.hs.example.com
- Valid domain:
-
DNS
Arecord with a wildcardsub.domain.tldpointing towards the server -
Domain & global storage
.envvariables 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
- Copy
dist.envanddist.docker-compose.ymlfiles for core with your preferred configuration - Pull and start core services with
docker-compose upfrom the service directory and verify that they're running (with letsencrypt provided SSL certs) - Copy
dist.envanddist.docker-compose.ymlfiles for your preferred service/stack setup - Pull and start preferred services with
docker-compose up -dfrom the serviec directory.