add more compose files

This commit is contained in:
2025-06-17 08:23:42 -04:00
parent 466f5b848f
commit 4129edeffd
30 changed files with 459 additions and 49 deletions
-1
View File
@@ -1,5 +1,4 @@
---
version: "3.7"
services:
audiobookshelf:
container_name: audiobookshelf
+29
View File
@@ -0,0 +1,29 @@
# dashy docker compose
## Description
Dashy is a customizable dashboard for your links.
## Usage
```sh
git clone -n --depth=1 --filter=tree:0 \
https://git.danesi.dev/cdanesi/docker.git
cd docker
git sparse-checkout set --no-cone /dashy
git checkout
```
## Environment
```env
UID=1000
GID=1000
```
**UID**: The user ID you wish to run the container as
**GID**: The group ID you wish to assign to the container
The `./config` folder will be created and owned by UID:GID
## Authors and acknowledgment
+4 -5
View File
@@ -1,21 +1,20 @@
---
version: "3.4"
services:
dashy:
image: lissy93/dashy:latest
container_name: Dashy
container_name: dashy
volumes:
- ./config:/app/user-data
ports:
- 80:8080
environment:
- UID
- GID
- NODE_ENV=production
- UID=1000
- GID=1000
- TZ=America/New_York
restart: unless-stopped
healthcheck:
test: ['CMD', 'node', '/app/services/healthcheck']
test: ["CMD", "node", "/app/services/healthcheck"]
interval: 1m30s
timeout: 10s
retries: 3
+8
View File
@@ -0,0 +1,8 @@
---
services:
exporter:
image: registry.gitlab.com/hectorjsmith/fail2ban-prometheus-exporter:latest
volumes:
- /var/run/fail2ban/:/var/run/fail2ban:ro
ports:
- "9191:9191"
-1
View File
@@ -1 +0,0 @@
config
+2 -3
View File
@@ -1,5 +1,4 @@
---
version: "2.1"
services:
firefox:
image: lscr.io/linuxserver/firefox:latest
@@ -7,8 +6,8 @@ services:
security_opt:
- seccomp:unconfined # optional
environment:
- PUID=1000
- PGID=1000
- PUID
- PGID
- TZ=America/Detroit
volumes:
- ./config:/config
+93
View File
@@ -0,0 +1,93 @@
---
services:
grafana:
image: grafana/grafana-oss:latest
container_name: grafana
ports:
- "3000:3000"
volumes:
- grafana-data:/var/lib/grafana
environment:
- GF_SECURITY_ALLOW_EMBEDDING=true
- GF_AUTH_ANONYMOUS_ENABLED=true
restart: unless-stopped
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
- "9090:9090"
volumes:
- /etc/prometheus:/etc/prometheus
- prometheus-data:/prometheus
restart: unless-stopped
command:
- "--config.file=/etc/prometheus/prometheus.yml"
influxdb:
container_name: influxdb
image: influxdb:2.7.0
ports:
- "8086:8086"
volumes:
- influxdb-data:/var/lib/influxdb2
- /etc/influxdb2:/etc/influxdb2
restart:
unless-stopped
# (Optional) If you're using self-signed certs
# - /etc/ssl/cert.pem/:/etc/ssl/cert.pem
# - /etc/ssl/cert-key.pem/:/etc/ssl/cert-key.pem
# (Optional) If you're using self-signed certs
# command: influxd --tls-cert=/etc/ssl/cert.pem --tls-key=/etc/ssl/cert-key.pem
# (Optional) Automatic Setup
# environment:
# - DOCKER_INFLUXDB_INIT_MODE=setup
# - DOCKER_INFLUXDB_INIT_USERNAME=my-user
# - DOCKER_INFLUXDB_INIT_PASSWORD=my-password
# - DOCKER_INFLUXDB_INIT_ORG=my-org
# - DOCKER_INFLUXDB_INIT_BUCKET=my-bucket
# # (Optional) Configure Data Retention
# - DOCKER_INFLUXDB_INIT_RETENTION=1w
# # (Optional) Admin Token
# - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-super-secret-auth-token
# speedflux:
# build: .
# environment:
# - NAMESPACE= None
# - INFLUX_DB_ADDRESS=influxdb
# - INFLUX_DB_PORT=8086
# - INFLUX_DB_USER=[db username]
# - INFLUX_DB_PASSWORD=[db password]
# - INFLUX_DB_DATABASE=speedtest
# - INFLUX_DB_TAGS= # See https://github.com/breadlysm/speedtest-to-influxdb#tag-options for details
# - SPEEDTEST_INTERVAL=150 # Minutes between speedtest updates.
# - PING_INTERVAL=60 # Seconds between ping updates
# - PING_TARGETS=1.1.1.1, 8.8.8.8 # csv of hostnames to ping
# - LOG_TYPE=info
# image: ghcr.io/breadlysm/speedflux:latest
nut-exporter:
container_name: nut-exporter
image: hon95/prometheus-nut-exporter:1
environment:
- TZ=America/Detroit
- HTTP_PATH=/metrics
# Defaults
#- RUST_LOG=info
#- HTTP_PORT=9995
#- HTTP_PATH=/nut
#- LOG_REQUESTS_CONSOLE=false
#- PRINT_METRICS_AND_EXIT=false
restart: unless-stopped
ports:
- "9995:9995/tcp"
volumes:
grafana-data:
driver: local
prometheus-data:
driver: local
influxdb-data:
+3 -3
View File
@@ -4,9 +4,9 @@ services:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
environment:
PUID: ${UID}
PGID: ${GID}
HOMEPAGE_ALLOWED_HOSTS: portal.homelab.lan:3000
- PUID
- PGID
- HOMEPAGE_ALLOWED_HOSTS=portal.homelab.lan:3000
ports:
- 3000:3000
volumes:
+44
View File
@@ -0,0 +1,44 @@
---
services:
speedlogger-web:
image: brennentsmith/internet-speed-logger
ports:
- 3000:3000
environment:
- PGID
- PUID
depends_on:
- mongo
restart: always
volumes:
- ./config:/data/config
speedlogger-runner:
image: brennentsmith/internet-speed-logger
depends_on:
- speedlogger-web
restart: always
environment:
- PGID
- PUID
entrypoint:
- node
- run-speedtest.js
- daemon
volumes:
- ./config:/data/config
mongo:
image: bitnami/mongodb:4.4
restart: always
expose:
- 27017
environment:
- MONGODB_ROOT_PASSWORD=speedtest
- MONGODB_USERNAME=speedtest
- MONGODB_PASSWORD=speedtest
- MONGODB_DATABASE=speedtest
- PGID
- PUID
volumes:
- ./mongo-persistence:/bitnami
+65
View File
@@ -0,0 +1,65 @@
---
services:
server:
image: nginx
container_name: in_nginx
restart: always
env_file: .env
volumes:
# Vhost configuration
#- ./config/caddy/Caddyfile:/etc/caddy/Caddyfiledocker-com
- ./config/nginx/in-vhost.conf:/etc/nginx/conf.d/in-vhost.conf:ro
- ./data/public:/var/www/app/public:ro
depends_on:
- app
# Run webserver nginx on port 80
# Feel free to modify depending what port is already occupied
ports:
- "80:80"
#- "443:443"
networks:
- invoiceninja
extra_hosts:
- "in5.localhost:127.0.0.1" #host and ip
app:
image: invoiceninja/invoiceninja:5
container_name: invoiceninja
env_file: .env
restart: always
volumes:
- ./config/hosts:/etc/hosts:ro
- ./data/public:/var/www/app/public:rw,delegated
- ./data/storage:/var/www/app/storage:rw,delegated
- ./config/php/php.ini:/usr/local/etc/php/php.ini
- ./config/php/php-cli.ini:/usr/local/etc/php/php-cli.ini
depends_on:
- db
networks:
- invoiceninja
extra_hosts:
- "in5.localhost:127.0.0.1" #host and ip
db:
image: mariadb:10.4
container_name: in_mysql
ports:
- "3305:3306"
restart: always
env_file: .env
volumes:
- ./mysql/data:/var/lib/mysql:rw,delegated
# remove comments for next 4 lines if you want auto sql backups
#- ./mysql/bak:/backups:rw
#- ./config/mysql/backup-script:/etc/cron.daily/daily:ro
#- ./config/mysql/backup-script:/etc/cron.weekly/weekly:ro
#- ./config/mysql/backup-script:/etc/cron.monthly/monthly:ro
networks:
- invoiceninja
extra_hosts:
- "in5.localhost:127.0.0.1" #host and ip
networks:
invoiceninja:
+2 -2
View File
@@ -4,8 +4,8 @@ services:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
environment:
- PUID=${UID}
- PGID=${GID}
- PUID
- PGID
- LOG_LEVEL=info
- TZ=America/Detroit
- PORT=5055
-1
View File
@@ -1,5 +1,4 @@
---
version: "3.7"
services:
kavita:
image: jvmilazz0/kavita:latest
+21
View File
@@ -0,0 +1,21 @@
---
services:
linkstack:
hostname: "linkstack"
image: "linkstackorg/linkstack:latest"
environment:
TZ: "America/New_York"
SERVER_ADMIN: ${SERVER_ADMIN} # admin email
HTTP_SERVER_NAME: ${HTTP_SERVER_NAME} # fqdn, no protocol
HTTPS_SERVER_NAME: ${HTTPS_SERVER_NAME} # fqdn, no protocol
LOG_LEVEL: "info"
PHP_MEMORY_LIMIT: "256M"
UPLOAD_MAX_FILESIZE: "8M"
volumes:
- "linkstack_data:/htdocs"
ports:
- "8190:443"
restart: unless-stopped
volumes:
linkstack_data:
-2
View File
@@ -1,6 +1,4 @@
---
version: "3.5"
services:
postgres:
image: postgres:16-alpine
+16
View File
@@ -0,0 +1,16 @@
---
services:
netbox:
restart: unless-stopped
ports:
- "8080:8080"
netbox-worker:
restart: unless-stopped
netbox-housekeeping:
restart: unless-stopped
postgres:
restart: unless-stopped
redis:
restart: unless-stopped
redis-cache:
restart: unless-stopped
@@ -0,0 +1,23 @@
version: '3.4'
services:
netbox:
ports:
- "8000:8080"
# If you want the Nginx unit status page visible from the
# outside of the container add the following port mapping:
# - "8001:8081"
# healthcheck:
# Time for which the health check can fail after the container is started.
# This depends mostly on the performance of your database. On the first start,
# when all tables need to be created the start_period should be higher than on
# subsequent starts. For the first start after major version upgrades of NetBox
# the start_period might also need to be set higher.
# Default value in our docker-compose.yml is 60s
# start_period: 90s
# environment:
# SKIP_SUPERUSER: "false"
# SUPERUSER_API_TOKEN: ""
# SUPERUSER_EMAIL: ""
# SUPERUSER_NAME: ""
# SUPERUSER_PASSWORD: ""
+87
View File
@@ -0,0 +1,87 @@
---
services:
netbox: &netbox
image: docker.io/netboxcommunity/netbox:${VERSION-v3.6-2.7.0}
depends_on:
- postgres
- redis
- redis-cache
env_file: env/netbox.env
user: "unit:root"
healthcheck:
start_period: 60s
timeout: 3s
interval: 15s
test: "curl -f http://localhost:8080/api/ || exit 1"
volumes:
- ./configuration:/etc/netbox/config:z,ro
- netbox-media-files:/opt/netbox/netbox/media:rw
- netbox-reports-files:/opt/netbox/netbox/reports:rw
- netbox-scripts-files:/opt/netbox/netbox/scripts:rw
netbox-worker:
<<: *netbox
depends_on:
netbox:
condition: service_healthy
command:
- /opt/netbox/venv/bin/python
- /opt/netbox/netbox/manage.py
- rqworker
healthcheck:
start_period: 20s
timeout: 3s
interval: 15s
test: "ps -aux | grep -v grep | grep -q rqworker || exit 1"
netbox-housekeeping:
<<: *netbox
depends_on:
netbox:
condition: service_healthy
command:
- /opt/netbox/housekeeping.sh
healthcheck:
start_period: 20s
timeout: 3s
interval: 15s
test: "ps -aux | grep -v grep | grep -q housekeeping || exit 1"
# postgres
postgres:
image: docker.io/postgres:15-alpine
env_file: env/postgres.env
volumes:
- netbox-postgres-data:/var/lib/postgresql/data
# redis
redis:
image: docker.io/redis:7-alpine
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
env_file: env/redis.env
volumes:
- netbox-redis-data:/data
redis-cache:
image: docker.io/redis:7-alpine
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
env_file: env/redis-cache.env
volumes:
- netbox-redis-cache-data:/data
volumes:
netbox-media-files:
driver: local
netbox-postgres-data:
driver: local
netbox-redis-cache-data:
driver: local
netbox-redis-data:
driver: local
netbox-reports-files:
driver: local
netbox-scripts-files:
driver: local
+26
View File
@@ -0,0 +1,26 @@
---
services:
app:
image: "jc21/nginx-proxy-manager:latest"
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- "80:80" # Public HTTP Port
- "443:443" # Public HTTPS Port
- "81:81" # Admin Web Port
- "22:22" # SSH
# Add any other Stream port you want to expose
# - '21:21' # FTP
# Uncomment the next line if you uncomment anything in the section
# environment:
# Uncomment this if you want to change the location of
# the SQLite DB file within the container
# DB_SQLITE_FILE: "/data/database.sqlite"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
+1 -1
View File
@@ -28,7 +28,7 @@
#
# For more extensive installation and update instructions, refer to the
# documentation.
---
services:
broker:
image: docker.io/library/redis:8
+2 -4
View File
@@ -1,6 +1,4 @@
---
version: "3"
services:
qbittorrent:
image: linuxserver/qbittorrent:4.5.0
@@ -9,8 +7,8 @@ services:
# macvlan1910:
# ipv4_address: 192.168.10.3
environment:
- PUID=1000
- PGID=1000
- PUID
- PGID
- TZ=America/Detroit
- WEBUI_PORT=8000
volumes:
+17
View File
@@ -0,0 +1,17 @@
---
services:
remotely:
container_name: remotely
image: immybot/remotely:latest
ports:
- "5000:5000"
volumes:
- /var/www/remotely:/app/AppData
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_HTTP_PORTS=5000
- Remotely_ApplicationOptions__DbProvider=SQLite
- Remotely_ConnectionStrings__SQLite=Data Source=/app/AppData/Remotely.db
- Remotely_ConnectionStrings__SQLServer=Server=(localdb)\\myysqllocaldb;Database=Remotely-Server-53bc9b9d-9d6a-45d4-8429-2a2761773502;Trusted_Connection=True;MultipleActiveResultSets=true
- Remotely_ConnectionStrings__PostgresSQL=Server=Host=localhost;Database=Remotely;Username=postgres;
restart: unless-stopped
+3 -4
View File
@@ -1,5 +1,4 @@
---
version: "3.4"
services:
speedtest:
container_name: speedtest-tracker
@@ -10,10 +9,10 @@ services:
volumes:
- ./data:/config
environment:
- PUID=${UID}
- PGID=${GID}
- PUID
- PGID
- APP_KEY
- DB_CONNECTION=sqlite
- APP_KEY=${APP_KEY}
- APP_TIMEZONE=America/New_York
- DISPLAY_TIMEZONE=America/New_York
- PRUNE_RESULTS_OLDER_THAN=367
+2 -3
View File
@@ -1,5 +1,4 @@
---
version: "3.8"
services:
spoolman:
image: ghcr.io/donkie/spoolman:latest
@@ -12,9 +11,9 @@ services:
ports:
- "7912:8000"
environment:
- PUID
- PGID
- TZ=America/Detroit
- SPOOLMAN_DB_TYPE=sqlite
- SPOOLMAN_AUTOMATIC_BACKUP=TRUE
- SPOOLMAN_METRICS_ENABLED=TRUE
- PUID=1000
- PGID=1000
-2
View File
@@ -1,6 +1,4 @@
---
version: "3.4"
x-common-env: &common-env
PUID: ${UID}
PGID: ${GID}
+2 -4
View File
@@ -1,6 +1,4 @@
---
version: "3.3"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
@@ -10,7 +8,7 @@ services:
ports:
- 3001:3001
environment:
- UID=1000
- GID=1000
- UID
- GID
- TZ=America/New_York
restart: unless-stopped
-2
View File
@@ -1,6 +1,4 @@
---
version: "3.9"
services:
vaultwarden:
image: vaultwarden/server:latest
-2
View File
@@ -1,6 +1,4 @@
---
version: "3.5"
services:
game-server:
image: registry.gitlab.com/veloren/veloren/server-cli:weekly