Compare commits

...

No commits in common. 'main' and 'master' have entirely different histories.
main ... master

@ -1,30 +0,0 @@
# awesome-compose
docker-compose templates for many services
Goals:
Make a collection of scripts that can be deployed easily
To do:
Document everything.
Move scripts to .env configurations.
Homelab:
1x Unraid as NAS and Servarr Stack
1x Ubuntu 22.04 VM (Home)
2x Cloud Hosted VPS (Oracle/Google free)
1x KVM VPS
Network:
Public IP accessible for each server. (4 HTTP(s) endpoints)
Tailscale private network between all servers.
Backup:
STFPGo Server with Duplicati on each server.
Management:
Dozzle and GoAccess
Security:
Central Crowdsec API with all remote hosts running iptables bouncer.
Only reverse proxy services are allowed external endpoints.

@ -0,0 +1 @@
Subproject commit 319e5a3e6cfe4e122e0548093c7b023a68374e62

@ -1 +0,0 @@
https://docs.azuracast.com/en/getting-started/installation/docker

@ -1 +0,0 @@
https://github.com/ruanbekker/drone-gitea-on-docker

@ -1,34 +0,0 @@
version: '2'
services:
db:
image: mariadb:10.1
environment:
MYSQL_ROOT_PASSWORD: your_mysql_root_password
MYSQL_USER: your_filerun_username
MYSQL_PASSWORD: your_filerun_password
MYSQL_DATABASE: your_filerun_database
volumes:
- /filerun/db:/var/lib/mysql
web:
image: filerun/filerun:8.1
environment:
FR_DB_HOST: db
FR_DB_PORT: 3306
FR_DB_NAME: your_filerun_database
FR_DB_USER: your_filerun_username
FR_DB_PASS: your_filerun_password
APACHE_RUN_USER: www-data
APACHE_RUN_USER_ID: 33
APACHE_RUN_GROUP: www-data
APACHE_RUN_GROUP_ID: 33
depends_on:
- db
links:
- db:db
ports:
- "80:80"
volumes:
- /filerun/html:/var/www/html
- /filerun/user-files:/user-files

@ -1,3 +0,0 @@
{
"BASEPATH": "../hass-config"
}

@ -1,66 +0,0 @@
version: '3'
services:
homeassistant:
container_name: hass
image: homeassistant/home-assistant
volumes:
- ./hass-config:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
network_mode: host
depends_on:
- mariadb
- mosquitto
mariadb:
image: linuxserver/mariadb
container_name: mariadb
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
MYSQL_DATABASE: ha_db
MYSQL_USER: homeassistant
MYSQL_PASSWORD: "${HA_MYSQL_PASSWORD}"
PUID: 1000
PGID: 1000
volumes:
- ./mariadb:/config
ports:
- "3306:3306"
nodered:
container_name: nodered
image: nodered/node-red
ports:
- "1880:1880"
volumes:
- ./nodered:/data
depends_on:
- homeassistant
- mosquitto
environment:
TZ: "Europe/Madrid"
restart: unless-stopped
mosquitto:
image: eclipse-mosquitto
container_name: mosquitto
restart: unless-stopped
ports:
- "1883:1883"
volumes:
- "./mosquitto/config:/mosquitto/config"
- "./mosquitto/data:/mosquitto/data"
- "./mosquitto/log:/mosquitto/log"
environment:
- TZ=Europe/Madrid
user: "${PUID}:${PGID}"
hass-configurator:
image: "causticlab/hass-configurator-docker:x86_64"
container_name: hass-configurator
restart: unless-stopped
ports:
- "3218:3218/tcp"
depends_on:
- homeassistant
volumes:
- "./configurator-config:/config"
- "./hass-config:/hass-config"
user: "${PUID}:${PGID}"

@ -1,23 +0,0 @@
default_config:
# For homeassistant v2021.7.0 and above add this http block
http:
use_x_forwarded_for: true
trusted_proxies:
- 192.168.0.171 # Add the IP address of the proxy server
panel_iframe:
configurator:
title: Configurator
icon: mdi:wrench
url: http://192.168.0.171:3218/
require_admin: true
nodered:
title: Node-Red
icon: mdi:shuffle-variant
url: http://192.168.0.171:1880/
require_admin: true
mqtt:
broker: 192.168.0.171
recorder:
db_url: mysql://homeassistant:ha_dbdatabasepassword@192.168.0.171/ha_db?charset=utf8
purge_keep_days: 30

@ -1,5 +0,0 @@
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
listener 1883
allow_anonymous true

@ -1,4 +0,0 @@
MYSQL_ROOT_PASSWORD=mariadbrootpassword
HA_MYSQL_PASSWORD=ha_dbdatabasepassword
PUID=1000
PGID=1000

@ -1,79 +0,0 @@
###################################################################################
# Database
###################################################################################
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE_NAME=immich
# Optional Database settings:
# DB_PORT=5432
###################################################################################
# Redis
###################################################################################
REDIS_HOSTNAME=immich_redis
# Optional Redis settings:
# REDIS_PORT=6379
# REDIS_DBINDEX=0
# REDIS_PASSWORD=
# REDIS_SOCKET=
###################################################################################
# Upload File Location
#
# This is the location where uploaded files are stored.
###################################################################################
UPLOAD_LOCATION=absolute_location_on_your_machine_where_you_want_to_store_the_backup
###################################################################################
# Reverse Geocoding
#
# Reverse geocoding is done locally which has a small impact on memory usage
# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable
# This ranges from 0-3 with 3 being the most precise
# 3 - Cities > 500 population: ~200MB RAM
# 2 - Cities > 1000 population: ~150MB RAM
# 1 - Cities > 5000 population: ~80MB RAM
# 0 - Cities > 15000 population: ~40MB RAM
####################################################################################
# DISABLE_REVERSE_GEOCODING=false
# REVERSE_GEOCODING_PRECISION=3
####################################################################################
# WEB - Optional
#
# Custom message on the login page, should be written in HTML form.
# For example:
# PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"
####################################################################################
PUBLIC_LOGIN_PAGE_MESSAGE=
####################################################################################
# Alternative Service Addresses - Optional
#
# This is an advanced feature for users who may be running their immich services on different hosts.
# It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers.
# Note: immich-microservices is bound to 3002, but no references are made
####################################################################################
IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
####################################################################################
# Alternative API's External Address - Optional
#
# This is an advanced feature used to control the public server endpoint returned to clients during Well-known discovery.
# You should only use this if you want mobile apps to access the immich API over a custom URL. Do not include trailing slash.
# NOTE: At this time, the web app will not be affected by this setting and will continue to use the relative path: /api
# Examples: http://localhost:3001, http://immich-api.example.com, etc
####################################################################################
#IMMICH_API_URL_EXTERNAL=http://localhost:3001

@ -1,86 +0,0 @@
version: '3.7'
services:
server:
image: 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
- ./docker/app/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:192.168.0.124 " #host and ip
app:
image: invoiceninja/invoiceninja:5
env_file: env
restart: always
volumes:
- ./config/hosts:/etc/hosts:ro
- ./docker/app/public:/var/www/app/public:rw,delegated
- ./docker/app/storage:/var/www/app/storage:rw,delegated
depends_on:
- db
networks:
- invoiceninja
extra_hosts:
- "in5.localhost:192.168.0.124 " #host and ip
db:
image: mysql:8
# When running on ARM64 use MariaDB instead of MySQL
# image: mariadb:10.4
# For auto DB backups comment out image and use the build block below
# build:
# context: ./config/mysql
ports:
- "3305:3306"
restart: always
env_file: env
volumes:
- ./docker/mysql/data:/var/lib/mysql:rw,delegated
# remove comments for next 4 lines if you want auto sql backups
#- ./docker/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:192.168.0.124 " #host and ip
# THIS IS ONLY A VALID CONFIGURATION FOR IN 4. DO NOT USE FOR IN 5.
# cron:
# image: invoiceninja/invoiceninja:alpine-4
# volumes:
# - ./docker/app/public:/var/www/app/public:rw,delegated
# - ./docker/app/storage:/var/www/app/storage:rw,delegated
# - ./docker/app/public/logo:/var/www/app/public/logo:rw,delegated
# entrypoint: |
# /bin/sh -c 'sh -s <<EOF
# trap "break;exit" SIGHUP SIGINT SIGTERM
# sleep 300s
# while /bin/true; do
# ./artisan ninja:send-invoices
# ./artisan ninja:send-reminders
# sleep 1d
# done
# EOF'
# networks:
# - invoiceninja
#
networks:
invoiceninja:

@ -1,28 +0,0 @@
version: '3.3'
services:
iredmail:
container_name: iredmail
hostname: mail.mydomain.com
ports:
- '80:80'
- '443:443'
- '110:110'
- '995:995'
- '143:143'
- '993:993'
- '25:25'
- '465:465'
- '587:587'
volumes:
- 'iredmail_backup-mysql:/var/vmail/backup/mysql'
- 'iredmail_mailboxes:/var/vmail/vmail1'
- 'iredmail_mlmmj:/var/vmail/mlmmj'
- 'iredmail_mlmmj_archive:/var/vmail/mlmmj-archive'
- 'iredmail_imapsieve_copy:/var/vmail/imapsieve_copy'
- 'iredmail_custom:/opt/iredmail/custom'
- 'iredmail_ssl:/opt/iredmail/ssl'
- 'iredmail_mysql:/var/lib/mysql'
- 'iredmail_clamav:/var/lib/clamav'
- 'iredmail_sa_rules:/var/lib/spamassassin'
- 'iredmail_postfix_queue:/var/spool/postfix'
image: 'iredmail/mariadb:stable'

@ -1,5 +0,0 @@
HOSTNAME=mail.mydomain.com >> iredmail-docker.conf
FIRST_MAIL_DOMAIN=mydomain.com >> iredmail-docker.conf
FIRST_MAIL_DOMAIN_ADMIN_PASSWORD=my-secret-password >> iredmail-docker.conf
MLMMJADMIN_API_TOKEN=$(openssl rand -base64 32) >> iredmail-docker.conf
ROUNDCUBE_DES_KEY=$(openssl rand -base64 24) >> iredmail-docker.conf

@ -1,15 +0,0 @@
version: '2'
services:
kanboard:
image: kanboard/kanboard:latest
ports:
- "80:80"
- "443:443"
volumes:
- kanboard_data:/var/www/app/data
- kanboard_plugins:/var/www/app/plugins
- kanboard_ssl:/etc/nginx/ssl
volumes:
kanboard_data:
kanboard_plugins:
kanboard_ssl:

@ -1,33 +0,0 @@
version: '3.7'
services:
kopia:
image: kopia/kopia:latest
hostname: Hostname
container_name: Kopia
restart: unless-stopped
ports:
- 51515:51515
# Setup the server that provides the web gui
command:
- server
- start
- --disable-csrf-token-checks
- --insecure
- --address=0.0.0.0:51515
- --server-username=USERNAME
- --server-password=SECRET_PASSWORD
environment:
# Set repository password
KOPIA_PASSWORD: "SECRET"
USER: "User"
volumes:
# Mount local folders needed by kopia
- ./config:/app/config
- ./cache:/app/cache
- ./logs:/app/logs
# Mount local folders to snapshot
- ./data:/data:ro
# Mount repository location
- ./repository:/repository
# Mount path for browsing mounted snaphots
- ./tmp:/tmp:shared

@ -1,23 +0,0 @@
version: "3"
services:
mail-autodiscover-autoconfig:
image: wdes/mail-autodiscover-autoconfig:latest
mem_limit: 120M
mem_reservation: 50M
restart: on-failure:40
ports:
- "8088:80"
environment:
ROCKET_PROFILE: production
ROCKET_ADDRESS: "0.0.0.0"
ROCKET_PORT: "80"
# https://www.uuidgenerator.net/
# Re-generate the two UUIDs below
APPLE_MAIL_UUID: ff83a13b-c4e6-41c5-bf54-0a244bb3bf5d
APPLE_PROFILE_UUID: b8e39daa-64a3-4928-bb86-cb4b551fdd57
# CUSTOM_DOMAINS: foo.tld
# (optional: CUSTOM_DOMAINS) List of domains that will use {imap,pop,smtp}.domain.tld instead of the hosts below
IMAP_HOSTNAME: imap.mails.provider.tld
POP_HOSTNAME: pop.mails.provider.tld
SMTP_HOSTNAME: smtp.mails.provider.tld

@ -1,11 +0,0 @@
version: "3"
services:
mailrise:
image: yoryan/mailrise
container_name: mailrise
restart: unless-stopped
volumes:
- ./mailrise.conf:/etc/mailrise.conf:ro
ports:
- 8025:8025

@ -1,9 +0,0 @@
configs:
gotify:
urls:
- gotifys://<url>/<token>/?priority=high
smtp:
auth:
basic:
notify: testingonly
backup: testingonly

@ -1,20 +0,0 @@
# docker-compose.yml file
version: '3.8'
services:
db:
image: mariadb:latest
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
volumes:
- ./data:/var/lib/mysql
- ./backups:/backups
ports:
- "3306:3306"
command: >
bash -c "while true; do
mysqldump -u root -p${MYSQL_ROOT_PASSWORD} --all-databases | gzip > /backups/db_$(date +%Y%m%d%H%M%S).sql.gz;
sleep 24h;
done"

@ -1,2 +0,0 @@
MYSQL_USER=yourusername
MYSQL_PASSWORD=yourpassword

@ -1 +0,0 @@
https://github.com/Lattyware/massivedecks

@ -1,15 +0,0 @@
services:
minio:
image: minio/minio
container_name: minio
ports:
- "9000:9000"
- "9001:9001"
volumes:
- ~/storage/minio:/data
environment:
MINIO_ROOT_USER: lunchbox
MINIO_ROOT_PASSWORD: password
MINIO_BROWSER_REDIRECT_URL: https://console.redirect
MINIO_EXTERNAL_URL: https://api.end.point
command: server --console-address ":9001" /data

@ -1,20 +0,0 @@
version: '3.8'
services:
db:
image: postgres:latest
restart: unless-stopped
environment:
POSTGRES_PASSWORD: example
POSTGRES_USER: yourusername
POSTGRES_DB: yourdatabase
volumes:
- ./data:/var/lib/postgresql/data
- ./backups:/backups
ports:
- "5432:5432"
command: >
bash -c "while true; do
pg_dumpall -U ${POSTGRES_USER} -f /backups/db_$(date +%Y%m%d%H%M%S).sql;
gzip /backups/db_$(date +%Y%m%d%H%M%S).sql;
sleep 24h;
done"

@ -1,34 +0,0 @@
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest-arm64v8
command: hbbs -r example.com:21117
volumes:
- ./data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest-arm64v8
command: hbbr
volumes:
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped

@ -1,36 +0,0 @@
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
command: hbbs -r example.com:21117
volumes:
- ./data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save