This project provides a collection of Docker-compose files and configurations for running various services in a home lab environment.
- Root access
- Time
- Patience
- Server running Ubuntu Server 22.04.3 LTS1
- Clone this repository:
$ git clone https://github.com/wbreiler/homelab-docker.git
- Navigate to the project directory:
$ cd homelab-docker
-
Customize the files in /containers2
-
Run the setup script, and follow the prompts:
$ sh scripts/setup.sh
- If you wish to only run a specific container3, or don't want to install Cockpit4:
$ cd containers
$ docker compose -f [compose file] up -d
Below is a few of the services that are contained in containers/
dashboard.yml
is a dashboard for all of the services, so you don't have to remember all the IPs and ports. GitHubgitea.yml
is a locally hosted Git instance, similar to GitHub or GitLab. GitHub Websiteuptimekuma.yml
is a self-hosted uptime monitor, with support for Discord, Slack, and SMS notifications. GitHub
Contributions are welcome! Please fork this repository and submit a pull request with your changes.
This project is licensed under the MIT License.
1: setup.sh
is written with Debian-based distros in mind. Therefore, it should work with Debian, Ubuntu, and their variants. If you wish to create a PR or fork with support for other distros, go for it!
2: Some of the docker-compose files in ./containers assume that there's a /mnt/dockerdata
directory. If you either don't have that directory, or it's under a different location/name, update the file(s) accordingly.
3: If you wish to run multiple containers, you have to pass them each as their own -f [FileName.yml]
option, otherwise Docker Compose will error out.
4: Right now, if you select "no" on any of the installation prompts in setup.sh
, it closes the script out. If you're aware of a way to make it just skip that installer and move on, create a PR!