Compare commits
11 Commits
8e7620c2cd
...
2f8a30d715
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f8a30d715 | ||
|
|
690ea8e042 | ||
|
|
1288dacb00 | ||
|
|
c4f20395b3 | ||
|
|
5e4b41c3c2 | ||
|
|
66ff3a82b3 | ||
|
|
56bf5f741c | ||
|
|
b295a6e4cc | ||
|
|
fe7e815482 | ||
|
|
9d1f5e8f1c | ||
|
|
4ada5687d3 |
72
Checkmate/docker-compose.yaml
Normal file
72
Checkmate/docker-compose.yaml
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
services:
|
||||||
|
client:
|
||||||
|
image: bluewaveuptime/uptime_client:latest
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
UPTIME_APP_API_BASE_URL: "https://checkmate.jimsgarage.co.uk/api/v1"
|
||||||
|
#ports:
|
||||||
|
# - "80:80"
|
||||||
|
# - "443:443"
|
||||||
|
depends_on:
|
||||||
|
- server
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
- checkmate
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.checkmate.entrypoints=http"
|
||||||
|
- "traefik.http.routers.checkmate.rule=Host(`checkmate.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.middlewares.checkmate-https-redirect.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.checkmate.middlewares=checkmate-https-redirect"
|
||||||
|
- "traefik.http.routers.checkmate-secure.entrypoints=https"
|
||||||
|
- "traefik.http.routers.checkmate-secure.rule=Host(`checkmate.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.routers.checkmate-secure.tls=true"
|
||||||
|
- "traefik.http.routers.checkmate-secure.service=checkmate"
|
||||||
|
- "traefik.http.services.checkmate.loadbalancer.server.port=80"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
server:
|
||||||
|
image: bluewaveuptime/uptime_server:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "5000:5000"
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- mongodb
|
||||||
|
environment:
|
||||||
|
- DB_CONNECTION_STRING=mongodb://mongodb:27017/uptime_db
|
||||||
|
- REDIS_HOST=redis
|
||||||
|
- PAGESPEED_API_KEY=YOUR_API_KEY
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
networks:
|
||||||
|
- checkmate
|
||||||
|
redis:
|
||||||
|
image: bluewaveuptime/uptime_redis:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "6379:6379"
|
||||||
|
volumes:
|
||||||
|
- ./redis/data:/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "redis-cli", "ping"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 5
|
||||||
|
start_period: 5s
|
||||||
|
networks:
|
||||||
|
- checkmate
|
||||||
|
mongodb:
|
||||||
|
image: bluewaveuptime/uptime_database_mongo:latest
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./mongo/data:/data/db
|
||||||
|
command: ["mongod", "--quiet"]
|
||||||
|
ports:
|
||||||
|
- "27017:27017"
|
||||||
|
networks:
|
||||||
|
- checkmate
|
||||||
|
|
||||||
|
networks:
|
||||||
|
checkmate:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
14
Cloudflare-HTTPS/cloudflared/docker-compose.yaml
Normal file
14
Cloudflare-HTTPS/cloudflared/docker-compose.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
services:
|
||||||
|
tunnel:
|
||||||
|
container_name: cloudflared-tunnel
|
||||||
|
image: cloudflare/cloudflared
|
||||||
|
restart: unless-stopped
|
||||||
|
command: tunnel run
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
environment:
|
||||||
|
- TUNNEL_TOKEN=${CLOUDFLARE_TUNNEL_TOKEN}
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
26
Cloudflare-HTTPS/nginx/docker-compose.yaml
Normal file
26
Cloudflare-HTTPS/nginx/docker-compose.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
services:
|
||||||
|
nginx:
|
||||||
|
image: lscr.io/linuxserver/nginx:latest
|
||||||
|
container_name: nginx
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Etc/UTC
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.routers.nginx.entrypoints=http"
|
||||||
|
- "traefik.http.routers.nginx.rule=Host(`nginx.jimsgarage-demos.co.uk`)"
|
||||||
|
- "traefik.http.middlewares.nginx-https-redirect.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.nginx.middlewares=nginx-https-redirect"
|
||||||
|
- "traefik.http.routers.nginx-secure.entrypoints=https"
|
||||||
|
- "traefik.http.routers.nginx-secure.rule=Host(`nginx.jimsgarage-demos.co.uk`)"
|
||||||
|
- "traefik.http.routers.nginx-secure.tls=true"
|
||||||
|
- "traefik.http.routers.nginx-secure.tls.certresolver=cloudflare"
|
||||||
|
- "traefik.http.routers.nginx-secure.service=nginx"
|
||||||
|
- "traefik.http.services.nginx.loadbalancer.server.port=80"
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
0
Guacamole/.env
Normal file
0
Guacamole/.env
Normal file
100
Guacamole/docker-compose.yaml
Normal file
100
Guacamole/docker-compose.yaml
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
####################################################################################
|
||||||
|
# docker-compose file for Apache Guacamole
|
||||||
|
# created by PCFreak 2017-06-28
|
||||||
|
#
|
||||||
|
# https://github.com/boschkundendienst/guacamole-docker-compose
|
||||||
|
#
|
||||||
|
# Apache Guacamole is a clientless remote desktop gateway. It supports standard
|
||||||
|
# protocols like VNC, RDP, and SSH. We call it clientless because no plugins or
|
||||||
|
# client software are required. Thanks to HTML5, once Guacamole is installed on
|
||||||
|
# a server, all you need to access your desktops is a web browser.
|
||||||
|
####################################################################################
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# The initial login to the guacamole webinterface is:
|
||||||
|
#
|
||||||
|
# Username: guacadmin
|
||||||
|
# Password: guacadmin
|
||||||
|
#
|
||||||
|
#####################################################################################
|
||||||
|
|
||||||
|
# services
|
||||||
|
services:
|
||||||
|
# guacd
|
||||||
|
guacd:
|
||||||
|
container_name: guacd
|
||||||
|
image: guacamole/guacd:latest
|
||||||
|
networks:
|
||||||
|
- guacnetwork
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./drive:/drive:rw
|
||||||
|
- ./record:/record:rw
|
||||||
|
# mysql
|
||||||
|
mysql:
|
||||||
|
image: mysql:latest
|
||||||
|
container_name: mysql
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: root_pass
|
||||||
|
MYSQL_DATABASE: guacamole_db
|
||||||
|
MYSQL_USER: guac_user
|
||||||
|
MYSQL_PASSWORD: guac_pass
|
||||||
|
volumes:
|
||||||
|
- ./init:/docker-entrypoint-initdb.d:z
|
||||||
|
- ./data:/var/lib/mysql
|
||||||
|
networks:
|
||||||
|
- guacnetwork
|
||||||
|
|
||||||
|
# guacamole
|
||||||
|
guacamole:
|
||||||
|
container_name: guacamole
|
||||||
|
image: guacamole/guacamole:latest
|
||||||
|
env_file:
|
||||||
|
- .env # store secrets e.g., password
|
||||||
|
group_add:
|
||||||
|
- "1000"
|
||||||
|
depends_on:
|
||||||
|
- guacd
|
||||||
|
- mysql
|
||||||
|
environment:
|
||||||
|
- GUACD_HOSTNAME=guacd
|
||||||
|
- MYSQL_HOSTNAME=mysql
|
||||||
|
- MYSQL_DATABASE=guacamole_db
|
||||||
|
- MYSQL_USER=guac_user
|
||||||
|
- MYSQL_PASSWORD=guac_pass
|
||||||
|
- MYSQL_ROOT_PASSWORD=rootpass
|
||||||
|
- RECORDING_SEARCH_PATH=/record
|
||||||
|
- WEBAPP_CONTEXT=ROOT # removes the need to use /guacamole in the URL
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
- guacnetwork
|
||||||
|
volumes:
|
||||||
|
- ./record:/record:rw
|
||||||
|
ports:
|
||||||
|
## enable next line if not using nginx
|
||||||
|
- 8095:8080/tcp # Guacamole is on :8080/guacamole, not /.
|
||||||
|
## enable next line when using nginx
|
||||||
|
# - 8080/tcp
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.guacamole.entrypoints=http"
|
||||||
|
- "traefik.http.routers.guacamole.rule=Host(`guacamole.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.middlewares.guacamole-https-redirect.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.guacamole.middlewares=guacamole-https-redirect"
|
||||||
|
- "traefik.http.routers.guacamole-secure.entrypoints=https"
|
||||||
|
- "traefik.http.routers.guacamole-secure.rule=Host(`guacamole.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.routers.guacamole-secure.tls=true"
|
||||||
|
- "traefik.http.routers.guacamole-secure.service=guacamole"
|
||||||
|
- "traefik.http.services.guacamole.loadbalancer.server.port=8080"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
|
||||||
|
# networks
|
||||||
|
# create a network 'guacnetwork' in mode 'bridged'
|
||||||
|
networks:
|
||||||
|
guacnetwork:
|
||||||
|
driver: bridge
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
17
Guacamole/prepare.sh
Normal file
17
Guacamole/prepare.sh
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# check if docker is running
|
||||||
|
if ! (docker ps >/dev/null 2>&1)
|
||||||
|
then
|
||||||
|
echo "docker daemon not running, will exit here!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
echo "Preparing folder init and creating ./init/initdb.sql"
|
||||||
|
mkdir ./init >/dev/null 2>&1
|
||||||
|
chmod -R +x ./init
|
||||||
|
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > ./init/initdb.sql
|
||||||
|
echo "done"
|
||||||
|
echo "Preparing folder record and set permissions"
|
||||||
|
mkdir ./record >/dev/null 2>&1
|
||||||
|
chmod -R 777 ./record
|
||||||
|
echo "done"
|
||||||
5
Links/affiliate.md
Normal file
5
Links/affiliate.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# Unifi
|
||||||
|
|
||||||
|
Store Link: https://store.ui.com/?a_aid=JimsGarage
|
||||||
|
|
||||||
|
#
|
||||||
26
Omni-Tools/docker-compose.yaml
Normal file
26
Omni-Tools/docker-compose.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
services:
|
||||||
|
omni-tools:
|
||||||
|
image: iib0011/omni-tools:latest
|
||||||
|
container_name: omni-tools
|
||||||
|
restart: unless-stopped
|
||||||
|
#ports:
|
||||||
|
# - "8080:80"
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.routers.omni-tools.entrypoints=http"
|
||||||
|
- "traefik.http.routers.omni-tools.rule=Host(`omni-tools.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.middlewares.omni-tools-https-redirect.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.omni-tools.middlewares=omni-tools-https-redirect"
|
||||||
|
- "traefik.http.routers.omni-tools-secure.entrypoints=https"
|
||||||
|
- "traefik.http.routers.omni-tools-secure.rule=Host(`omni-tools.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.routers.omni-tools-secure.tls=true"
|
||||||
|
- "traefik.http.routers.omni-tools-secure.tls.certresolver=cloudflare"
|
||||||
|
- "traefik.http.routers.omni-tools-secure.service=omni-tools"
|
||||||
|
- "traefik.http.services.omni-tools.loadbalancer.server.port=80"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
6
Pocket-ID/.env
Normal file
6
Pocket-ID/.env
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# See the documentation for more information: https://pocket-id.org/docs/configuration/environment-variables
|
||||||
|
PUBLIC_APP_URL=https://pocket-id.jimsgarage.co.uk
|
||||||
|
TRUST_PROXY=true
|
||||||
|
MAXMIND_LICENSE_KEY=
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
||||||
34
Pocket-ID/docker-compose.yaml
Normal file
34
Pocket-ID/docker-compose.yaml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
services:
|
||||||
|
pocket-id:
|
||||||
|
image: ghcr.io/pocket-id/pocket-id
|
||||||
|
restart: unless-stopped
|
||||||
|
env_file: .env
|
||||||
|
ports:
|
||||||
|
- 3000:80
|
||||||
|
volumes:
|
||||||
|
- "./data:/app/backend/data"
|
||||||
|
# Optional healthcheck
|
||||||
|
healthcheck:
|
||||||
|
test: "curl -f http://localhost/health"
|
||||||
|
interval: 1m30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 2
|
||||||
|
start_period: 10s
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.pocket-id.entrypoints=http"
|
||||||
|
- "traefik.http.routers.pocket-id.rule=Host(`pocket-id.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.middlewares.pocket-id-https-redirect.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.pocket-id.middlewares=pocket-id-https-redirect"
|
||||||
|
- "traefik.http.routers.pocket-id-secure.entrypoints=https"
|
||||||
|
- "traefik.http.routers.pocket-id-secure.rule=Host(`pocket-id.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.routers.pocket-id-secure.tls=true"
|
||||||
|
- "traefik.http.routers.pocket-id-secure.service=pocket-id"
|
||||||
|
- "traefik.http.services.pocket-id.loadbalancer.server.port=80"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
@ -1,2 +1,2 @@
|
|||||||
192.168.200.118 traefik.jimsgarge.co.uk
|
192.168.200.118 traefik.jimsgarage.co.uk
|
||||||
192.168.200.118 portainer.jimsgarge.co.uk
|
192.168.200.118 portainer.jimsgarage.co.uk
|
||||||
|
|||||||
35
Postiz/.env
Normal file
35
Postiz/.env
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
###############################################################################################################
|
||||||
|
###############################################################################################################
|
||||||
|
# GENERAL
|
||||||
|
###############################################################################################################
|
||||||
|
###############################################################################################################
|
||||||
|
# Docker machine username
|
||||||
|
HOST_USER=ubuntu
|
||||||
|
# Where container data will be stored (note user above)
|
||||||
|
WORKING_DIR=/home/${HOST_USER}/docker
|
||||||
|
# Your domain, including TLD (e.g., jimgarage.co.uk - not just jimsgarage)
|
||||||
|
DOMAIN=jimsgarage.co.uk
|
||||||
|
|
||||||
|
###############################################################################################################
|
||||||
|
###############################################################################################################
|
||||||
|
# OPEN AI CREDENTIALS
|
||||||
|
###############################################################################################################
|
||||||
|
###############################################################################################################
|
||||||
|
# Add key to integrate with OpenAI - generate images and text etc
|
||||||
|
OPENAI_API_KEY="XXXXXXXXXXXXXXXXXXX"
|
||||||
|
|
||||||
|
###############################################################################################################
|
||||||
|
###############################################################################################################
|
||||||
|
# SOCIAL MEDIA CREDENTIALS
|
||||||
|
###############################################################################################################
|
||||||
|
###############################################################################################################
|
||||||
|
X_API_KEY="XXXXXXXXXXXXXXXXXXXXXXXX"
|
||||||
|
X_API_SECRET="XXXXXXXXXXXXXXXXXXXXXXXXX"
|
||||||
|
|
||||||
|
# Must add avatar to bot otherwise you will receive a 404
|
||||||
|
DISCORD_CLIENT_ID="XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|
||||||
|
DISCORD_CLIENT_SECRET="XXXXXXXXXXXXXXXXXXXX"
|
||||||
|
DISCORD_BOT_TOKEN_ID="XXXXXXXXXXXXXXXXXXX"
|
||||||
|
|
||||||
|
YOUTUBE_CLIENT_ID="XXXXXXXXXXXXXXXXX"
|
||||||
|
YOUTUBE_CLIENT_SECRET="XXXXXXXXXXXXXX"
|
||||||
107
Postiz/docker-compose.yaml
Normal file
107
Postiz/docker-compose.yaml
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
services:
|
||||||
|
postiz:
|
||||||
|
image: ghcr.io/gitroomhq/postiz-app:latest
|
||||||
|
container_name: postiz
|
||||||
|
restart: always
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
environment:
|
||||||
|
# You must change these. Replace `postiz.your-server.com` with your DNS name - this needs to be exactly the URL you're accessing Postiz on.
|
||||||
|
# Be sure to add the domain to your local domain resolver e.g., Pi-Hole
|
||||||
|
MAIN_URL: "https://postiz.${DOMAIN}"
|
||||||
|
FRONTEND_URL: "https://postiz.${DOMAIN}"
|
||||||
|
NEXT_PUBLIC_BACKEND_URL: "https://postiz.${DOMAIN}/api"
|
||||||
|
JWT_SECRET: "sdfjhkj34sdkfhsdkfhsdkjfhsdf"
|
||||||
|
|
||||||
|
# These defaults are probably fine, but if you change your user/password, update it in the
|
||||||
|
# postiz-postgres or postiz-redis services below.
|
||||||
|
DATABASE_URL: "postgresql://postiz-user:postiz-password@postiz-postgres:5432/postiz-db-local"
|
||||||
|
REDIS_URL: "redis://postiz-redis:6379"
|
||||||
|
BACKEND_INTERNAL_URL: "http://localhost:3000"
|
||||||
|
IS_GENERAL: "true" # Required for self-hosting.
|
||||||
|
# The container images are pre-configured to use /uploads for file storage.
|
||||||
|
# You probably should not change this unless you have a really good reason!
|
||||||
|
STORAGE_PROVIDER: "local"
|
||||||
|
UPLOAD_DIRECTORY: "/uploads"
|
||||||
|
NEXT_PUBLIC_UPLOAD_DIRECTORY: "/uploads"
|
||||||
|
volumes:
|
||||||
|
- ${WORKING_DIR}/postiz/config:/config/
|
||||||
|
- ${WORKING_DIR}/postiz/uploads:/uploads/
|
||||||
|
# if you prefer volumes
|
||||||
|
# - postiz-config:/config/
|
||||||
|
# - postiz-uploads:/uploads/
|
||||||
|
# ports:
|
||||||
|
# - 5000:5000
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
- postiz-network
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.routers.postiz.entrypoints=http"
|
||||||
|
- "traefik.http.routers.postiz.rule=Host(`postiz.${DOMAIN}`)"
|
||||||
|
- "traefik.http.middlewares.postiz-https-redirect.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.postiz.middlewares=postiz-https-redirect"
|
||||||
|
- "traefik.http.routers.postiz-secure.entrypoints=https"
|
||||||
|
- "traefik.http.routers.postiz-secure.rule=Host(`postiz.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.postiz-secure.tls=true"
|
||||||
|
- "traefik.http.routers.postiz-secure.tls.certresolver=cloudflare"
|
||||||
|
- "traefik.http.routers.postiz-secure.service=postiz"
|
||||||
|
- "traefik.http.services.postiz.loadbalancer.server.port=5000"
|
||||||
|
depends_on:
|
||||||
|
postiz-postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
postiz-redis:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
postiz-postgres:
|
||||||
|
image: postgres:17-alpine
|
||||||
|
container_name: postiz-postgres
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: postiz-password
|
||||||
|
POSTGRES_USER: postiz-user
|
||||||
|
POSTGRES_DB: postiz-db-local
|
||||||
|
volumes:
|
||||||
|
- ${WORKING_DIR}/postiz/postgres:/var/lib/postgresql/data
|
||||||
|
# if you prefer volumes
|
||||||
|
# - postgres-volume:/var/lib/postgresql/data
|
||||||
|
networks:
|
||||||
|
- postiz-network
|
||||||
|
healthcheck:
|
||||||
|
test: pg_isready -U postiz-user -d postiz-db-local
|
||||||
|
interval: 10s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 3
|
||||||
|
postiz-redis:
|
||||||
|
image: redis:7.2
|
||||||
|
container_name: postiz-redis
|
||||||
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: redis-cli ping
|
||||||
|
interval: 10s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 3
|
||||||
|
volumes:
|
||||||
|
- ${WORKING_DIR}/postiz/redis:/data
|
||||||
|
# if you prefer volumes
|
||||||
|
# - postiz-redis-data:/data
|
||||||
|
networks:
|
||||||
|
- postiz-network
|
||||||
|
|
||||||
|
# if you prefer volumes
|
||||||
|
# volumes:
|
||||||
|
# postgres-volume:
|
||||||
|
# external: false
|
||||||
|
# postiz-redis-data:
|
||||||
|
# external: false
|
||||||
|
# postiz-config:
|
||||||
|
# external: false
|
||||||
|
# postiz-uploads:
|
||||||
|
# external: false
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
postiz-network:
|
||||||
|
external: false
|
||||||
39
RustDesk/docker-compose.yaml
Normal file
39
RustDesk/docker-compose.yaml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
services:
|
||||||
|
hbbs:
|
||||||
|
container_name: hbbs
|
||||||
|
image: rustdesk/rustdesk-server:latest
|
||||||
|
command: hbbs
|
||||||
|
volumes:
|
||||||
|
- ./data:/root
|
||||||
|
# network_mode: "host" # Uncomment this line if you want to use host networking
|
||||||
|
networks:
|
||||||
|
- rustdesk
|
||||||
|
ports:
|
||||||
|
# If you do not need web client support, the corresponding ports 21118, 21119 can be disabled.
|
||||||
|
# - "21114:21114/tcp" # (TCP): used for web console, only available in Pro version.
|
||||||
|
- "21115:21115" # used for the NAT type test
|
||||||
|
- "21116:21116" # should be enabled both for TCP and UDP. is used for the ID registration and heartbeat service. 21116/TCP is used for TCP hole punching and connection service
|
||||||
|
- "21116:21116/udp" # should be enabled both for TCP and UDP. is used for the ID registration and heartbeat service. 21116/TCP is used for TCP hole punching and connection service
|
||||||
|
- "21118:21118" # used to support web clients
|
||||||
|
depends_on:
|
||||||
|
- hbbr
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
hbbr:
|
||||||
|
container_name: hbbr
|
||||||
|
image: rustdesk/rustdesk-server:latest
|
||||||
|
command: hbbr
|
||||||
|
volumes:
|
||||||
|
- ./data:/root
|
||||||
|
# network_mode: "host" # Uncomment this line if you want to use host networking
|
||||||
|
networks:
|
||||||
|
- rustdesk
|
||||||
|
ports:
|
||||||
|
# If you do not need web client support, the corresponding ports 21118, 21119 can be disabled.
|
||||||
|
- "21117:21117" # used for the relay service
|
||||||
|
- "21119:21119" # used to support web clients
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|
||||||
|
networks:
|
||||||
|
rustdesk:
|
||||||
9
Tinyauth/.env
Normal file
9
Tinyauth/.env
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# generate with openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32
|
||||||
|
SECRET=5vvAGg1lfdsDO3lPtkj5CRv3RXEk44HN
|
||||||
|
USERS=alice:$$2y$$05$$y/TnBJ.Zal5PM2Xu43NCRu0hP.STmZzb0vFiqr6LPRBc4cG0jwJr.,bob:$$2y$$05$$44DactVuy2Sqzd329hIehOp1T6JYhcnDF1r.I7TxSA8MQUwygkqV. # pw = password
|
||||||
|
|
||||||
|
# Important to set this when using OAuth otherwise anyone with an account can use it to log in
|
||||||
|
OAUTH_WHITELIST=your@email.com
|
||||||
|
|
||||||
|
GITHUB_CLIENT_ID=XXXXXXXXXXXXXXX
|
||||||
|
GITHUB_CLIENT_SECRET=XXXXXXXXXXXXXXXX
|
||||||
37
Tinyauth/docker-compose.yaml
Normal file
37
Tinyauth/docker-compose.yaml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
services:
|
||||||
|
tinyauth:
|
||||||
|
image: ghcr.io/steveiliop56/tinyauth:v3
|
||||||
|
container_name: tinyauth
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
# generate with openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32
|
||||||
|
- SECRET=${SECRET}
|
||||||
|
- APP_URL=https://tinyauth.jimsgarage.co.uk
|
||||||
|
# generate with "echo $(htpasswd -nB user) | sed -e s/\\$/\\$\\$/g" - substitute the user with what you want, or use a file
|
||||||
|
# - USERS=${USERS}
|
||||||
|
- USERS_FILE=users_file # add a file with multiple users in the above format if necessary
|
||||||
|
- LOG_LEVEL=0
|
||||||
|
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
|
||||||
|
- GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
|
||||||
|
- OAUTH_WHITELIST=${OAUTH_WHITELIST}
|
||||||
|
volumes:
|
||||||
|
- ./users:/tinyauth/users_file
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.docker.network=proxy"
|
||||||
|
- "traefik.http.routers.tinyauth.entrypoints=http"
|
||||||
|
- "traefik.http.routers.tinyauth.rule=Host(`tinyauth.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.middlewares.tinyauth-https-redirect.redirectscheme.scheme=https"
|
||||||
|
- "traefik.http.routers.tinyauth.middlewares=tinyauth-https-redirect"
|
||||||
|
- "traefik.http.routers.tinyauth-secure.entrypoints=https"
|
||||||
|
- "traefik.http.routers.tinyauth-secure.rule=Host(`tinyauth.jimsgarage.co.uk`)"
|
||||||
|
- "traefik.http.routers.tinyauth-secure.tls=true"
|
||||||
|
- "traefik.http.routers.tinyauth-secure.tls.certresolver=cloudflare"
|
||||||
|
- "traefik.http.routers.tinyauth-secure.service=tinyauth"
|
||||||
|
- "traefik.http.services.tinyauth.loadbalancer.server.port=3000"
|
||||||
|
- "traefik.http.middlewares.tinyauth.forwardauth.address=http://tinyauth:3000/api/auth/traefik"
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
3
Tinyauth/users
Normal file
3
Tinyauth/users
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
alice:$2y$10$k0YEfRqPD4Cgu1Bu2BR5je4s6HSqhBRqr7wW4VfYIeYn5bVaUX5lq:XAP2AEQMCO2OHGU56AT5Y5PW3UA6CKXR
|
||||||
|
bob:$2y$10$5OABhZc49FA0mVWo.a8tmeNd/FGf/d3..hcqwJL0w3lXJozIVIwtq
|
||||||
|
ADD GITHUB OAUTH HERE
|
||||||
33
Zigbee2MQTT/docker-compose.yaml
Normal file
33
Zigbee2MQTT/docker-compose.yaml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
services:
|
||||||
|
zigbee2mqtt:
|
||||||
|
container_name: zigbee2mqtt
|
||||||
|
image: ghcr.io/koenkk/zigbee2mqtt
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /home/ubuntu/docker/zigbee2mqtt/data:/app/data # persistent data storage
|
||||||
|
ports:
|
||||||
|
# Frontend port
|
||||||
|
- 8080:8080
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/London
|
||||||
|
#devices:
|
||||||
|
# Make sure this matched your adapter location
|
||||||
|
# not required as we'll be connecting via Network - however USB devices can be used this way
|
||||||
|
# - /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00:/dev/ttyACM0
|
||||||
|
|
||||||
|
# Uncomment the following lines if you want to use Mosquitto as a broker
|
||||||
|
# mosquitto:
|
||||||
|
# container_name: mosquitto
|
||||||
|
# image: eclipse-mosquitto:latest
|
||||||
|
# restart: always
|
||||||
|
# deploy:
|
||||||
|
# resources:
|
||||||
|
# limits:
|
||||||
|
# memory: 256M
|
||||||
|
# ports:
|
||||||
|
# - "1883:1883"
|
||||||
|
# - "9001:9001"
|
||||||
|
# volumes:
|
||||||
|
# - /home/ubuntu/docker/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf
|
||||||
|
# - /home/ubuntu/docker/mosquitto/data:/mosquitto/data
|
||||||
|
# - /home/ubuntu/docker/mosquitto/log:/mosquitto/log
|
||||||
Loading…
Reference in New Issue
Block a user