feat: migrate from monorepo

This commit is contained in:
Marc 2024-04-10 23:55:32 -04:00
commit f38aa1b80c
Signed by: marc
GPG key ID: 048E042F22B5DC79
7 changed files with 86 additions and 0 deletions

1
Dockerfile-bookstack-app Normal file
View file

@ -0,0 +1 @@
FROM linuxserver/bookstack:23.10.4

1
Dockerfile-bookstack-db Normal file
View file

@ -0,0 +1 @@
FROM mariadb:10.6

43
README.md Normal file
View file

@ -0,0 +1,43 @@
# Bookstack
Sets up and manages a [Bookstack](https://www.bookstackapp.com/) instance.
## Getting started
- `start.sh` starts the database and application.
- `stop.sh` stops the database and application.
- `build.sh` builds images for the database and application and should be run _before_ starting anything.
Any commitable constant can be defined in `constants.sh` and will be injected in all of the scripts above.
__The `task` commands should be used to interact with the service.__
## Volumes
This expects two volumes to exist at `$APP_DATA_DIR`: `bookstack-app` and `bookstack-db`.
## Note on dotenv files
dotenv files are expected to exist at `$ENV_FILE_DIR` under `bookstack-db.env` and `bookstack-app.env`.
See reference:
```
# bookstack-db-env
MARIADB_USER=...
MARIADB_PASSWORD=...
MARIADB_ROOT_PASSWORD=...
MARIADB_DATABASE=...
```
```
# bookstack-app.env
DB_PORT=...
DB_USER=...
DB_PASS=...
DB_DATABASE=...
DB_HOST=...
APP_URL=...
```

6
build.sh Normal file
View file

@ -0,0 +1,6 @@
#!/bin/bash
source constants.sh
podman build -t $DB_IMAGE_NAME:$IMAGE_VERSION -f Dockerfile-bookstack-db .
podman build -t $APP_IMAGE_NAME:$IMAGE_VERSION -f Dockerfile-bookstack-app .

7
constants.sh Normal file
View file

@ -0,0 +1,7 @@
#!/bin/bash
export APP_NAME="bookstack"
export APP_CONTAINER_NAME=$APP_NAME-app
export APP_IMAGE_NAME=$CONTAINER_NAME_PREFIX-$APP_CONTAINER_NAME
export DB_CONTAINER_NAME=$APP_NAME-db
export DB_IMAGE_NAME=$CONTAINER_NAME_PREFIX-$DB_CONTAINER_NAME

25
start.sh Executable file
View file

@ -0,0 +1,25 @@
#!/bin/bash
source constants.sh
podman pod create \
-p 3010:80 \
--replace \
"bookstack"
podman run \
-d \
--pod "bookstack" \
--name "$DB_CONTAINER_NAME" \
--env-file "$ENV_FILE_DIR"/bookstack-db.env \
--mount type=bind,source="$APP_DATA_DIR"/bookstack-db,target=/var/lib/mysql \
mariadb:10.6 \
--port 3307
podman run \
-d \
--pod "bookstack" \
--name "$APP_CONTAINER_NAME" \
--env-file "$ENV_FILE_DIR"/bookstack-app.env \
--mount type=bind,source="$APP_DATA_DIR"/bookstack-app,target=/config \
"$APP_IMAGE_NAME:$IMAGE_VERSION"

3
stop.sh Executable file
View file

@ -0,0 +1,3 @@
#!/bin/bash
podman pod stop "bookstack"