Standartized docker-compose files. Added some documentation (AI generated)
This commit is contained in:
39
README.md
39
README.md
@@ -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
47
bookstack/README.md
Normal 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
31
ddns-cloudflare/README.md
Normal 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.
|
||||||
@@ -1,37 +1,37 @@
|
|||||||
services:
|
services:
|
||||||
cloudflare-ddns:
|
cloudflare-ddns:
|
||||||
image: favonia/cloudflare-ddns:latest
|
image: favonia/cloudflare-ddns:latest
|
||||||
container_name: cloudflare-ddns
|
container_name: cloudflare-ddns
|
||||||
env_file: .env
|
env_file: .env
|
||||||
# Choose the appropriate tag based on your need:
|
# Choose the appropriate tag based on your need:
|
||||||
# - "latest" for the latest stable version (which could become 2.x.y
|
# - "latest" for the latest stable version (which could become 2.x.y
|
||||||
# in the future and break things)
|
# in the future and break things)
|
||||||
# - "1" for the latest stable version whose major version is 1
|
# - "1" for the latest stable version whose major version is 1
|
||||||
# - "1.x.y" to pin the specific version 1.x.y
|
# - "1.x.y" to pin the specific version 1.x.y
|
||||||
network_mode: host
|
network_mode: host
|
||||||
# This bypasses network isolation and makes IPv6 easier (optional; see below)
|
# This bypasses network isolation and makes IPv6 easier (optional; see below)
|
||||||
restart: always
|
restart: always
|
||||||
# Restart the updater after reboot
|
# Restart the updater after reboot
|
||||||
user: "1000:1000"
|
user: "1000:1000"
|
||||||
# Run the updater with specific user and group IDs (in that order).
|
# Run the updater with specific user and group IDs (in that order).
|
||||||
# You can change the two numbers based on your need.
|
# You can change the two numbers based on your need.
|
||||||
read_only: true
|
read_only: true
|
||||||
# Make the container filesystem read-only (optional but recommended)
|
# Make the container filesystem read-only (optional but recommended)
|
||||||
cap_drop: [all]
|
cap_drop: [all]
|
||||||
# Drop all Linux capabilities (optional but recommended)
|
# Drop all Linux capabilities (optional but recommended)
|
||||||
security_opt: [no-new-privileges:true]
|
security_opt: [no-new-privileges:true]
|
||||||
# Another protection to restrict superuser privileges (optional but recommended)
|
# Another protection to restrict superuser privileges (optional but recommended)
|
||||||
environment:
|
environment:
|
||||||
- CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN}
|
- CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN}
|
||||||
# Your Cloudflare API token
|
# Your Cloudflare API token
|
||||||
- DOMAINS=${DOMAINS}
|
- DOMAINS=${DOMAINS}
|
||||||
# Your domains (separated by commas)
|
# Your domains (separated by commas)
|
||||||
- PROXIED=true
|
- PROXIED=true
|
||||||
# Tell Cloudflare to cache webpages and hide your IP (optional)
|
# Tell Cloudflare to cache webpages and hide your IP (optional)
|
||||||
#networks:
|
#networks:
|
||||||
# LAN0:
|
# LAN0:
|
||||||
# external: true
|
# external: true
|
||||||
# name: LAN0
|
# name: LAN0
|
||||||
# Introduce custom Docker networks to the 'services' in this file. A common use case
|
# Introduce custom Docker networks to the 'services' in this file. A common use case
|
||||||
# for this is binding one of the 'services' to a specific network interface available at
|
# for this is binding one of the 'services' to a specific network interface available at
|
||||||
# Docker's host. This section is required for the 'networks' section of each 'services'.
|
# Docker's host. This section is required for the 'networks' section of each 'services'.
|
||||||
41
garmin-grafana/README.md
Normal file
41
garmin-grafana/README.md
Normal 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.
|
||||||
@@ -1,52 +1,52 @@
|
|||||||
services:
|
services:
|
||||||
garmin-fetch-data:
|
garmin-fetch-data:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: thisisarpanghosh/garmin-fetch-data:latest
|
image: thisisarpanghosh/garmin-fetch-data:latest
|
||||||
container_name: garmin-fetch-data
|
container_name: garmin-fetch-data
|
||||||
depends_on:
|
depends_on:
|
||||||
- influxdb
|
- influxdb
|
||||||
volumes:
|
volumes:
|
||||||
- ${GARMINCONNECT_TOKENS}:/home/appuser/.garminconnect # (persistant tokens storage - garminconnect-tokens folder must be owned by 1000:1000)
|
- ${GARMINCONNECT_TOKENS}:/home/appuser/.garminconnect # (persistant tokens storage - garminconnect-tokens folder must be owned by 1000:1000)
|
||||||
environment:
|
environment:
|
||||||
- INFLUXDB_HOST=influxdb
|
- INFLUXDB_HOST=influxdb
|
||||||
- INFLUXDB_PORT=8086
|
- INFLUXDB_PORT=8086
|
||||||
- INFLUXDB_USERNAME=influxdb_user
|
- INFLUXDB_USERNAME=influxdb_user
|
||||||
- INFLUXDB_PASSWORD=influxdb_secret_password
|
- INFLUXDB_PASSWORD=influxdb_secret_password
|
||||||
- INFLUXDB_DATABASE=GarminStats
|
- INFLUXDB_DATABASE=GarminStats
|
||||||
- UPDATE_INTERVAL_SECONDS=300
|
- UPDATE_INTERVAL_SECONDS=300
|
||||||
- LOG_LEVEL=INFO
|
- LOG_LEVEL=INFO
|
||||||
- GARMINCONNECT_EMAIL=${GARMINCONNECT_EMAIL}
|
- GARMINCONNECT_EMAIL=${GARMINCONNECT_EMAIL}
|
||||||
- GARMINCONNECT_BASE64_PASSWORD=${GARMINCONNECT_PASSWORD} # (must be base64 encoded)
|
- GARMINCONNECT_BASE64_PASSWORD=${GARMINCONNECT_PASSWORD} # (must be base64 encoded)
|
||||||
|
|
||||||
|
|
||||||
influxdb:
|
influxdb:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
container_name: influxdb
|
container_name: influxdb
|
||||||
hostname: influxdb
|
hostname: influxdb
|
||||||
environment:
|
environment:
|
||||||
- INFLUXDB_DB=GarminStats
|
- INFLUXDB_DB=GarminStats
|
||||||
- INFLUXDB_USER=influxdb_user
|
- INFLUXDB_USER=influxdb_user
|
||||||
- INFLUXDB_USER_PASSWORD=influxdb_secret_password
|
- INFLUXDB_USER_PASSWORD=influxdb_secret_password
|
||||||
- INFLUXDB_DATA_INDEX_VERSION=tsi1
|
- INFLUXDB_DATA_INDEX_VERSION=tsi1
|
||||||
ports:
|
ports:
|
||||||
- '8086:8086'
|
- '8086:8086'
|
||||||
volumes:
|
volumes:
|
||||||
- influxdb_data:/var/lib/influxdb
|
- influxdb_data:/var/lib/influxdb
|
||||||
image: 'influxdb:1.11'
|
image: 'influxdb:1.11'
|
||||||
|
|
||||||
grafana:
|
grafana:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
container_name: grafana
|
container_name: grafana
|
||||||
hostname: grafana
|
hostname: grafana
|
||||||
environment:
|
environment:
|
||||||
- GF_SECURITY_ADMIN_USER=admin
|
- GF_SECURITY_ADMIN_USER=admin
|
||||||
- GF_SECURITY_ADMIN_PASSWORD=admin
|
- GF_SECURITY_ADMIN_PASSWORD=admin
|
||||||
volumes:
|
volumes:
|
||||||
- grafana_data:/var/lib/grafana
|
- grafana_data:/var/lib/grafana
|
||||||
ports:
|
ports:
|
||||||
- '3000:3000'
|
- '3000:3000'
|
||||||
image: 'grafana/grafana:latest'
|
image: 'grafana/grafana:latest'
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
influxdb_data:
|
influxdb_data:
|
||||||
grafana_data:
|
grafana_data:
|
||||||
30
guacamole/README.md
Normal file
30
guacamole/README.md
Normal 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
24
heimdall/README.md
Normal 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.
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
version: "2.1"
|
version: "2.1"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
heimdall:
|
heimdall:
|
||||||
image: lscr.io/linuxserver/heimdall:latest
|
image: lscr.io/linuxserver/heimdall:latest
|
||||||
container_name: heimdall
|
container_name: heimdall
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Europe/Warsaw
|
- TZ=Europe/Warsaw
|
||||||
volumes:
|
volumes:
|
||||||
- /home/mbuz/docker/heimdall/config:/config
|
- /home/mbuz/docker/heimdall/config:/config
|
||||||
ports:
|
ports:
|
||||||
- 80:80
|
- 80:80
|
||||||
- 443:443
|
- 443:443
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
services:
|
services:
|
||||||
it-tools:
|
it-tools:
|
||||||
image: 'corentinth/it-tools:latest'
|
image: 'corentinth/it-tools:latest'
|
||||||
ports:
|
ports:
|
||||||
- '8182:80' # change if needed
|
- '8182:80' # change if needed
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
container_name: it-tools
|
container_name: it-tools
|
||||||
@@ -1,33 +1,33 @@
|
|||||||
services:
|
services:
|
||||||
mealie-frontend:
|
mealie-frontend:
|
||||||
image: hkotel/mealie:latest
|
image: hkotel/mealie:latest
|
||||||
container_name: mealie-frontend
|
container_name: mealie-frontend
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
# Set Frontend ENV Variables Here
|
# Set Frontend ENV Variables Here
|
||||||
- API_URL=http://mealie-api:9000
|
- API_URL=http://mealie-api:9000
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "9925:3000"
|
- "9925:3000"
|
||||||
volumes:
|
volumes:
|
||||||
- ${DATA_FOLDER}/mealie:/app/data/
|
- ${DATA_FOLDER}/mealie:/app/data/
|
||||||
mealie-api:
|
mealie-api:
|
||||||
image: hkotel/mealie:api-v1.0.0beta-5
|
image: hkotel/mealie:api-v1.0.0beta-5
|
||||||
container_name: mealie-api
|
container_name: mealie-api
|
||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
memory: 1024M
|
memory: 1024M
|
||||||
volumes:
|
volumes:
|
||||||
- ${DATA_FOLDER}/mealie:/app/data/
|
- ${DATA_FOLDER}/mealie:/app/data/
|
||||||
environment:
|
environment:
|
||||||
# Set Backend ENV Variables Here
|
# Set Backend ENV Variables Here
|
||||||
- ALLOW_SIGNUP=true
|
- ALLOW_SIGNUP=true
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Europe/Warsaw
|
- TZ=Europe/Warsaw
|
||||||
- MAX_WORKERS=1
|
- MAX_WORKERS=1
|
||||||
- WEB_CONCURRENCY=1
|
- WEB_CONCURRENCY=1
|
||||||
- BASE_URL=${BASE_URL}
|
- BASE_URL=${BASE_URL}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -1,22 +1,22 @@
|
|||||||
services:
|
services:
|
||||||
mealie:
|
mealie:
|
||||||
image: ghcr.io/mealie-recipes/mealie:latest #
|
image: ghcr.io/mealie-recipes/mealie:latest #
|
||||||
container_name: mealie
|
container_name: mealie
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "9925:9000" #
|
- "9925:9000" #
|
||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
memory: 1000M #
|
memory: 1000M #
|
||||||
volumes:
|
volumes:
|
||||||
- ${DATA_FOLDER}:/app/data/
|
- ${DATA_FOLDER}:/app/data/
|
||||||
environment:
|
environment:
|
||||||
# Set Backend ENV Variables Here
|
# Set Backend ENV Variables Here
|
||||||
ALLOW_SIGNUP: "false"
|
ALLOW_SIGNUP: "false"
|
||||||
PUID: 1000
|
PUID: 1000
|
||||||
PGID: 1000
|
PGID: 1000
|
||||||
TZ: Europe/Warsaw
|
TZ: Europe/Warsaw
|
||||||
BASE_URL: ${YOUR_DOMAIN:-https://mealie.yourdomain.com}
|
BASE_URL: ${YOUR_DOMAIN:-https://mealie.yourdomain.com}
|
||||||
@@ -1,21 +1,21 @@
|
|||||||
services:
|
services:
|
||||||
n8n:
|
n8n:
|
||||||
image: docker.n8n.io/n8nio/n8n
|
image: docker.n8n.io/n8nio/n8n
|
||||||
container_name: n8n
|
container_name: n8n
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- 5678:5678
|
- 5678:5678
|
||||||
environment:
|
environment:
|
||||||
- N8N_HOST=${DOMAIN}
|
- N8N_HOST=${DOMAIN}
|
||||||
- N8N_PORT=5678
|
- N8N_PORT=5678
|
||||||
- N8N_PROTOCOL=https
|
- N8N_PROTOCOL=https
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
- WEBHOOK_URL=https://${DOMAIN}/
|
- WEBHOOK_URL=https://${DOMAIN}/
|
||||||
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
|
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
|
||||||
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
|
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
|
||||||
- N8N_RUNNERS_ENABLED=true
|
- N8N_RUNNERS_ENABLED=true
|
||||||
volumes:
|
volumes:
|
||||||
- n8n_data:/home/node/.n8n
|
- n8n_data:/home/node/.n8n
|
||||||
- ${PATH_TO_FILES}:/files
|
- ${PATH_TO_FILES}:/files
|
||||||
volumes:
|
volumes:
|
||||||
n8n_data:
|
n8n_data:
|
||||||
@@ -1,48 +1,48 @@
|
|||||||
version: '3.3'
|
version: '3.3'
|
||||||
services:
|
services:
|
||||||
nextcloud:
|
nextcloud:
|
||||||
image: lscr.io/linuxserver/nextcloud:latest
|
image: lscr.io/linuxserver/nextcloud:latest
|
||||||
container_name: nextcloud
|
container_name: nextcloud
|
||||||
env_file:
|
env_file:
|
||||||
- stack.env
|
- stack.env
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT}
|
- PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT}
|
||||||
- PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT}
|
- PHP_UPLOAD_LIMIT=${PHP_UPLOAD_LIMIT}
|
||||||
- TZ=${TZ}
|
- TZ=${TZ}
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${CONFIG}:/config
|
- ${CONFIG}:/config
|
||||||
- ${DATA}:/data
|
- ${DATA}:/data
|
||||||
ports:
|
ports:
|
||||||
- 5443:443
|
- 5443:443
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
links:
|
links:
|
||||||
- nextcloud-mariadb
|
- nextcloud-mariadb
|
||||||
depends_on:
|
depends_on:
|
||||||
- nextcloud-mariadb
|
- nextcloud-mariadb
|
||||||
|
|
||||||
nextcloud-mariadb:
|
nextcloud-mariadb:
|
||||||
image: lscr.io/linuxserver/mariadb:latest
|
image: lscr.io/linuxserver/mariadb:latest
|
||||||
container_name: nextloud-mariadb
|
container_name: nextloud-mariadb
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=${TZ}
|
- TZ=${TZ}
|
||||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
- MYSQL_DATABASE=nextcloud
|
- MYSQL_DATABASE=nextcloud
|
||||||
- MYSQL_USER=nextcloud
|
- MYSQL_USER=nextcloud
|
||||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${MARIADB}:/config
|
- ${MARIADB}:/config
|
||||||
ports:
|
ports:
|
||||||
- 5306:3306
|
- 5306:3306
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
name: nextcloud
|
name: nextcloud
|
||||||
driver: bridge
|
driver: bridge
|
||||||
@@ -1,37 +1,37 @@
|
|||||||
services:
|
services:
|
||||||
transmission-openvpn:
|
transmission-openvpn:
|
||||||
image: haugene/transmission-openvpn
|
image: haugene/transmission-openvpn
|
||||||
container_name: transmission-openvpn
|
container_name: transmission-openvpn
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
memory: 2G # adjust to your needs
|
memory: 2G # adjust to your needs
|
||||||
cap_add:
|
cap_add:
|
||||||
- NET_ADMIN
|
- NET_ADMIN
|
||||||
volumes:
|
volumes:
|
||||||
- ${PATH_TO_CONFIG}:/config
|
- ${PATH_TO_CONFIG}:/config
|
||||||
- ${PATH_TO_DOWNLOADS}:/data # optional
|
- ${PATH_TO_DOWNLOADS}:/data # optional
|
||||||
- ${PATH_TO_WATCH_FOLDER}:/data/watch # optional
|
- ${PATH_TO_WATCH_FOLDER}:/data/watch # optional
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Europe/Warsaw
|
- TZ=Europe/Warsaw
|
||||||
- OPENVPN_PROVIDER=${OPENVPN_PROVIDER}
|
- OPENVPN_PROVIDER=${OPENVPN_PROVIDER}
|
||||||
- NORDVPN_COUNTRY=${NORDVPN_COUNTRY}
|
- NORDVPN_COUNTRY=${NORDVPN_COUNTRY}
|
||||||
# - OPENVPN_CONFIG=${OPENVPN_CONFIG}
|
# - OPENVPN_CONFIG=${OPENVPN_CONFIG}
|
||||||
# Do not use NordVPN username!
|
# Do not use NordVPN username!
|
||||||
# To obtain the credentials proceed with the manual configuration in NordVPN account.
|
# To obtain the credentials proceed with the manual configuration in NordVPN account.
|
||||||
- OPENVPN_USERNAME=${OPENVPN_USERNAME}
|
- OPENVPN_USERNAME=${OPENVPN_USERNAME}
|
||||||
- OPENVPN_PASSWORD=${OPENVPN_PASSWORD}
|
- OPENVPN_PASSWORD=${OPENVPN_PASSWORD}
|
||||||
- LOCAL_NETWORK=${LOCAL_NETWORK} # see .env file for comments
|
- LOCAL_NETWORK=${LOCAL_NETWORK} # see .env file for comments
|
||||||
- TRANSMISSION_WEB_UI=${TRANSMISSION_WEB_UI} # optional
|
- TRANSMISSION_WEB_UI=${TRANSMISSION_WEB_UI} # optional
|
||||||
logging:
|
logging:
|
||||||
driver: json-file
|
driver: json-file
|
||||||
options:
|
options:
|
||||||
max-size: 10m
|
max-size: 10m
|
||||||
ports:
|
ports:
|
||||||
- '9091:9091'
|
- '9091:9091'
|
||||||
|
|
||||||
# Not all the countries and servers are supporting p2p, so you need to choose the right server. Here's the hint:
|
# Not all the countries and servers are supporting p2p, so you need to choose the right server. Here's the hint:
|
||||||
# https://support.nordvpn.com/hc/en-us/articles/20465085067665-NordVPN-proxy-setup-for-BitTorrent
|
# https://support.nordvpn.com/hc/en-us/articles/20465085067665-NordVPN-proxy-setup-for-BitTorrent
|
||||||
@@ -1,24 +1,24 @@
|
|||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
transmission:
|
transmission:
|
||||||
image: lscr.io/linuxserver/transmission:latest
|
image: lscr.io/linuxserver/transmission:latest
|
||||||
container_name: transmission
|
container_name: transmission
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Europe/Warsaw
|
- TZ=Europe/Warsaw
|
||||||
- TRANSMISSION_WEB_HOME= #optional
|
- TRANSMISSION_WEB_HOME= #optional
|
||||||
- USER=${USERNAME} #optional
|
- USER=${USERNAME} #optional
|
||||||
- PASS=${PASSWORD} #optional
|
- PASS=${PASSWORD} #optional
|
||||||
- WHITELIST= #optional
|
- WHITELIST= #optional
|
||||||
- PEERPORT= #optional
|
- PEERPORT= #optional
|
||||||
- HOST_WHITELIST= #optional
|
- HOST_WHITELIST= #optional
|
||||||
volumes:
|
volumes:
|
||||||
- ${PATH_TO_CONFIG}:/config
|
- ${PATH_TO_CONFIG}:/config
|
||||||
- ${PATH_TO_DOWNLOADS}:/downloads #optional
|
- ${PATH_TO_DOWNLOADS}:/downloads #optional
|
||||||
- ${PATH_TO_WATCH_FOLDER}:/watch #optional
|
- ${PATH_TO_WATCH_FOLDER}:/watch #optional
|
||||||
ports:
|
ports:
|
||||||
- 9091:9091
|
- 9091:9091
|
||||||
- 51413:51413
|
- 51413:51413
|
||||||
- 51413:51413/udp
|
- 51413:51413/udp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
services:
|
services:
|
||||||
vaultwarden:
|
vaultwarden:
|
||||||
image: vaultwarden/server:latest
|
image: vaultwarden/server:latest
|
||||||
container_name: vaultwarden
|
container_name: vaultwarden
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
DOMAIN: "${DOMAIN}"
|
DOMAIN: "${DOMAIN}"
|
||||||
volumes:
|
volumes:
|
||||||
- ${PATH_TO_DATA}:/data
|
- ${PATH_TO_DATA}:/data
|
||||||
ports:
|
ports:
|
||||||
- 8033:80
|
- 8033:80
|
||||||
Reference in New Issue
Block a user