diff --git a/Bookstack/.env b/Bookstack/.env new file mode 100644 index 0000000..2d55730 --- /dev/null +++ b/Bookstack/.env @@ -0,0 +1,18 @@ +# Application Settings +APP_URL=https://book.mikemcfetridge.com +APP_KEY=base64:k1BQQ5IB+TDD4XOmDtOdxupfvBECi+Z1Ay9C12/5YgA= +BOOKSTACK_PORT=6875 + +# System Settings +TZ=America/New_York +PUID=1000 +PGID=1000 +DATA_DIR=/opt/Docker-Deployments/Bookstack + +# Database Credentials +DB_HOST=db +DB_PORT=3306 +DB_DATABASE=bookstack +DB_USERNAME=bookstack +DB_PASSWORD=3OSyIgZjyV4Tze +MYSQL_ROOT_PASSWORD=3OSyIgZjyV4Tze diff --git a/Bookstack/backup-docker-compose.yml b/Bookstack/backup-docker-compose.yml new file mode 100644 index 0000000..41c8218 --- /dev/null +++ b/Bookstack/backup-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 diff --git a/Bookstack/docker-compose.yml b/Bookstack/docker-compose.yml index 41c8218..c63ce22 100644 --- a/Bookstack/docker-compose.yml +++ b/Bookstack/docker-compose.yml @@ -4,13 +4,13 @@ services: container_name: bookstack-db restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD: 3OSyIgZjyV4Tze - MYSQL_DATABASE: bookstack - MYSQL_USER: bookstack - MYSQL_PASSWORD: 3OSyIgZjyV4Tze + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_DATABASE: ${DB_DATABASE} + MYSQL_USER: ${DB_USERNAME} + MYSQL_PASSWORD: ${DB_PASSWORD} volumes: # Persist database files - - /opt/Docker-Deployments/Bookstack/db:/var/lib/mysql + - ${DATA_DIR}/db:/var/lib/mysql networks: - internal @@ -22,31 +22,32 @@ services: - db ports: # Web interface - - "6875:80" + - "${BOOKSTACK_PORT}: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= + # Application URL + - APP_URL=${APP_URL} + # Session encryption key + - APP_KEY=${APP_KEY} # Database connection - - DB_HOST=db - - DB_PORT=3306 - - DB_DATABASE=bookstack - - DB_USERNAME=bookstack - - DB_PASSWORD=3OSyIgZjyV4Tze + - DB_HOST=${DB_HOST} + - DB_PORT=${DB_PORT} + - DB_DATABASE=${DB_DATABASE} + - DB_USERNAME=${DB_USERNAME} + - DB_PASSWORD=${DB_PASSWORD} # Timezone - - TZ=America/New_York + - TZ=${TZ} # User/group IDs for file permissions - - PUID=1000 - - PGID=1000 + - PUID=${PUID} + - PGID=${PGID} volumes: # Application configuration - - /opt/Docker-Deployments/Bookstack/config:/config + - ${DATA_DIR}/config:/config networks: - external - internal + networks: internal: - external: true # Tells Compose not to create this network + external: true external: - external: true # Tells Compose not to create this network + external: true