Compare commits
8 Commits
07c97a103e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 43b4cbda62 | |||
| 6241b70632 | |||
| 285b437bde | |||
|
|
028cc0e8d5 | ||
|
|
385c342087 | ||
|
|
4d9d6830d4 | ||
|
|
5dcb90377d | ||
|
|
dcb95c63a9 |
21
.gitignore
vendored
21
.gitignore
vendored
@@ -1,7 +1,14 @@
|
|||||||
Revolt/data
|
/Revolt/data
|
||||||
FileBrowser/database.db
|
/OpenWebUI/open-webui
|
||||||
Jellyfin/cache/
|
/uptime-kuma/data
|
||||||
Jellyfin/config/
|
/FileBrowser/database.db
|
||||||
Pacoloco/cache/
|
/Pacoloco/cache/
|
||||||
qBittorrent/config/
|
|
||||||
qBittorrent/qbit-config/
|
/Jellyfin/cache/
|
||||||
|
/Jellyfin/config/
|
||||||
|
|
||||||
|
/qBittorrent/config/
|
||||||
|
/qBittorrent/qbit-config/
|
||||||
|
|
||||||
|
/Caddy/tempo-storage
|
||||||
|
/Caddy/grafana-storage
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
metrics
|
metrics
|
||||||
}
|
}
|
||||||
|
|
||||||
servers :80 {
|
servers :3000 {
|
||||||
name grafana
|
name grafana
|
||||||
metrics
|
metrics
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,26 +4,34 @@ services:
|
|||||||
image: caddy:latest
|
image: caddy:latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- '80:80'
|
- 80:80
|
||||||
- '443:443'
|
- 443:443
|
||||||
- '443:443/udp'
|
- '443:443/udp'
|
||||||
volumes:
|
volumes:
|
||||||
- './Caddyfile:/etc/caddy/Caddyfile'
|
- ./Caddyfile:/etc/caddy/Caddyfile
|
||||||
|
|
||||||
# log collector
|
# log collector
|
||||||
prometheus:
|
prometheus:
|
||||||
image: prom/prometheus:latest
|
image: prom/prometheus:latest
|
||||||
volumes:
|
volumes:
|
||||||
- './prometheus.yaml:/etc/prometheus/prometheus.yml'
|
- ./prometheus.yaml:/etc/prometheus/prometheus.yml
|
||||||
depends_on:
|
depends_on:
|
||||||
- caddy
|
- caddy
|
||||||
|
|
||||||
|
# trace collector
|
||||||
|
tempo:
|
||||||
|
image: grafana/tempo:latest
|
||||||
|
command: [ "-config.file=/opt/tempo.yaml" ]
|
||||||
|
volumes:
|
||||||
|
- ./tempo.yaml:/opt/tempo.yaml
|
||||||
|
- ./tempo-storage/:/var/tempo
|
||||||
|
|
||||||
# log viewer
|
# log viewer
|
||||||
grafana:
|
grafana:
|
||||||
image: grafana/grafana:latest
|
image: grafana/grafana:latest
|
||||||
volumes:
|
volumes:
|
||||||
- './grafana.yaml:/etc/grafana/provisioning/datasources/datasources.yaml'
|
- ./grafana.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
|
||||||
- './grafana-storage/:/var/lib/grafana'
|
- ./grafana-storage/:/var/lib/grafana
|
||||||
environment:
|
environment:
|
||||||
- GF_AUTH_ANONYMOUS_ENABLED=true
|
- GF_AUTH_ANONYMOUS_ENABLED=true
|
||||||
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
||||||
@@ -31,6 +39,5 @@ services:
|
|||||||
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
|
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
|
||||||
depends_on:
|
depends_on:
|
||||||
- prometheus
|
- prometheus
|
||||||
|
- tempo
|
||||||
|
|
||||||
volumes:
|
|
||||||
grafana-storage: {}
|
|
||||||
|
|||||||
@@ -13,3 +13,17 @@ datasources:
|
|||||||
editable: false
|
editable: false
|
||||||
jsonData:
|
jsonData:
|
||||||
httpMethod: GET
|
httpMethod: GET
|
||||||
|
- name: Tempo
|
||||||
|
type: tempo
|
||||||
|
uid: tempo
|
||||||
|
access: proxy
|
||||||
|
orgId: 1
|
||||||
|
url: http://tempo:3200
|
||||||
|
basicAuth: false
|
||||||
|
isDefault: false
|
||||||
|
version: 1
|
||||||
|
editable: false
|
||||||
|
jsonData:
|
||||||
|
httpMethod: GET
|
||||||
|
serviceMap:
|
||||||
|
datasourceUid: 'prometheus'
|
||||||
|
|||||||
60
Caddy/tempo.yaml
Normal file
60
Caddy/tempo.yaml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
stream_over_http_enabled: true
|
||||||
|
server:
|
||||||
|
http_listen_port: 3200
|
||||||
|
log_level: info
|
||||||
|
|
||||||
|
query_frontend:
|
||||||
|
search:
|
||||||
|
duration_slo: 5s
|
||||||
|
throughput_bytes_slo: 1.073741824e+09
|
||||||
|
trace_by_id:
|
||||||
|
duration_slo: 5s
|
||||||
|
|
||||||
|
distributor:
|
||||||
|
receivers: # this configuration will listen on all ports and protocols that tempo is capable of.
|
||||||
|
jaeger: # the receives all come from the OpenTelemetry collector. more configuration information can
|
||||||
|
protocols: # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver
|
||||||
|
thrift_http: #
|
||||||
|
grpc: # for a production deployment you should only enable the receivers you need!
|
||||||
|
thrift_binary:
|
||||||
|
thrift_compact:
|
||||||
|
zipkin:
|
||||||
|
otlp:
|
||||||
|
protocols:
|
||||||
|
http:
|
||||||
|
grpc:
|
||||||
|
opencensus:
|
||||||
|
|
||||||
|
ingester:
|
||||||
|
max_block_duration: 5m # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally
|
||||||
|
|
||||||
|
compactor:
|
||||||
|
compaction:
|
||||||
|
block_retention: 1h # overall Tempo trace retention. set for demo purposes
|
||||||
|
|
||||||
|
metrics_generator:
|
||||||
|
registry:
|
||||||
|
external_labels:
|
||||||
|
source: tempo
|
||||||
|
cluster: docker-compose
|
||||||
|
storage:
|
||||||
|
path: /var/tempo/generator/wal
|
||||||
|
remote_write:
|
||||||
|
- url: http://prometheus:9090/api/v1/write
|
||||||
|
send_exemplars: true
|
||||||
|
traces_storage:
|
||||||
|
path: /var/tempo/generator/traces
|
||||||
|
|
||||||
|
storage:
|
||||||
|
trace:
|
||||||
|
backend: local # backend configuration to use
|
||||||
|
wal:
|
||||||
|
path: /var/tempo/wal # where to store the wal locally
|
||||||
|
local:
|
||||||
|
path: /var/tempo/blocks
|
||||||
|
|
||||||
|
overrides:
|
||||||
|
defaults:
|
||||||
|
metrics_generator:
|
||||||
|
processors: [service-graphs, span-metrics, local-blocks] # enables metrics generator
|
||||||
|
generate_native_histograms: both
|
||||||
4
FileBrowser/README.md
Normal file
4
FileBrowser/README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
# Filebrowser
|
||||||
|
|
||||||
|
Browser-based file browser. Default creds will be `admin` `admin`. Obviously change this asap
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
---
|
|
||||||
version: '3'
|
|
||||||
services:
|
services:
|
||||||
file-browser:
|
file-browser:
|
||||||
image: filebrowser/filebrowser
|
image: filebrowser/filebrowser
|
||||||
@@ -9,7 +7,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 8080:80
|
- 8080:80
|
||||||
volumes:
|
volumes:
|
||||||
- ../../documents/:/srv/
|
- ${ZFS_POOL}/:/srv/
|
||||||
- ./database.db:/database.db
|
- ./database.db:/database.db
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
@@ -1,16 +1,14 @@
|
|||||||
---
|
|
||||||
version: '3'
|
|
||||||
services:
|
services:
|
||||||
jellyfin:
|
jellyfin:
|
||||||
user: 1000:1000
|
# GID might need to be manuall set (id -g)
|
||||||
|
user: ${UID}:${GID}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: jellyfin/jellyfin:latest
|
image: jellyfin/jellyfin:latest
|
||||||
container_name: jellyfin
|
container_name: jellyfin
|
||||||
volumes:
|
volumes:
|
||||||
- ./config:/config
|
- ./config:/config
|
||||||
- ./cache:/cache
|
- ./cache:/cache
|
||||||
- ../../documents/media:/media
|
- ${ZFS_POOL}/media:/media
|
||||||
network_mode: 'host'
|
|
||||||
ports:
|
ports:
|
||||||
- 8096:9096
|
- 8096:9096
|
||||||
# Requires packages:
|
# Requires packages:
|
||||||
4
OpenWebUI/README.md
Normal file
4
OpenWebUI/README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
# Open Web UI
|
||||||
|
|
||||||
|
Currently this config expects ollama to be running on a different device, the compose.yml has the ip for you to change in it.
|
||||||
13
OpenWebUI/compose.yml
Normal file
13
OpenWebUI/compose.yml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
services:
|
||||||
|
open-webui:
|
||||||
|
image: ghcr.io/open-webui/open-webui:main
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- WEBUI_AUTH=False
|
||||||
|
- OLLAMA_BASE_URL=http://10.0.0.21:11434
|
||||||
|
ports:
|
||||||
|
- 4000:8080
|
||||||
|
volumes:
|
||||||
|
- './open-webui:/app/backend/data'
|
||||||
|
|
||||||
|
|
||||||
9
Vaultwarden/docker-compose.yml
Normal file
9
Vaultwarden/docker-compose.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
services:
|
||||||
|
vaultwarden:
|
||||||
|
image: vaultwarden/server:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- 1025:80
|
||||||
|
volumes:
|
||||||
|
- ./vw-data/:/data/
|
||||||
|
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
---
|
|
||||||
version: '3'
|
|
||||||
services:
|
services:
|
||||||
qbittorrent:
|
qbittorrent:
|
||||||
image: qbittorrentofficial/qbittorrent-nox:latest
|
image: qbittorrentofficial/qbittorrent-nox:latest
|
||||||
@@ -11,10 +9,11 @@ services:
|
|||||||
- QBT_EULA=true
|
- QBT_EULA=true
|
||||||
volumes:
|
volumes:
|
||||||
- ./qbit-config:/config
|
- ./qbit-config:/config
|
||||||
- ../../documents/downloads:/downloads
|
- ${ZFS_POOL}/downloads:/downloads
|
||||||
network_mode: host
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- vpn
|
- vpn
|
||||||
|
ports:
|
||||||
|
- 6882:6882
|
||||||
vpn:
|
vpn:
|
||||||
image: lscr.io/linuxserver/wireguard:latest
|
image: lscr.io/linuxserver/wireguard:latest
|
||||||
container_name: wireguard
|
container_name: wireguard
|
||||||
@@ -22,13 +21,12 @@ services:
|
|||||||
cap_add:
|
cap_add:
|
||||||
- NET_ADMIN
|
- NET_ADMIN
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=${UID}
|
||||||
- PGID=1000
|
- PGID=${GID}
|
||||||
- TZ=America/Denver
|
- TZ=America/Denver
|
||||||
- SERVERPORT=51820 #optional
|
- SERVERPORT=51820 #optional
|
||||||
- LOG_CONFS=true #optional
|
- LOG_CONFS=true #optional
|
||||||
volumes:
|
volumes:
|
||||||
- ./config:/config
|
- ./config:/config
|
||||||
network_mode: host
|
sysctls:
|
||||||
# sysctls:
|
- net.ipv4.conf.all.src_valid_mark=1
|
||||||
# - net.ipv4.conf.all.src_valid_mark=1
|
|
||||||
9
uptime-kuma/compose.yaml
Normal file
9
uptime-kuma/compose.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
services:
|
||||||
|
uptime-kuma:
|
||||||
|
image: louislam/uptime-kuma:1
|
||||||
|
volumes:
|
||||||
|
- ./data:/app/data
|
||||||
|
ports:
|
||||||
|
# <Host Port>:<Container Port>
|
||||||
|
- 3001:3001
|
||||||
|
restart: unless-stopped
|
||||||
Reference in New Issue
Block a user