Compare commits

...
2 Commits
Author SHA1 Message Date
Mike McFetridge 7b27c85938 Merge branch 'main' of gitea.mikemcfetridge.com:miker/Docker-01
Deploy Bookstack / deploy (push) Successful in 20s
2026-07-20 13:32:31 -04:00
Mike McFetridge 11331023ca . 2026-07-20 13:32:23 -04:00
2 changed files with 87 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
name: Deploy Bookstack
on:
push:
branches:
- main
paths:
- 'Bookstack/**'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Sync Bookstack to Host
uses: appleboy/scp-action@master
with:
host: "192.168.2.13"
username: "miker"
key: ${{ secrets.SSH_PRIVATE_KEY }}
source: "Bookstack/*"
target: "/opt/Docker-Deployments/Bookstack"
strip_components: 1
- name: Deploy Bookstack Stack
uses: appleboy/ssh-action@master
with:
host: "192.168.2.13"
username: "miker"
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /opt/Docker-Deployments/Bookstack
docker compose up -d --remove-orphans
+52
View File
@@ -0,0 +1,52 @@
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