1
0

syntax linting

This commit is contained in:
2025-07-13 13:32:34 -04:00
parent 66974f16e8
commit 2eeace8a0d
21 changed files with 964 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
---
# <REPLACE_NAME>
# <DESCRIPTION>
# Created by <APP_CREATOR_NAME>
# ↳ https://link.to.github
services:
<REPLACE_NAME>:
image: # creator/image_name:latest
container_name: <REPLACE_NAME>
restart: unless-stopped
networks:
- proxy
# ports:
# - 80:80
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
# - /path/to/host:path/in/container
# - unique_volume_name:/path/in/container
# labels:
# - 'enabled=true'
networks:
proxy:
external: true
# ip_address: 127.0.0.1
# volumes:
# unique_volume_name:
# driver: local
# Documentation available at https://link.to.docs

View File

@@ -0,0 +1,35 @@
---
# AdGuard
# Privacy focused DNS server
# Created by AdGuard Team
# ↳ https://github.com/adguardteam
services:
adguard:
image: adguard/adguardhome:latest
container_name: adguard
restart: unless-stopped
networks:
- proxy
ports:
- 53:53/tcp
- 53:53/udp
- 853:853 # DNS over QUIC
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/adguard/data:/opt/adguardhome/work
- /home/fxequals/docker/adguard:/opt/adguardhome/conf
networks:
proxy:
external: true
# Documentation available at https://adguard.com/kb/adguard-for-windows/admins-documentation/

View File

@@ -0,0 +1,132 @@
---
# Authentik
# 2FA for web apps
# Created by Authentik Security, LLC
# ↳ https://github.com/goauthentik/authentik
services:
authentik-postgresql:
image: docker.io/library/postgres:12-alpine
container_name: authentik-postgresql
restart: unless-stopped
networks:
- proxy
healthcheck:
test:
- CMD-SHELL
- pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
volumes:
- /home/fxequals/docker/authentik/database:/var/lib/postgresql/data
environment:
PUID: 1000
PGID: 1000
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-authentik}
POSTGRES_DB: ${PG_DB:-authentik}
env_file:
- .env
authentik-redis:
image: docker.io/library/redis:alpine
container_name: authentik-redis
command: --save 60 1 --loglevel warning
restart: unless-stopped
networks:
- proxy
healthcheck:
test:
- CMD-SHELL
- redis-cli ping | grep PONG
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
volumes:
- /home/fxequals/docker/authentik/redis:/data
environment:
PUID: 1000
PGID: 1000
authentik-server:
image: ghcr.io/goauthentik/server:latest
command: server
container_name: authentik-server
restart: unless-stopped
networks:
proxy:
ipv4_address: 172.18.1.10
ports:
- 9000:9000 # Remove after putting Authentik behind NGINX
- 9443:9443 # Remove after putting Authentik behind NGINX
environment:
PUID: 1000
PGID: 1000
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
volumes:
- /home/fxequals/docker/authentik/media:/media
- /home/fxequals/docker/authentik/custom-templates:/templates
env_file:
- .env
depends_on:
- authentik-postgresql
- authentik-redis
authentik-worker:
image: ghcr.io/goauthentik/server:latest
restart: unless-stopped
container_name: authentik-worker
command: worker
networks:
- proxy
environment:
PUID: 1000
PGID: 1000
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
volumes:
- /home/fxequals/docker/authentik/media:/media
- /home/fxequals/docker/authentik/certs:/certs
- /home/fxequals/docker/authentik/custom-templates:/templates
env_file:
- .env
depends_on:
- authentik-postgresql
- authentik-redis
networks:
proxy:
external: true
# Documentation available at https://docs.goauthentik.io/docs/install-config/install/docker-compose

View File

@@ -0,0 +1,132 @@
---
# Authentik
# 2FA for web apps
# Created by Authentik Security, LLC
# ↳ https://github.com/goauthentik/authentik
services:
authentik-postgresql:
image: docker.io/library/postgres:12-alpine
container_name: authentik-postgresql
restart: unless-stopped
networks:
- proxy
healthcheck:
test:
- CMD-SHELL
- pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
volumes:
- /home/fxequals/docker/authentik/database:/var/lib/postgresql/data
environment:
PUID: 1000
PGID: 1000
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-authentik}
POSTGRES_DB: ${PG_DB:-authentik}
env_file:
- .env
authentik-redis:
image: docker.io/library/redis:alpine
container_name: authentik-redis
command: --save 60 1 --loglevel warning
restart: unless-stopped
networks:
- proxy
healthcheck:
test:
- CMD-SHELL
- redis-cli ping | grep PONG
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
volumes:
- /home/fxequals/docker/authentik/redis:/data
environment:
PUID: 1000
PGID: 1000
authentik-server:
image: ghcr.io/goauthentik/server:latest
command: server
container_name: authentik-server
restart: unless-stopped
networks:
proxy:
ipv4_address: 172.18.1.10
ports:
- 9000:9000 # Remove after putting Authentik behind NGINX
- 9443:9443 # Remove after putting Authentik behind NGINX
environment:
PUID: 1000
PGID: 1000
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
volumes:
- /home/fxequals/docker/authentik/media:/media
- /home/fxequals/docker/authentik/custom-templates:/templates
env_file:
- .env
depends_on:
- authentik-postgresql
- authentik-redis
authentik-worker:
image: ghcr.io/goauthentik/server:latest
restart: unless-stopped
container_name: authentik-worker
command: worker
networks:
- proxy
environment:
PUID: 1000
PGID: 1000
AUTHENTIK_REDIS__HOST: authentik-redis
AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
volumes:
- /home/fxequals/docker/authentik/media:/media
- /home/fxequals/docker/authentik/certs:/certs
- /home/fxequals/docker/authentik/custom-templates:/templates
env_file:
- .env
depends_on:
- authentik-postgresql
- authentik-redis
networks:
proxy:
external: true
# Documentation available at https://docs.goauthentik.io/docs/install-config/install/docker-compose

View File

@@ -0,0 +1,35 @@
---
# Dockge
# Modern docker-compose file manager
# Created by louislam
# ↳ https://github.com/louislam/dockge
services:
dockge:
image: louislam/dockge:latest
container_name: dockge
restart: unless-stopped
networks:
- proxy
# ports:
# - 5001:5001
environment:
PUID: 1000
PGID: 1000
DOCKGE_STACKS_DIR: "/opt/dockge/stacks"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /opt/dockge/stacks:/opt/dockge/stacks
- ./data:/app/data
networks:
proxy:
external: true
# Documentation available at https://github.com/louislam/dockge

View File

@@ -0,0 +1,32 @@
---
# Dozzle
# Log viewer for Docker containers
# Created by amir20
# ↳ https://github.com/amir20/dozzle
services:
dozzle:
image: amir20/dozzle:latest
container_name: dozzle
restart: unless-stopped
networks:
- proxy
# ports:
# - 8080:8080
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock
networks:
proxy:
external: true
# Documentation available at https://dozzle.dev/

View File

@@ -0,0 +1,35 @@
---
# EmulatorJS
# Retro game emulation in the web browser
# Created by michael-j-green
# ↳ https://github.com/EmulatorJS/EmulatorJS
services:
emulator-js:
image: lscr.io/linuxserver/emulatorjs:latest
container_name: emulator-js
restart: unless-stopped
networks:
- proxy
# ports:
# - 80:80
# - 3000:3000
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/emulator-js/config:/config
- /home/fxequals/docker/emulator-js/data:/data
- /home/fxequals/docker/emulator-js/
networks:
proxy:
external: true
# Documentation available at https://emulatorjs.org/docs

View File

@@ -0,0 +1,34 @@
---
# FreshRSS
# An RSS aggregator app
# Created by
# ↳ https://github.com/FreshRSS/FreshRSS
services:
fresh-rss:
image: freshrss/freshrss:latest
container_name: fresh-rss
restart: unless-stopped
networks:
- proxy
# ports:
# - 80:80
environment:
PUID: 1000
PGID: 1000
CRON_MIN: '13,43' # Specifies Feed Update Time
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/fresh-rss/data:/var/www/FreshRSS/data
- /home/fxequals/docker/fresh-rss/extensions:/var/www/FreshRss/extensions
networks:
proxy:
external: true
# Documentation available at https://freshrss.github.io/FreshRSS/en/admins/01_Index.html

View File

@@ -0,0 +1,32 @@
---
# Full Text RSS
# Converts RSS feed snipits into full text articles
# Created by Five Filters
# ↳ https://github.com/heussd/fivefilters-full-text-rss-docker
services:
full-text-rss:
image: heussd/fivefilters-full-text-rss:latest
container_name: full-text-rss
restart: unless-stopped
networks:
- proxy
# ports:
# - 80:80
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/full-text-rss/cache:/var/www/html/cache/rss
networks:
proxy:
external: true
# Documentation available at https://github.com/heussd/fivefilters-full-text-rss-docker

View File

@@ -0,0 +1,32 @@
---
# Gitea
# Open-source Github alternative
# Gitea
# ↳ https://github.com/go-gitea/gitea
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: unless-stopped
networks:
- proxy
ports:
- 2222:22
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/gitea:/data
networks:
proxy:
external: true
# Documentation available at https://docs.gitea.com/

View File

@@ -0,0 +1,34 @@
---
# GoAccess
# Web based log visualizer
# Created by xavierh
# ↳ https://github.com/allinurl/goaccess
services:
goaccess:
image: xavierh/goaccess-for-nginxproxymanager:latest
container_name: goaccess
restart: unless-stopped
networks:
- proxy
# ports:
# - 7880:7880
environment:
PUID: 1000
PGID: 1000
HTML_REFRESH: 5
EXCLUDE_IPS: '172.18.0.1'
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/nginx/data/logs:/opt/log
networks:
proxy:
external: true
# Documentation available at https://goaccess.io/man

View File

@@ -0,0 +1,33 @@
---
# Homepage
# A dashboard for your self-hosted environment
# Created by
# ↳ https://github.com/gethomepage/homepage
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
restart: unless-stopped
networks:
- proxy
# ports:
# - 3000:3000
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/homepage/config:/app/config
- /home/fxequals/docker/homepage/images:/app/public/images
networks:
proxy:
external: true
# Documentation available at https://gethomepage.dev/

View File

@@ -0,0 +1,35 @@
---
# NGINX Proxy Manager
# A reverse proxy for web apps
# Created by Igor Sysoev
# ↳ https://github.com/nginx/nginx
services:
nginx:
image: jc21/nginx-proxy-manager:latest
container_name: nginx-proxy-manager
restart: unless-stopped
networks:
- proxy
ports:
- 80:80
- 443:443
# - 81:81
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/nginx/data:/data
- /home/fxequals/docker/nginx/letsencrypt:/etc/letsencrypt
networks:
proxy:
external: true
# Documentation available at https://nginxproxymanager.com/guide/

View File

@@ -0,0 +1,32 @@
---
# PrivateBin
# An opensource Pastebin zero-knowledge server
# Created by Pastebin
# ↳ https://github.com/PrivateBin/PrivateBin
services:
privatebin:
image: privatebin/nginx-fpm-alpine:latest
container_name: privatebin
restart: unless-stopped
networks:
- proxy
# ports:
# - 8080:8080
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/privatebin/data:/srv/data # sudo chown 65534:82 on host folder
networks:
proxy:
external: true
# Documentation available at https://github.com/PrivateBin/docker-nginx-fpm-alpine

View File

@@ -0,0 +1,37 @@
---
# Remotely
# Web based remote access and support
# Created by ?
# ↳ https://github.com/immense/Remotely
services:
remotely:
image: immybot/remotely:latest
container_name: remotely
restart: unless-stopped
networks:
- proxy
# ports:
# - 5000:5000
environment:
PUID: 1000
PGID: 1000
ASPNETCORE_ENVIRONMENT: 'Production'
ASPNETCORE_HTTP_PORTS: 5000
Remotely_ApplicationOptions__DbProvider: 'SQLite'
Remotely_ApplicationOptions__DockerGateway: '172.18.0.1'
Remotely_ConnectionStrings__SQLite=Data Source: /app/AppData/Remotely.db
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/remotely/data:/app/AppData
networks:
proxy:
external: true
# Documentation available at https://github.com/immense/Remotely

View File

@@ -0,0 +1,49 @@
---
# Shlink
# Web link URL shortener
# Created by Alejandro Celaya
# ↳ https://github.com/shlinkio/shlink
services:
shlink-server:
image: shlinkio/shlink:latest
container_name: shlink
restart: unless-stopped
networks:
- proxy
# ports:
# - 8080:8080
environment:
PUID: 1000
PGID: 1000
DEFAULT_DOMAIN: 'links.mydomain.net'
IS_HTTPS_ENABLED: false
GEOLITE_LICENSE_KEY: ${GEOKEY}
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/shlink/data:/data
shlink-web-client:
image: shlinkio/shlink-web-client
container_name: shlink-web-client
restart: unless-stopped
networks:
- proxy
environment:
PUID: 1000
PGID: 1000
SHLINK_SERVER_URL: 'https://shlinks.mydomain.net'
SHLINK_SERVER_API_KEY: ${API_KEY} # <-- See Documentation
networks:
proxy:
external: true
# Documentation available at https://shlink.io/documentation/install-docker-image/

View File

@@ -0,0 +1,32 @@
---
# sPDF
# Self-hosted suite of PDF tools
# Created by Stirling PDF
# ↳ https://github.com/Stirling-Tools/Stirling-PDF
services:
spdf:
image: frooodle/s-pdf:latest
container_name: spdf
restart: unless-stopped
networks:
- proxy
# ports:
# - 8080:8080
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/spdf/configs:/configs
networks:
proxy:
external: true
# Documentation available at https://hub.docker.com/r/stirlingtools/stirling-pdf

View File

@@ -0,0 +1,32 @@
---
# Uptime Kuma
# Web based status monitoring
# Created by Louise Lam
# ↳ https://github.com/louislam/uptime-kuma
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: unless-stopped
networks:
- proxy
# ports:
# - 3001:3001
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/uptime-kuma/data:/app/data
networks:
proxy:
external: true
# Documentation available at https://github.com/louislam/uptime-kuma/wiki

View File

@@ -0,0 +1,32 @@
---
# Vaultwarden
# Open-source Bitwarden password manager
# Created by Daniel García
# ↳ https://github.com/dani-garcia/vaultwarden
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
networks:
- proxy
# ports:
# - 80:80
environment:
PUID: 1000
PGID: 1000
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/vaultwarden/data:/data
networks:
proxy:
external: true
# Documentation available at https://github.com/dani-garcia/vaultwarden/wiki

View File

@@ -0,0 +1,39 @@
---
# Watchtower
# Docker Image Updater & Notifications
# Created by containrrr
# ↳ https://github.com/containrrr/watchtower
services:
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
restart: unless-stopped
networks:
- proxy
environment:
PUID: 1000
PGID: 1000
WATCHTOWER_MONITOR_ONLY: true
WATCHTOWER_NOTIFICATIONS: email
WATCHTOWER_NOTIFICATION_EMAIL_FROM: ${WATCHTOWER_NOTIFICATION_EMAIL_FROM}
WATCHTOWER_NOTIFICATION_EMAIL_TO: ${WATCHTOWER_NOTIFICATION_EMAIL_TO}
WATCHTOWER_NOTIFICATION_EMAIL_SERVER: ${WATCHTOWER_NOTIFICATION_EMAIL_SERVER}
WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT: ${WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT}
WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER: ${WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER}
WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD: ${WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD}
WATCHTOWER_NOTIFICATION_EMAIL_DELAY: 3
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock
networks:
proxy:
external: true
# Documentation available at https://containrrr.dev/watchtower/

View File

@@ -0,0 +1,69 @@
---
# WordPress
# Content Management System
# Created by WordPress Foundation
# ↳ https://github.com/WordPress
services:
wordpress:
image: docker.io/bitnami/wordpress:latest
container_name: wordpress-server
restart: unless-stopped
depends_on:
- wordpress-mariadb
networks:
- proxy
# ports:
# - 80:80
# - 443:443
environment:
PUID: 1000
PGID: 1000
WORDPRESS_DATABASE_HOST: 'wordpress-mariadb'
WORDPRESS_DATABASE_USER: ${DB_USER}
WORDPRESS_DATABASE_PASSWORD: ${DB_PASS}
WORDPRESS_DATABASE_PORT_NUMBER: 3306
WORDPRESS_DATABASE_NAME: 'wordpress'
WORDPRESS_USERNAME: ${WP_USER}
WORDPRESS_PASSWORD: ${WP_PASS}
WORDPRESS_EMAIL: ${WP_EMAIL}
WORDPRESS_FIRSTNAME: ${WP_FNAME}
WORDPRESS_LASTNAME: ${WP_LNAME}
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/wordpress/data:/bitnami/wordpress # sudo chown 1001 on host folder
wordpress-mariadb:
image: docker.io/bitnami/mariadb:latest
container_name: wordpress-mariadb
restart: unless-stopped
networks:
- proxy
# ports:
# - 3306:3306
environment:
PUID: 1000
PGID: 1000
ALLOW_EMPTY_PASSWORD: no
MARIADB_USER: ${DB_USER}
MARIADB_PASSWORD: ${DB_PASS}
MARIADB_DATABASE: wordpress
MARIADB_ROOT_PASSWORD: ${DB_ROOT}
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /home/fxequals/docker/wordpress/database:/bitnami/mariadb # sudo chown 1001 on host folder
networks:
proxy:
external: true
# Documentation available at https://wordpress.com/support/