diff --git a/.gitea/workflows/deploy-bookstack.yml b/.gitea/workflows/deploy-bookstack.yml new file mode 100644 index 0000000..cc44111 --- /dev/null +++ b/.gitea/workflows/deploy-bookstack.yml @@ -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 diff --git a/Bookstack/docker-compose.yml b/Bookstack/docker-compose.yml new file mode 100644 index 0000000..41c8218 --- /dev/null +++ b/Bookstack/docker-compose.yml @@ -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