https://github.com/vidjinnangni/selfhosted-docker
A collection of docker-compose.yaml files to easily self-host popular open-source services.
https://github.com/vidjinnangni/selfhosted-docker
docker docker-compose docker-compose-files self-hostable self-hosted self-hosting
Last synced: 5 months ago
JSON representation
A collection of docker-compose.yaml files to easily self-host popular open-source services.
- Host: GitHub
- URL: https://github.com/vidjinnangni/selfhosted-docker
- Owner: vidjinnangni
- License: mit
- Created: 2025-06-15T16:45:33.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-15T21:41:55.000Z (5 months ago)
- Last Synced: 2026-01-16T00:49:33.109Z (5 months ago)
- Topics: docker, docker-compose, docker-compose-files, self-hostable, self-hosted, self-hosting
- Homepage:
- Size: 6.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# selfhosted-docker
A collection of `docker-compose.yaml` files to easily self-host popular open-source services.
[](LICENSE)
[](https://github.com/ton-utilisateur/selfhosted-docker/commits/main)
[](https://github.com/ton-utilisateur/selfhosted-docker/pulls)
[](https://github.com/ton-utilisateur/selfhosted-docker/stargazers)
[](https://github.com/apps/renovate)
[](https://conventionalcommits.org)
---
## Table of Contents
- [Available Services](#available-services)
- [Requirements](#requirements)
- [Usage](#usage)
- [Docker Image Tags](#docker-image-tags)
- [Volume Paths](#volume-paths)
- [Contributions](#contributions)
---
## Available Services
Click on each link to view its `docker-compose.yaml` and setup instructions:
### Utilities
| Service | Link |
|----------------|---------------------------------|
| File Browser | [file_browser](./file_browser/) |
| It-tools | [it-tools](./it-tools/) |
| Linkwarden | [linkwarden](./linkwarden/) |
| n8n | [wallos](./n8n/) |
| Wallos | [wallos](./wallos/) |
### DevOps & Management
| Service | Link |
|------------------|-------------------------------------------|
| Gitea | [gitea](./gitea/) |
| Gitea Runner | [gitea-act-runner](./gitea-act-runner/) |
| Portainer | [portainer](./portainer/) |
| Homepage | [homepage](./homepage/) |
### Networking & Proxy
| Service | Link |
|------------------------|-----------------------------|
| Nginx Proxy Manager | [npm](./npm/) |
| Pi-hole | [pihole](./pihole/) |
### Security
| Service | Link |
|--------------|---------------------------------|
| Vaultwarden | [vaultwarden](./vaultwarden/) |
### Storage & File Sync
| Service | Link |
|-------------|-------------------------------|
| Nextcloud | [nextcloud](./nextcloud/) |
| MinIO | [minIO](./minIO/) |
### Databases & Admin
| Service | Link |
|-------------|-------------------------------|
| MariaDB | [mariadb](./mariadb/) |
| MySQL | [mysql](./mysql/) |
| PostgreSQL | [postgresql](./postgresql/) |
| pgAdmin | [pgadmin](./pgadmin/) |
### Media & Content
| Service | Link |
|----------------|-------------------------------|
| Jellyfin | [jellyfin](./jellyfin/) |
| Jellyseerr | [jellyseerr](./jellyseerr/) |
| qBittorrent | [qbittorrent](./qbittorrent/) |
| Kavita | [kavita](./kavita/) |
| FreshRSS | [freshrss](./freshrss/) |
> [!NOTE]
> **More services will be added over time.** Feel free to contribute via pull requests!
---
## Requirements
- Docker
- Docker Compose
- Linux/Unix/Windows machine (VPS, home server, NAS, etc.)
## Usage
We suggest organizing your services like this:
```plaintext
/opt/selfhost/docker/
├── services/
│ ├── vaultwarden/
│ │ └── docker-compose.yaml
│ ├── nextcloud/
│ ├── jellyfin/
│ └── ...
│
```
To run a service:
```bash
cd /opt/selfhost/docker/services/vaultwarden
docker compose up -d
```
> [!TIP]
> If the folder contains a .env file, copy it and adjust settings before starting the container.
## Docker Image Tags
This repository uses versioned Docker image tags (**SemVer**) instead of latest to ensure consistency and reproducibility.
Additionally, all images are pinned with **SHA256** digests using _Renovate_.
This guarantees that pulling the same docker-compose.yaml always results in the same image build, even if upstream changes occur.
Example:
```yaml
image: nextcloud@sha256:9f0aab9e...
```
> _Renovate_ automatically checks for updates and opens pull requests when a new version (with updated digest) is available.
## Volume Paths
> [!NOTE]
> The local volume paths in each docker-compose.yaml (like ./data:/data, ./db:/var/lib/mysql, etc.) are only examples.
> You can adapt the paths to whatever suits your environment, for instance:
```yaml
- /mnt/docker-data/nextcloud:/data
- /srv/services/vaultwarden/data:/data
- ~/docker/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
```
Make sure that:
- The folders exist or will be created automatically
- The Docker engine has access to them
---
## Contributions
Pull requests are welcome!
To contribute:
- Create a new folder under services/
- Add a clean, minimal `docker-compose.yaml`
- Optionally include a `.env` example file and a short `README.md`
- Avoid including reverse proxy setup unless strictly required
Let’s build a simple, useful reference for the self-hosting community 🚀