summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stacks/irm/.gitignore3
-rw-r--r--stacks/irm/compose.yml46
-rw-r--r--stacks/irm/env.example17
-rw-r--r--stacks/irm/run.env.example62
4 files changed, 128 insertions, 0 deletions
diff --git a/stacks/irm/.gitignore b/stacks/irm/.gitignore
new file mode 100644
index 0000000..13fed15
--- /dev/null
+++ b/stacks/irm/.gitignore
@@ -0,0 +1,3 @@
+*.env
+data/
+compose.test.yml
diff --git a/stacks/irm/compose.yml b/stacks/irm/compose.yml
new file mode 100644
index 0000000..0e97160
--- /dev/null
+++ b/stacks/irm/compose.yml
@@ -0,0 +1,46 @@
+name: ${_STACK_0} # Explicitly name stacks (do not rely on directory name).
+
+networks:
+ edge-net:
+ name: ${_NET_0}
+ external: true # All networks SHOULD be external in production.
+ db-net:
+ name: ${_NET_1}
+
+volumes:
+ irm-db:
+ name: ${_VOLUME_0}
+ external: true # All volumes SHOULD be external in production.
+
+services:
+ irm:
+ container_name: ${_CONTAINER_0} # Name the containers explicitly.
+ image: ghcr.io/linkwarden/linkwarden:latest
+ restart: unless-stopped
+ env_file:
+ # NOTE: .compose.env WILL override .env if there are overlapping values.
+ - .run.env # Runtime ENV
+ - .env # Compose ENV
+ networks:
+ - edge-net
+ - db-net
+ expose:
+ - 3000
+ # Github Issue: https://github.com/linkwarden/linkwarden/issues/1153
+ extra_hosts:
+ - "${OIDC_PROVIDER_URL}:${PROXY_IP}"
+ depends_on:
+ - irm-db
+ irm-db:
+ container_name: ${_CONTAINER_1} # Name the containers explicitly.
+ image: postgres:16
+ restart: unless-stopped
+ env_file:
+ - .run.env
+ - .env
+ volumes:
+ - irm-db:/var/lib/postgresql/data
+ networks:
+ - db-net
+ expose:
+ - 5432
diff --git a/stacks/irm/env.example b/stacks/irm/env.example
new file mode 100644
index 0000000..b39f698
--- /dev/null
+++ b/stacks/irm/env.example
@@ -0,0 +1,17 @@
+#
+#
+# Stack Compose Variables
+
+# Namespaces
+_STACK_0=
+
+# Networks
+_NET_0=
+_NET_1=
+
+# Volumes
+_VOLUME_0=
+
+# OIDC Provider
+OIDC_PROVIDER_URL=
+PROXY_IP=
diff --git a/stacks/irm/run.env.example b/stacks/irm/run.env.example
new file mode 100644
index 0000000..0b05f6b
--- /dev/null
+++ b/stacks/irm/run.env.example
@@ -0,0 +1,62 @@
+#
+#
+# Stack Runtime Variables
+NEXTAUTH_URL=
+NEXTAUTH_SECRET=
+
+POSTGRES_USER=
+POSTGRES_PASSWORD=
+
+DATABASE_URL=
+
+# Additional Optional Settings
+PAGINATION_TAKE_COUNT=
+STORAGE_FOLDER=
+AUTOSCROLL_TIMEOUT=
+NEXT_PUBLIC_DISABLE_REGISTRATION=
+NEXT_PUBLIC_CREDENTIALS_ENABLED=
+DISABLE_NEW_SSO_USERS=
+MAX_LINKS_PER_USER=
+ARCHIVE_TAKE_COUNT=
+BROWSER_TIMEOUT=
+IGNORE_UNAUTHORIZED_CA=
+IGNORE_HTTPS_ERRORS=
+IGNORE_URL_SIZE_LIMIT=
+NEXT_PUBLIC_DEMO=
+NEXT_PUBLIC_DEMO_USERNAME=
+NEXT_PUBLIC_DEMO_PASSWORD=
+NEXT_PUBLIC_ADMIN=
+NEXT_PUBLIC_MAX_FILE_BUFFER=
+PDF_MAX_BUFFER=
+SCREENSHOT_MAX_BUFFER=
+READABILITY_MAX_BUFFER=
+PREVIEW_MAX_BUFFER=
+MONOLITH_MAX_BUFFER=
+MONOLITH_CUSTOM_OPTIONS=
+IMPORT_LIMIT=
+PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH=
+PLAYWRIGHT_WS_URL=
+MAX_WORKERS=
+DISABLE_PRESERVATION=
+NEXT_PUBLIC_RSS_POLLING_INTERVAL_MINUTES=
+RSS_SUBSCRIPTION_LIMIT_PER_USER=
+TEXT_CONTENT_LIMIT=
+SEARCH_FILTER_LIMIT=
+INDEX_TAKE_COUNT=
+MEILI_TIMEOUT=
+
+# SMTP Settings
+NEXT_PUBLIC_EMAIL_PROVIDER=
+EMAIL_FROM=
+EMAIL_SERVER=
+BASE_URL=
+
+# PDF archive settings
+PDF_MARGIN_TOP=
+PDF_MARGIN_BOTTOM=
+
+# SSO settings
+NEXT_PUBLIC_AUTHELIA_ENABLED=
+AUTHELIA_CLIENT_ID=
+AUTHELIA_CLIENT_SECRET=
+AUTHELIA_WELLKNOWN_URL=