Standartized docker-compose files. Added some documentation (AI generated)

This commit is contained in:
2025-08-23 23:18:02 +02:00
parent 550ee9282b
commit 4bde51cb96
18 changed files with 509 additions and 299 deletions

View File

@@ -1 +1,38 @@
All yaml configs using stack.env variables, as they was designed to be used with Portainer
# Docker Projects
This directory contains Docker Compose setups for various self-hosted applications. Each project is in its own directory and includes a `docker-compose.yaml` file and any other necessary configuration files.
Most of these configurations use `.env` files for environment variables. These were designed to be used with Portainer, but can be used with `docker-compose` as well.
## Projects
- [Bookstack](bookstack/README.md)
- [DDNS Cloudflare](ddns-cloudflare/README.md)
- [Garmin Grafana](garmin-grafana/README.md)
- [Guacamole](guacamole/README.md)
- [Heimdall](heimdall/README.md)
- [Homepage](homepage/README.md)
- [Immich](immich/README.md)
- [IT-Tools](it-tools/README.md)
- [Mealie](mealie/README.md)
- [n8n](n8n/README.md)
- [Nextcloud](nextcloud/README.md)
- [Nginx Proxy Manager](nginx-proxy-manager/README.md)
- [pgAdmin](pgadmin/README.md)
- [Portainer](portainer/README.md)
- [Seafile](seafile/README.md)
- [Transmission (haugene-openvpn)](transmission/haugene-openvpn/README.md)
- [Transmission (lscr.io)](transmission/lscr.io/README.md)
- [Vaultwarden](vaultwarden/README.md)
- [Webtop](webtop/README.md)
## Usage
To use these projects, you will need to have Docker and Docker Compose installed. You will also need to create a `.env` file in each project directory with the required environment variables.
Once you have Docker and Docker Compose set up and the `.env` file created, you can start a project using the following command:
```
cd <project_directory>
docker-compose up -d
```

47
bookstack/README.md Normal file
View File

@@ -0,0 +1,47 @@
# Bookstack
[Bookstack](https://www.bookstackapp.com/) is a simple, self-hosted, easy-to-use platform for organizing and storing information.
## Docker Compose Setup
This directory contains a Docker Compose setup for Bookstack.
### Services
- **bookstack**: The Bookstack application itself.
- **bookstack_database**: A MariaDB database for Bookstack.
### Volumes
- `${PATH_TO_CONFIG}`: Stores the Bookstack configuration files.
- `${PATH_TO_DB}`: Stores the MariaDB database files.
### Ports
- `6875:80`: The Bookstack application is accessible on port 6875.
## Usage
1. Create a `.env` file with the following variables:
```
# Password for bookstack MySQL user
DB_USER_PASS=<your_strong_pass>
# Password for root MySQL user
DB_ROOT_PASS=<your_strongest_pass>
# Directory, where the bookstack itself will store the files
PATH_TO_CONFIG=/path/to/bookstack/config
# Directory, where MySQL data will be stored
PATH_TO_DB=/path/to/db/data
# Your timezone
TZ=Europe/Warsaw
# The IP:port or URL your application will be accessed on (ie. http://192.168.1.1:6875 or https://bookstack.mydomain.com
APP_URL=https://bookstack.example.com
```
2. Run `docker-compose up -d` to start the containers.

31
ddns-cloudflare/README.md Normal file
View File

@@ -0,0 +1,31 @@
# Cloudflare DDNS
This directory contains a Docker Compose setup for a Cloudflare DDNS client.
This service will automatically update your Cloudflare DNS records with your public IP address.
## Docker Compose Setup
### Services
- **cloudflare-ddns**: The Cloudflare DDNS client.
### Environment Variables
- `CLOUDFLARE_API_TOKEN`: Your Cloudflare API token.
- `DOMAINS`: A comma-separated list of domains to update.
- `PROXIED`: Whether or not to proxy the domains through Cloudflare.
## Usage
1. Create a `.env` file with the following variables:
```
# Cloudflare API key. User -> My Profile -> API tokens
CLOUDFLARE_API_TOKEN=your_api_key
# Cloudflare zone, which will be used. Dashboard -> Web Sites
DOMAINS=your_domains
```
2. Run `docker-compose up -d` to start the container.

41
garmin-grafana/README.md Normal file
View File

@@ -0,0 +1,41 @@
# Garmin Grafana
This directory contains a Docker Compose setup for a Garmin Grafana dashboard.
This setup will fetch your Garmin Connect data and store it in an InfluxDB database. You can then use Grafana to visualize the data.
## Docker Compose Setup
### Services
- **garmin-fetch-data**: Fetches your Garmin Connect data and stores it in InfluxDB.
- **influxdb**: An InfluxDB database for storing your Garmin Connect data.
- **grafana**: A Grafana instance for visualizing your Garmin Connect data.
### Volumes
- `${GARMINCONNECT_TOKENS}`: Stores the Garmin Connect tokens.
- `influxdb_data`: Stores the InfluxDB database files.
- `grafana_data`: Stores the Grafana configuration files.
### Ports
- `8086:8086`: The InfluxDB API is accessible on port 8086.
- `3000:3000`: The Grafana web interface is accessible on port 3000.
## Usage
1. Create a `.env` file with the following variables:
```
# Your Garmin Connect email address
GARMINCONNECT_EMAIL=<your_email>
# Your Garmin Connect password, base64 encoded
GARMINCONNECT_PASSWORD=<your_base64_encoded_password>
# Path to a directory where the Garmin Connect tokens will be stored
GARMINCONNECT_TOKENS=/path/to/garminconnect/tokens
```
2. Run `docker-compose up -d` to start the containers.

30
guacamole/README.md Normal file
View File

@@ -0,0 +1,30 @@
# Guacamole
[Guacamole](https://guacamole.apache.org/) is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.
This directory contains a Docker Compose setup for Guacamole.
## Docker Compose Setup
### Services
- **guacamole**: The Guacamole application.
### Volumes
- `${PATH_TO_CONFIG}`: Stores the Guacamole configuration files.
### Ports
- `8080:8080`: The Guacamole web interface is accessible on port 8080.
## Usage
1. Create a `.env` file with the following variables:
```
# Path to a directory where the Guacamole configuration files will be stored
PATH_TO_CONFIG=/path/to/guacamole/config
```
2. Run `docker-compose up -d` to start the container.

24
heimdall/README.md Normal file
View File

@@ -0,0 +1,24 @@
# Heimdall
[Heimdall](https://heimdall.site/) is a dashboard for all your web applications.
This directory contains a Docker Compose setup for Heimdall.
## Docker Compose Setup
### Services
- **heimdall**: The Heimdall application.
### Volumes
- `/home/mbuz/docker/heimdall/config:/config`: Stores the Heimdall configuration files. You should change this to a path on your own system.
### Ports
- `80:80`: The Heimdall web interface is accessible on port 80.
- `443:443`: The Heimdall web interface is accessible on port 443.
## Usage
1. Run `docker-compose up -d` to start the container.