14 docker compose initial commit

This commit is contained in:
Dominik 2024-05-10 17:53:43 +02:00
commit 277f8544ee
31 changed files with 1124 additions and 0 deletions

19
.gitignore vendored Normal file
View File

@ -0,0 +1,19 @@
filebrowser/
hortusfox-web/
linkwarden/
volumes/
birdnet/
mariadb-docker/mysql/
system-monitoring/influxdb/
uptimekuma/uptime-kuma-data/
home-assistant/homeassistant_config/
jdownloader2/config/
jdownloader2/downloads/
code-server/config/
system-monitoring.zip
portainer/portainer_data/
plex-radarr-transmission/plex/
plex-radarr-transmission/radarr/
plex-radarr-transmission/transmission/

26
README.md Normal file
View File

@ -0,0 +1,26 @@
# Sammlung an simplen Docker Compose
## Services
| Service | Port |
|-|-|
| [Cloudcmd](https://cloudcmd.io/) | [8000](http://localhost:8000) |
| [Code Server](https://github.com/linuxserver/docker-code-server) | [8443](http://localhost:8443) |
| [Gramps Web](https://www.grampsweb.org/) | [81](http://localhost:81) |
| [Home Assistant](https://www.home-assistant.io/) | [8123](http://localhost:8123) |
| [Homepage](https://gethomepage.dev) | [3045](http://localhost:3045) |
| [JDownloader2](https://jdownloader.org/jdownloader2) | [5800](http://localhost:5800) |
| [Adminer](https://www.adminer.org/) | [8081](http://localhost:8081) |
| [MariaDB](https://mariadb.org/) | 3306 |
| [Nextcloud](https://github.com/nextcloud/docker) | [8080](http://localhost:8080) |
| [Transmission](https://github.com/linuxserver/docker-transmission) | [9091](http://localhost:9091) |
| [Radarr](https://github.com/linuxserver/docker-radarr) | [7878](http://localhost:7878) |
| [Plex](https://github.com/linuxserver/docker-plex) | [32400](http://localhost:32400) |
| [Portainer](https://www.portainer.io/) | [9000](http://localhost:9000) |
| [InfluxDB](https://www.influxdata.com/) | [8086](http://localhost:8086) |
| [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) | |
| [traefik](https://doc.traefik.io/traefik/) | [8082](http://localhost:8082) 80 443|
| [Uptime Kuma](https://github.com/louislam/uptime-kuma) | [3001](http://localhost:3001) |
| [Watchtower](https://containrrr.dev/watchtower/) | |
![homepage](homepage.jpg)

View File

@ -0,0 +1,15 @@
# https://cloudcmd.io/
version: '2'
name: cloudcmd-stack
services:
cloudcmd:
container_name: cloudcmd
ports:
- 8000:8000
volumes:
- ~:/root
- /:/mnt/fs
image: coderaiser/cloudcmd

View File

@ -0,0 +1,22 @@
# https://github.com/linuxserver/docker-code-server
name: code-server
services:
code-server:
image: lscr.io/linuxserver/code-server:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Vienna
- PASSWORD=password #optional
- HASHED_PASSWORD= #optional
- SUDO_PASSWORD=password #optional
- SUDO_PASSWORD_HASH= #optional
#- PROXY_DOMAIN=code-server.my.domain #optional
- DEFAULT_WORKSPACE=/config/workspace #optional
volumes:
- ./config:/config
ports:
- 8443:8443
restart: unless-stopped

View File

@ -0,0 +1,52 @@
# https://www.grampsweb.org/
version: "3.7"
name: gramps-web
services:
grampsweb: &grampsweb
container_name: grampsweb
image: ghcr.io/gramps-project/grampsweb:latest
restart: always
ports:
- "81:5000" # host:docker
environment:
GRAMPSWEB_TREE: "Gramps Web" # will create a new tree if not exists
GRAMPSWEB_CELERY_CONFIG__broker_url: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_CELERY_CONFIG__result_backend: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://grampsweb_redis:6379/1
depends_on:
- grampsweb_redis
volumes:
- gramps_users:/app/users # persist user database
- gramps_index:/app/indexdir # persist search index
- gramps_thumb_cache:/app/thumbnail_cache # persist thumbnails
- gramps_cache:/app/cache # persist export and report caches
- gramps_secret:/app/secret # persist flask secret
- gramps_db:/root/.gramps/grampsdb # persist Gramps database
- gramps_media:/app/media # persist media files
- gramps_tmp:/tmp
grampsweb_celery:
<<: *grampsweb # YAML merge key copying the entire grampsweb service config
ports: []
container_name: grampsweb_celery
depends_on:
- grampsweb_redis
command: celery -A gramps_webapi.celery worker --loglevel=INFO
grampsweb_redis:
image: redis:7.2.4-alpine
container_name: grampsweb_redis
restart: always
volumes:
gramps_users:
gramps_index:
gramps_thumb_cache:
gramps_cache:
gramps_secret:
gramps_db:
gramps_media:
gramps_tmp:

View File

@ -0,0 +1,13 @@
version: '3.5'
name: homeassistant
services:
homeassistant:
container_name: homeassistant
restart: unless-stopped
image: ghcr.io/home-assistant/home-assistant:stable
ports:
- "8123:8123"
environment:
- TZ=Europe/Vienna
volumes:
- ./homeassistant_config:/config

BIN
homepage.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

View File

@ -0,0 +1,16 @@
# https://gethomepage.dev
version: '3.3'
name: homepage
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
ports:
- 3045:3000
volumes:
- ./homepage-config:/app/config # Make sure your local config directory exists
- ./images:/app/public/images
- /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations

View File

@ -0,0 +1,10 @@
---
# For configuration options and examples, please see:
# https://gethomepage.dev/latest/configs/bookmarks
- Developer:
- Docker Projects Github:
- abbr: GH
href: https://github.com/dominikhoebert/docker-projects

View File

View File

View File

@ -0,0 +1,10 @@
---
# For configuration options and examples, please see:
# https://gethomepage.dev/latest/configs/docker/
# my-docker:
# host: 127.0.0.1
# port: 2375
my-docker:
socket: /var/run/docker.sock

View File

@ -0,0 +1,2 @@
---
# sample kubernetes config

View File

@ -0,0 +1,353 @@
[2024-05-10T12:47:33.196Z] info: docker.yaml was copied to the config folder
[2024-05-10T12:47:33.206Z] info: services.yaml was copied to the config folder
[2024-05-10T12:47:33.210Z] info: bookmarks.yaml was copied to the config folder
[2024-05-10T12:47:33.230Z] info: widgets.yaml was copied to the config folder
[2024-05-10T12:47:33.241Z] info: custom.css was copied to the config folder
[2024-05-10T12:47:33.245Z] info: custom.js was copied to the config folder
[2024-05-10T12:47:33.321Z] info: kubernetes.yaml was copied to the config folder
[2024-05-10T13:00:16.196Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:00:16.199Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:00:16.676Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:00:16.676Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:00:19.481Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:00:19.481Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:00:19.975Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:00:19.975Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:00:40.337Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:00:40.338Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:00:43.629Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:00:43.630Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:01:04.671Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:01:04.672Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:01:05.150Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:01:05.151Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:01:07.977Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:01:07.978Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:01:08.457Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:01:08.458Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:01:35.056Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:01:35.057Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:01:38.362Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:01:38.363Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:02:17.247Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:02:17.247Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:02:20.561Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:02:20.562Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:02:32.725Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:02:32.725Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:02:36.024Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:02:36.024Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:03:55.911Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:03:55.911Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:03:59.205Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:03:59.206Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:04:07.581Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:04:07.581Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:04:10.873Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:04:10.873Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:04:25.372Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:04:25.372Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T13:04:28.669Z] error: <httpProxy> Error calling http://cloudcmd:8000/...
[2024-05-10T13:04:28.669Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND cloudcmd
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'cloudcmd'
}
]
[2024-05-10T14:22:10.680Z] error: Failed to load services.yaml, please check for errors
[2024-05-10T14:22:10.680Z] error: YAMLException: bad indentation of a sequence entry (6:16)
3 | # https://gethomepage.dev/latest/configs/services
4 |
5 | - Services
6 | - Nextcloud:
--------------------^
7 | icon: nextcloud.png
8 | href: http://localhost:8080
[2024-05-10T14:22:10.856Z] error: Failed to load services.yaml, please check for errors
[2024-05-10T14:22:10.856Z] error: YAMLException: bad indentation of a sequence entry (6:16)
3 | # https://gethomepage.dev/latest/configs/services
4 |
5 | - Services
6 | - Nextcloud:
--------------------^
7 | icon: nextcloud.png
8 | href: http://localhost:8080
[2024-05-10T14:22:11.387Z] error: Failed to load services.yaml, please check for errors
[2024-05-10T14:22:11.388Z] error: YAMLException: bad indentation of a sequence entry (6:16)
3 | # https://gethomepage.dev/latest/configs/services
4 |
5 | - Services
6 | - Nextcloud:
--------------------^
7 | icon: nextcloud.png
8 | href: http://localhost:8080
[2024-05-10T14:22:24.166Z] error: <httpProxy> Error calling http://nextcloud/...
[2024-05-10T14:22:24.166Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND nextcloud
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'nextcloud'
}
]
[2024-05-10T14:22:27.476Z] error: <httpProxy> Error calling http://nextcloud/...
[2024-05-10T14:22:27.476Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND nextcloud
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'nextcloud'
}
]
[2024-05-10T14:26:43.572Z] error: <httpProxy> Error calling http://nextcloud/...
[2024-05-10T14:26:43.572Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND nextcloud
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'nextcloud'
}
]
[2024-05-10T14:26:46.890Z] error: <httpProxy> Error calling http://nextcloud/...
[2024-05-10T14:26:46.890Z] error: <httpProxy> [
500,
Error: getaddrinfo ENOTFOUND nextcloud
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'nextcloud'
}
]
[2024-05-10T15:16:57.507Z] error: Failed to load services.yaml, please check for errors
[2024-05-10T15:16:57.507Z] error: YAMLException: bad indentation of a sequence entry (143:13)
140 | container: cloudcmd
141 |
142 | - InfluxDB
143 | icon: influxdb.png
-------------------^
144 | href: http://localhost:8086
145 | description: time-series database d ...
[2024-05-10T15:16:57.589Z] error: Failed to load services.yaml, please check for errors
[2024-05-10T15:16:57.590Z] error: YAMLException: bad indentation of a sequence entry (143:13)
140 | container: cloudcmd
141 |
142 | - InfluxDB
143 | icon: influxdb.png
-------------------^
144 | href: http://localhost:8086
145 | description: time-series database d ...
[2024-05-10T15:16:58.030Z] error: Failed to load services.yaml, please check for errors
[2024-05-10T15:16:58.031Z] error: YAMLException: bad indentation of a sequence entry (143:13)
140 | container: cloudcmd
141 |
142 | - InfluxDB
143 | icon: influxdb.png
-------------------^
144 | href: http://localhost:8086
145 | description: time-series database d ...

View File

@ -0,0 +1,172 @@
---
# For configuration options and examples, please see:
# https://gethomepage.dev/latest/configs/services
- Media:
- Plex:
icon: plex.png
href: http://localhost:32400
description: organize, stream, and share your personal media and discover new content from various sources
# siteMonitor: http://plex:32400
server: my-docker
container: plex
# widget:
# type: plex
# url:
# key:
- Radarr:
icon: radarr.png
href: http://localhost:7878
description: download movies from various sources and formats
# siteMonitor: http://radarr:7878
server: my-docker
container: radarr
# widget:
# type: radarr
# url:
# key:
# enableQueue: true
- Transmission:
icon: transmission.png
href: http://localhost:9091
description: cross-platform BitTorrent client that integrates with your operating system and behaves like a Mac program
#siteMonitor: http://192.168.1.3:9091
server: my-docker
container: transmission
# widget:
# type: transmission
# url:
# username:
# password:
# rpcUrl: /transmission/ # Optional. Matches the value of "rpc-url" in your Transmission's settings.json file
- Services:
- Nextcloud:
icon: nextcloud.png
href: http://localhost:8080
description: self-hosted cloud storage and collaboration software that offers file access, talk, groupware and office integration
#siteMonitor: http://nextcloud:80
server: my-docker
container: nextcloud
# widget:
# type: nextcloud
# url:
# username:
# password:
- Home Assistant:
icon: home-assistant.png
href: http://localhost:8123
description: versatile and trustworthy smart home hub that integrates with over 1000 brands and runs on various devices
#siteMonitor: http://homeassistant:8123
server: my-docker
container: homeassistant
# widget:
# type: homeassistant
# url: http://homeassistant:8123
# key:
# custom:
# - state: sensor.total_power
# - state: sensor.total_energy_today
# label: energy today
# - template: "{{ states.switch|selectattr('state','equalto','on')|list|length }}"
# label: switches on
# - state: weather.forecast_home
# label: wind speed
# value: "{attributes.wind_speed} {attributes.wind_speed_unit}"
- Gramps-Web:
icon: mdi-family-tree
href: http://localhost:81
description: web app for collaborative genealogy
#siteMonitor: http://grampsweb:5000
server: my-docker
container: grampsweb
- Tools:
- JDownloader:
icon: jdownloader.png
href: http://localhost:5800/
description: free, open-source download management tool with a huge community that makes downloading as easy and fast as it should be
#siteMonitor: http://jdownloader:5800/
server: my-docker
container: jdownloader
# widget:
# type: jdownloader
# username: ""
# password: ""
# client:
- Adminer:
icon: adminer.png
href: http://localhost:8081
description: database management in a single PHP file
#siteMonitor: http://adminer:8081
server: my-docker
container: adminer
- InfluxDB:
icon: influxdb.png
href: http://localhost:8086
description: time-series database designed to handle high write and query loads
#siteMonitor: http://influxdb:8086
server: my-docker
container: influxdb
- Uptime Kuma:
icon: uptime-kuma.png
href: http://localhost:3001
description: easy-to-use self-hosted monitoring tool
# siteMonitor: http://uptime-kuma:3001
server: my-docker
container: uptime-kuma
# widget:
# type: uptimekuma
# url:
# slug:
- Server Management:
- VS Code:
icon: code.png
href: http://localhost:8443
description: VS Code on any machine and access it in the browser
#siteMonitor: http://code-server:8443
server: my-docker
container: code-server
- Portainer:
icon: portainer.png
href: http://localhost:9000
description: versatile container management software that simplifies your secure adoption of containers
#siteMonitor: http://portainer:9000
server: my-docker
container: portainer
# widget:
# type: portainer
# url:
# env:
# key:
- CloudCMD:
icon: cloudcmd.png
href: http://localhost:8000
description: file manager for the web. It includes a command-line console and a text editor
#siteMonitor: http://cloudcmd:8000
server: my-docker
container: cloudcmd
- Traefik:
icon: traefik.png
href: http://localhost:8082
description: open-source Edge Router that automatically discovers and routes requests to your services
# siteMonitor: http://traefik:8082
server: my-docker
container: traefik
# widget:
# type: traefik
# url:

View File

@ -0,0 +1,16 @@
---
# For configuration options and examples, please see:
# https://gethomepage.dev/latest/configs/settings
providers:
openweathermap: openweathermapapikey
weatherapi: weatherapiapikey
background:
image: images/neon-sun.jpg
blur: sm # sm, "", md, xl... see https://tailwindcss.com/docs/backdrop-blur
saturate: 300 # 0, 50, 100... see https://tailwindcss.com/docs/backdrop-saturate
brightness: 1 # 0, 50, 75... see https://tailwindcss.com/docs/backdrop-brightness
opacity: 80 # 0-100
showStats: true

View File

@ -0,0 +1,22 @@
---
# For configuration options and examples, please see:
# https://gethomepage.dev/latest/configs/service-widgets
- resources:
cpu: true
memory: true
disk: /
- search:
provider: duckduckgo
target: _blank
- datetime:
# 4 januari 2023 om 13:51:25 PST
locale: de
text_size: 4xl
format:
dateStyle: long
timeStyle: short
hourCycle: h23

Binary file not shown.

After

Width:  |  Height:  |  Size: 995 KiB

View File

@ -0,0 +1,13 @@
# https://jdownloader.org/jdownloader2
version: '3'
name: jdownloader2
services:
jdownloader-2:
container_name: jdownloader
image: jlesage/jdownloader-2
ports:
- "5800:5800"
volumes:
- "./config:/config:rw"
- "./downloads:/output:rw"

View File

@ -0,0 +1,27 @@
# https://www.adminer.org/
# Use root/example as user/password credentials
version: '3.1'
services:
db:
image: mariadb
container_name: db
restart: always
ports:
- 3306:3306
environment:
MARIADB_ROOT_PASSWORD: example
MARIADB_USER: example-user
MARIADB_PASSWORD: my_cool_secret
volumes:
- ./mysql:/var/lib/mysql
adminer:
image: adminer
container_name: adminer
restart: always
ports:
- 8081:8080

View File

@ -0,0 +1,39 @@
# https://github.com/nextcloud/docker
name: nextcloud
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb:10.6
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=example
- MYSQL_PASSWORD=example
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
nextcloud:
image: nextcloud
container_name: nextcloud
restart: always
ports:
- 8080:80
links:
- db
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=example
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db

View File

@ -0,0 +1,60 @@
name: plex-radarr-transmission
# https://github.com/linuxserver/docker-transmission
services:
transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: transmission
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
# - TRANSMISSION_WEB_HOME= #optional
# - USER= #optional
# - PASS= #optional
# - WHITELIST= #optional
# - PEERPORT= #optional
# - HOST_WHITELIST= #optional
volumes:
- ./transmission:/config
- ./downloads:/downloads
- ./watch:/watch
ports:
- 9091:9091
- 51413:51413
- 51413:51413/udp
restart: unless-stopped
# https://github.com/linuxserver/docker-radarr
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./radarr:/config
- ./movies:/movies #optional
- ./downloads:/downloads #optional
ports:
- 7878:7878
restart: unless-stopped
# https://github.com/linuxserver/docker-plex
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
ports:
- 32400:32400
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- VERSION=docker
- PLEX_CLAIM= #FILL ME IN!!! (claim token) https://www.plex.tv/claim/
volumes:
- ./plex:/config
- ./tv:/tv
- ./movies:/movies
restart: unless-stopped

View File

@ -0,0 +1,16 @@
# https://www.portainer.io/
version: '3.3'
name: portainer
services:
portainer:
container_name: 'portainer'
ports:
- '9000:9000'
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
- './portainer_data:/data'
image: portainer/portainer-ce:latest
restart: 'unless-stopped'

View File

@ -0,0 +1,8 @@
# System monitoring using telegraf and influxdb
1. Run the compose `docker-compose up -d`
2. Open [http://localhost:8086](http://localhost:8086) in the browser
3. Create a username and password, name your organization `tgm` and your first bucket `telegraf-bucket`
4. Choose quick start -> add data source -> Telegraf
5. Create a token and paste it in `telegraf/telegraf.conf`
6. Restart stack using `docker-compose up -d`

View File

@ -0,0 +1,20 @@
name: system-monitoring
services:
# https://www.influxdata.com/
influxdb:
container_name: influxdb
ports:
- 8086:8086
volumes:
- ./influxdb/data:/var/lib/influxdb2
- ./influxdb/config:/etc/influxdb2
restart: unless-stopped
image: influxdb:2.1.1
# https://www.influxdata.com/time-series-platform/telegraf/
telegraf:
container_name: telegraf
image: telegraf:1.25-alpine
depends_on:
- influxdb
volumes:
- ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro

View File

@ -0,0 +1,43 @@
[global_tags]
[agent]
interval = "60s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
precision = ""
omit_hostname = false
[[outputs.influxdb_v2]]
urls = ["http://influxdb:8086"]
token = "FILL_ME_IN_AFTER_CREATING"
organization = "tgm"
bucket = "telegraf-bucket"
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = false
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
[[inputs.diskio]]
[[inputs.kernel]]
[[inputs.mem]]
[[inputs.processes]]
[[inputs.swap]]
[[inputs.system]]

View File

100
traefik/config/traefik.yaml Normal file
View File

@ -0,0 +1,100 @@
global:
checkNewVersion: false
sendAnonymousUsage: false
# -- (Optional) Change Log Level and Format here...
# - loglevels [DEBUG, INFO, WARNING, ERROR, CRITICAL]
# - format [common, json, logfmt]
# log:
# level: ERROR
# format: common
# filePath: /var/log/traefik/traefik.log
# -- (Optional) Enable Accesslog and change Format here...
# - format [common, json, logfmt]
# accesslog:
# format: common
# filePath: /var/log/traefik/access.log
# -- (Optional) Enable API and Dashboard here, don't do in production
api:
dashboard: true
insecure: true
# -- Change EntryPoints here...
entryPoints:
web:
address: :80
# -- (Optional) Redirect all HTTP to HTTPS
# http:
# redirections:
# entryPoint:
# to: websecure
# scheme: https
websecure:
address: :443
# -- (Optional) Add custom Entrypoint
# custom:
# address: :8080
# -- Configure your CertificateResolver here...
# certificatesResolvers:
# staging:
# acme:
# email: your-email@example.com
# storage: /etc/traefik/certs/acme.json
# caServer: "https://acme-staging-v02.api.letsencrypt.org/directory"
# -- (Optional) Remove this section, when using DNS Challenge
# httpChallenge:
# entryPoint: web
# -- (Optional) Configure DNS Challenge
# dnsChallenge:
# provider: your-resolver (e.g. cloudflare)
# resolvers:
# - "1.1.1.1:53"
# - "8.8.8.8:53"
# production:
# acme:
# email: your-email@example.com
# storage: /etc/traefik/certs/acme.json
# caServer: "https://acme-v02.api.letsencrypt.org/directory"
# -- (Optional) Remove this section, when using DNS Challenge
# httpChallenge:
# entryPoint: web
# -- (Optional) Configure DNS Challenge
# dnsChallenge:
# provider: your-resolver (e.g. cloudflare)
# resolvers:
# - "1.1.1.1:53"
# - "8.8.8.8:53"
certificatesResolvers:
dns-cloudflare:
acme:
email: test@example.com
storage: /etc/traefik/certs/acme.json
dnsChallenge:
provider: cloudflare
delayBeforeCheck: 0
# -- (Optional) Disable TLS Cert verification check
# serversTransport:
# insecureSkipVerify: true
# -- (Optional) Overwrite Default Certificates
# tls:
# stores:
# default:
# defaultCertificate:
# certFile: /etc/traefik/certs/cert.pem
# keyFile: /etc/traefik/certs/cert-key.pem
# -- (Optional) Disable TLS version 1.0 and 1.1
# options:
# default:
# minVersion: VersionTLS12
providers:
docker:
# -- (Optional) Enable this, if you want to expose all containers automatically
exposedByDefault: false
file:
directory: /etc/traefik
watch: true

View File

@ -0,0 +1,24 @@
networks:
traefik-network:
# https://doc.traefik.io/traefik/
services:
traefik:
image: docker.io/library/traefik:2.11.2
container_name: traefik
ports:
- 80:80
- 443:443
# -- (Optional) Enable Dashboard, don't do in production
- 8082:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./config:/etc/traefik
# -- (Optional) When using Cloudflare as Cert Resolver
environment:
- CF_API_EMAIL=xxx@example.com
- CF_DNS_API_TOKEN=xxx
# -- (Optional) When using a custom network
networks:
- traefik-network
restart: unless-stopped

View File

@ -0,0 +1,12 @@
version: '3.3'
#https://github.com/louislam/uptime-kuma
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
volumes:
- ./uptime-kuma-data:/app/data
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 3001:3001
restart: always

View File

@ -0,0 +1,14 @@
# https://containrrr.dev/watchtower/
# Watchtower is a container that watches for changes in other containers and automatically updates them.
# This is useful for keeping your containers up-to-date with the latest versions of their images.
name: watchtower
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --schedule "0 4 * * *"