updated several configs
Deploy Mealie / deploy (push) Successful in 10s
Deploy Semaphore / deploy (push) Successful in 7s
Deploy Bookstack / deploy (push) Successful in 7s

This commit is contained in:
Mike McFetridge
2026-07-22 18:44:47 -04:00
parent 47b3d10b01
commit e53c827cf6
5 changed files with 96 additions and 102 deletions
-52
View File
@@ -1,52 +0,0 @@
services:
db:
image: mariadb:11
container_name: bookstack-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 3OSyIgZjyV4Tze
MYSQL_DATABASE: bookstack
MYSQL_USER: bookstack
MYSQL_PASSWORD: 3OSyIgZjyV4Tze
volumes:
# Persist database files
- /opt/Docker-Deployments/Bookstack/db:/var/lib/mysql
networks:
- internal
bookstack:
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
restart: unless-stopped
depends_on:
- db
ports:
# Web interface
- "6875:80"
environment:
# Application URL (change to your domain for production)
- APP_URL=https://book.mikemcfetridge.com
# Session encryption key from the appkey command above
- APP_KEY=base64:k1BQQ5IB+TDD4XOmDtOdxupfvBECi+Z1Ay9C12/5YgA=
# Database connection
- DB_HOST=db
- DB_PORT=3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- DB_PASSWORD=3OSyIgZjyV4Tze
# Timezone
- TZ=America/New_York
# User/group IDs for file permissions
- PUID=1000
- PGID=1000
volumes:
# Application configuration
- /opt/Docker-Deployments/Bookstack/config:/config
networks:
- external
- internal
networks:
internal:
external: true # Tells Compose not to create this network
external:
external: true # Tells Compose not to create this network
+22
View File
@@ -0,0 +1,22 @@
# General Settings
TZ=America/New_York
PUID=1000
PGID=1000
DATA_DIR=/opt/Docker-Deployments/Mealie
MEALIE_PORT=9200
MEMORY_LIMIT=1000M
# Mealie Application Settings
ALLOW_SIGNUP=false
MAX_WORKERS=1
WEB_CONCURRENCY=1
BASE_URL=https://mealie.mikemcfetridge.com
# SMTP Email Configuration
SMTP_HOST=mail.mmcfetridge.net
SMTP_PORT=465
SMTP_FROM_NAME=miker@mmcfetridge.net
SMTP_FROM_EMAIL=miker@mmcfetridge.net
SMTP_USER=miker@mmcfetridge.net
SMTP_PASSWORD=!Sucyetat123
SMTP_AUTH_STRATEGY=SSL
+22 -23
View File
@@ -1,36 +1,35 @@
services: services:
mealie: mealie:
image: ghcr.io/mealie-recipes/mealie:latest # Specifies the Mealie Docker i> image: ghcr.io/mealie-recipes/mealie:latest
container_name: mealie # Names the container for easier> container_name: mealie
restart: unless-stopped
ports: ports:
- "9200:9000" # Maps port 9925 on the host to > - "${MEALIE_PORT}:9000"
deploy: deploy:
resources: resources:
limits: limits:
memory: 1000M # Limits the container to use a > memory: ${MEMORY_LIMIT}
volumes: volumes:
- /opt/Docker-Deployments/Mealie/data:/app/data/ # Persists data in> - ${DATA_DIR}/data:/app/data/
- /opt/Docker-Deployments/Mealie/config/addons_config/mealie/config.yaml:/config/config.yanl - ${DATA_DIR}/config/addons_config/mealie/config.yaml:/config/config.yaml
environment: environment:
- ALLOW_SIGNUP=false # Allows new user signups on the> - ALLOW_SIGNUP=${ALLOW_SIGNUP}
- PUID=1000 # Sets the user ID for the conta> - PUID=${PUID}
- PGID=1000 # Sets the group ID for the cont> - PGID=${PGID}
- TZ=America/New_York # Sets the timezone for the cont> - TZ=${TZ}
- MAX_WORKERS=1 # Limits the number of workers t> - MAX_WORKERS=${MAX_WORKERS}
- WEB_CONCURRENCY=1 # Sets the concurrency level for> - WEB_CONCURRENCY=${WEB_CONCURRENCY}
- BASE_URL=mealie.mikemcfetridge.com # The base URL where Mealie is a> - BASE_URL=${BASE_URL}
# Email Settings # Email Settings
- SMTP_HOST=mail.mmcfetridge.net - SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=465 - SMTP_PORT=${SMTP_PORT}
- SMTP_FROM_NAME=miker@mmcfetridge.net - SMTP_FROM_NAME=${SMTP_FROM_NAME}
- SMTP_AUTH_STRATEGY=TLS - SMTP_AUTH_STRATEGY=${SMTP_AUTH_STRATEGY}
- SMTP_FROM_EMAIL=miker@mmcfetridge.net - SMTP_FROM_EMAIL=${SMTP_FROM_EMAIL}
- SMTP_USER=miker@mmcfetridge.net - SMTP_USER=${SMTP_USER}
- SMTP_PASSWORD="!Sucyetat123" - SMTP_PASSWORD=${SMTP_PASSWORD}
networks: networks:
- external - external
restart: unless-stopped
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000"] test: ["CMD", "curl", "-f", "http://localhost:9000"]
interval: 10s interval: 10s
@@ -40,4 +39,4 @@ services:
networks: networks:
external: external:
external: true # Tells Compose not to create this network external: true
+26
View File
@@ -0,0 +1,26 @@
# General System Settings
PUID=1000
PGID=1000
SEMAPHORE_PORT=3020
ANSIBLE_HOST_KEY_CHECKING=False
DOCKER_HOST=tcp://docker_proxy:2375
# Semaphore Admin User
SEMAPHORE_ADMIN=mmcfetridge
SEMAPHORE_ADMIN_NAME=Mike McFetridge
SEMAPHORE_ADMIN_EMAIL=mmcfetridg@aol.com
SEMAPHORE_ADMIN_PASSWORD=Dy7zxAyDqdYN443g4pI3
# Security & Storage
SEMAPHORE_DB_DIALECT=sqlite
SEMAPHORE_ACCESS_KEY_ENCRYPTION=mrmKv7EztqRCnlGo34IvlvoilXqvDKYnFIWX2lg+hZc=
# Email Settings
SEMAPHORE_EMAIL_ALERT=true
SEMAPHORE_EMAIL_HOST=mail.mmcfetridge.net
SEMAPHORE_EMAIL_PORT=465
SEMAPHORE_EMAIL_SENDER=miker@mmcfetridge.net
SEMAPHORE_EMAIL_USERNAME=miker@mmcfetridge.net
SEMAPHORE_EMAIL_PASSWORD=!Sucyetat123
SEMAPHORE_EMAIL_SECURE=true
SEMAPHORE_EMAIL_TLS=false
+23 -24
View File
@@ -7,38 +7,37 @@ services:
semaphore: semaphore:
image: semaphoreui/semaphore:latest image: semaphoreui/semaphore:latest
container_name: semaphore container_name: semaphore
restart: unless-stopped
ports: ports:
- "3020:3020" # Web UI accessed via port 3020 - "${SEMAPHORE_PORT}:${SEMAPHORE_PORT}"
environment: environment:
- PUID=1000 - PUID=${PUID}
- PGID=1000 - PGID=${PGID}
- SEMAPHORE_DB_DIALECT=sqlite - SEMAPHORE_DB_DIALECT=${SEMAPHORE_DB_DIALECT}
- SEMAPHORE_ADMIN_PASSWORD=Dy7zxAyDqdYN443g4pI3 # Change this on first boot! - SEMAPHORE_ADMIN_PASSWORD=${SEMAPHORE_ADMIN_PASSWORD}
- SEMAPHORE_ADMIN_NAME=Mike McFetridge - SEMAPHORE_ADMIN_NAME=${SEMAPHORE_ADMIN_NAME}
- SEMAPHORE_ADMIN_EMAIL=mmcfetridg@aol.com - SEMAPHORE_ADMIN_EMAIL=${SEMAPHORE_ADMIN_EMAIL}
- SEMAPHORE_ADMIN=mmcfetridge - SEMAPHORE_ADMIN=${SEMAPHORE_ADMIN}
# Point Semaphore to our secure local Docker Proxy instead of raw socket # Docker Proxy endpoint
- DOCKER_HOST=tcp://docker_proxy:2375 - DOCKER_HOST=${DOCKER_HOST}
- SEMAPHORE_PORT=3020 - SEMAPHORE_PORT=${SEMAPHORE_PORT}
- ANSIBLE_HOST_KEY_CHECKING=False - ANSIBLE_HOST_KEY_CHECKING=${ANSIBLE_HOST_KEY_CHECKING}
- SEMAPHORE_ACCESS_KEY_ENCRYPTION=mrmKv7EztqRCnlGo34IvlvoilXqvDKYnFIWX2lg+hZc= - SEMAPHORE_ACCESS_KEY_ENCRYPTION=${SEMAPHORE_ACCESS_KEY_ENCRYPTION}
# Email Configuration # Email Configuration
- SEMAPHORE_EMAIL_ALERT=True - SEMAPHORE_EMAIL_ALERT=${SEMAPHORE_EMAIL_ALERT}
- SEMAPHORE_EMAIL_HOST=mail.mmcfetridge.net - SEMAPHORE_EMAIL_HOST=${SEMAPHORE_EMAIL_HOST}
- SEMAPHORE_EMAIL_PORT=465 - SEMAPHORE_EMAIL_PORT=${SEMAPHORE_EMAIL_PORT}
- SEMAPHORE_EMAIL_SENDER=miker@mmcfetridge.net - SEMAPHORE_EMAIL_SENDER=${SEMAPHORE_EMAIL_SENDER}
- SEMAPHORE_EMAIL_USERNAME=miker@mmcfetridge.net - SEMAPHORE_EMAIL_USERNAME=${SEMAPHORE_EMAIL_USERNAME}
- SEMAPHORE_EMAIL_PASSWORD="!Sucyetat123" - SEMAPHORE_EMAIL_PASSWORD=${SEMAPHORE_EMAIL_PASSWORD}
- SEMAPHORE_EMAIL_SECURE=true - SEMAPHORE_EMAIL_SECURE=${SEMAPHORE_EMAIL_SECURE}
- SEMAPHORE_EMAIL_TLS=true - SEMAPHORE_EMAIL_TLS=${SEMAPHORE_EMAIL_TLS}
volumes: volumes:
- semaphore_data:/var/lib/semaphore - semaphore_data:/var/lib/semaphore
- semaphore_config:/etc/semaphore - semaphore_config:/etc/semaphore
- semaphore_tmp:/tmp/semaphore - semaphore_tmp:/tmp/semaphore
networks: networks:
- external - external
restart: unless-stopped
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3020"] test: ["CMD", "curl", "-f", "http://localhost:3020"]
interval: 10s interval: 10s
@@ -48,4 +47,4 @@ services:
networks: networks:
external: external:
external: true # Tells Compose not to create this network external: true