diff --git a/Cargo.lock b/Cargo.lock index 8e3c01c..2d66a6c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1368,6 +1368,13 @@ dependencies = [ "urlencoding", ] +[[package]] +name = "szurubooru-integration-test" +version = "0.1.0" +dependencies = [ + "szurubooru-client", +] + [[package]] name = "tempfile" version = "3.12.0" diff --git a/Cargo.toml b/Cargo.toml index 0b4ae3b..772ecea 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,6 @@ [workspace] resolver = "2" members = [ - "szurubooru-client" + "szurubooru-client", + "szurubooru-integration-test" ] diff --git a/szurubooru-integration-test/Cargo.toml b/szurubooru-integration-test/Cargo.toml new file mode 100644 index 0000000..bfbfdca --- /dev/null +++ b/szurubooru-integration-test/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "szurubooru-integration-test" +version = "0.1.0" +edition = "2021" + +[dependencies] +szurubooru-client = { version = "0.1.0", path = "../szurubooru-client" } diff --git a/szurubooru-integration-test/docker-compose.yml b/szurubooru-integration-test/docker-compose.yml new file mode 100644 index 0000000..c9e9509 --- /dev/null +++ b/szurubooru-integration-test/docker-compose.yml @@ -0,0 +1,48 @@ +## Example Docker Compose configuration +## +## Use this as a template to set up docker-compose, or as guide to set up other +## orchestration services +version: '2' + +services: + + server: + image: szurubooru/server:latest + depends_on: + - sql + environment: + ## These should be the names of the dependent containers listed below, + ## or FQDNs/IP addresses if these services are running outside of Docker + POSTGRES_HOST: sql + ## Credentials for database: + POSTGRES_USER: + POSTGRES_PASSWORD: + ## Commented Values are Default: + #POSTGRES_DB: defaults to same as POSTGRES_USER + #POSTGRES_PORT: 5432 + #LOG_SQL: 0 (1 for verbose SQL logs) + THREADS: + volumes: + - "${MOUNT_DATA}:/data" + - "${SERVER_MOUNT}/config.yaml:/opt/app/config.yaml" + + client: + image: szurubooru/client:latest + depends_on: + - server + environment: + BACKEND_HOST: server + BASE_URL: ${BASE_URL} + volumes: + - "${MOUNT_DATA}:/data:ro" + ports: + - "${PORT}:80" + + sql: + image: postgres:11-alpine + restart: unless-stopped + environment: + POSTGRES_USER: + POSTGRES_PASSWORD: + volumes: + - "${MOUNT_SQL}:/var/lib/postgresql/data" diff --git a/szurubooru-integration-test/start_szurubooru.sh b/szurubooru-integration-test/start_szurubooru.sh new file mode 100644 index 0000000..9a710d6 --- /dev/null +++ b/szurubooru-integration-test/start_szurubooru.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +export MOUNT_DATA=szurubooru/data +export SERVER_MOUNT=szurubooru/server +export MOUNT_SQL=szurubooru/pgsql +export BASE_URL=http://localhost:5000 +export PORT=5000 + +docker compose up -d diff --git a/docker-compose.yml b/szurubooru-integration-test/szurubooru/data/.gitkeep similarity index 100% rename from docker-compose.yml rename to szurubooru-integration-test/szurubooru/data/.gitkeep diff --git a/szurubooru-integration-test/szurubooru/pgsql/.gitkeep b/szurubooru-integration-test/szurubooru/pgsql/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/szurubooru-integration-test/szurubooru/server/.gitkeep b/szurubooru-integration-test/szurubooru/server/.gitkeep new file mode 100644 index 0000000..e69de29