vps-powered-by-docker
vps-powered-by-docker copied to clipboard
Arch Linux setup script to obtain a full VPS with Automatic Reverse Proxy (and more) without pain
vps-powered-by-docker
Arch Linux setup script to obtain a full VPS with Automatic Reverse Proxy without pain
Stack
- IPv4/IPv6 support ( Dual Stack )
- Docker
- CenturyLinkLabs/watchtower as the Docker auto-update manager
- julianxhokaxhiu/docker-nginx-reloaded as Reverse Proxy Docker container with Nginx, acme.sh and DNS on docker0
Modules
- ampache ( ampache.lan.sh )
- Atlassian Stack: JIRA + Confluence + BitBucket Server ( atlassian.lan.sh )
- DNS Server ( dns.lan.sh )
- goaccess ( goaccess.lan.sh )
- gogs ( gogs.lan.sh )
- koel ( koel.lan.sh )
- Lineage CI/CD + OTA ( lineage.lan.sh )
- Poste ( mail.lan.sh )
- Nextcloud ( nextcloud.lan.sh )
- ownCloud ( owncloud.lan.sh )
- Portainer ( portainer.lan.sh )
- Rainloop ( rainloop.lan.sh )
- Typo3 ( typo3.lan.sh )
- UI for Docker ( ui-for-docker.lan.sh )
- WebDAV ( webdav.lan.sh )
- Winds ( winds.lan.sh )
Requirements
A clean Arch Linux install with SSH capability as root user ( or any user which has sudo powers ).
Installation
wget https://github.com/julianxhokaxhiu/vps-powered-by-docker/archive/master.zip
unzip master.zip && cd vps-powered-by-docker-master
find ./ -name "*.sh" -exec chmod +x {} \;
LETSENCRYPT_ENABLE=1 LETSENCRYPT_EMAIL="[email protected]" ./install.sh
Remember to configure with the right email the
LETSENCRYPT_EMAIL
environment variable. If you don't want LETSENCRYPT at all, you can disable this part by setting LETSENCRYPT_ENABLE=0
Module setup
Edit the configuration variables to fit your needs, inside every module, then
./modules/<module_name>.sh
# example ./modules/mail.lan.sh
WARNING: Within this stack every module will get an automatic LE HTTPS certificate, if the FQDN is accepted on LE side. If yes, your HTTP domain will be redirected to HTTPS in automatic as soon as the certificate is there.
Performance monitoring
Take a look at your Docker status thanks to this awesome CLI tool called ctop.
Disclaimer
- The mapping of the domains to the Host IP is considered done already externally to this project ( through DNS Server or statically inside your
hosts
file )