Added dockerfile + .env file

This commit is contained in:
root 2025-06-02 18:20:26 +00:00
parent a7215ccb2e
commit 5515c0c771
3 changed files with 356 additions and 2 deletions

316
.env Normal file
View File

@ -0,0 +1,316 @@
AUTHELIA_CLIENT_ID=""
RSS_SUBSCRIPTION_LIMIT_PER_USER=
YANDEX_CUSTOM_NAME=
DUENDE_IDS6_CUSTOM_NAME=
NEXT_PUBLIC_CREDENTIALS_ENABLED=
NEXT_PUBLIC_NETLIFY_ENABLED=
NEXT_PUBLIC_FACEIT_ENABLED=
FUSIONAUTH_CLIENT_ID=
PROXY_USERNAME=
ATLASSIAN_SCOPE=
DUENDE_IDS6_ISSUER=
VK_CUSTOM_NAME=
BOX_CUSTOM_NAME=
AUTHELIA_WELLKNOWN_URL=""
DATABASE_URL=
NEXT_PUBLIC_GITHUB_ENABLED=
NEXT_PUBLIC_FACEBOOK_ENABLED=
NEXT_PUBLIC_WIKIMEDIA_ENABLED=
COGNITO_CLIENT_ID=
BASE_URL=
ATLASSIAN_CLIENT_ID=
NEXT_PUBLIC_IDS4_ENABLED=
OLLAMA_MODEL=
SALESFORCE_CLIENT_ID=
OKTA_CUSTOM_NAME=
PDF_MAX_BUFFER=
NEXT_PUBLIC_APPLE_ENABLED=
SPACES_FORCE_PATH_STYLE=
ZOHO_CLIENT_SECRET=
NEXT_PUBLIC_ONELOGIN_ENABLED=
NEXT_PUBLIC_SALESFORCE_ENABLED=
GITLAB_CUSTOM_NAME=
POSTGRES_PASSWORD=postgres_pwd
NETLIFY_CLIENT_SECRET=
PATREON_CLIENT_ID=
DISABLE_PRESERVATION=
NEXT_PUBLIC_PIPEDRIVE_ENABLED=
EMAIL_SERVER=
NEXT_PUBLIC_SLACK_ENABLED=
COGNITO_ISSUER=
SPOTIFY_CUSTOM_NAME=
PAGINATION_TAKE_COUNT=
MAILRU_CLIENT_SECRET=
DROPBOX_CLIENT_SECRET=
SPOTIFY_CLIENT_SECRET=
PLAYWRIGHT_WS_URL=
NEXT_PUBLIC_OSU_ENABLED=
SALESFORCE_CUSTOM_NAME=
TEXT_CONTENT_LIMIT=
LINKEDIN_CUSTOM_NAME=
AZURE_AD_CLIENT_SECRET=
EVEONLINE_CLIENT_SECRET=
GITLAB_CLIENT_SECRET=
ANTHROPIC_API_KEY=
DISCORD_CLIENT_SECRET=
NEXTAUTH_URL=http://localhost:3000/api/v1/auth
NEXT_PUBLIC_MAX_FILE_BUFFER=
NEXT_PUBLIC_FRESHBOOKS_ENABLED=
FOURSQUARE_CLIENT_SECRET=
NEXT_PUBLIC_KAKAO_ENABLED=
PATREON_CUSTOM_NAME=
NEXT_PUBLIC_DUENDE_IDS6_ENABLED=
UNITED_EFFECTS_ISSUER=
STORAGE_FOLDER=
GOOGLE_CLIENT_ID=
DROPBOX_CLIENT_ID=
NEXT_PUBLIC_ADMIN=
OPENAI_API_KEY=
NEXT_PUBLIC_FORTYTWO_ENABLED=
GITLAB_AUTH_URL=
SLACK_CLIENT_SECRET=
IDS4_ISSUER=
ZITADEL_ISSUER=
OPENAI_MODEL=
ZOOM_CLIENT_ID=
ONELOGIN_CLIENT_SECRET=
NEXT_PUBLIC_LINE_ENABLED=
DUENDE_IDS6_CLIENT_SECRET=
NEXT_PUBLIC_RSS_POLLING_INTERVAL_MINUTES=
NEXT_PUBLIC_PINTEREST_ENABLED=
ONELOGIN_ISSUER=
MEILI_HOST=
ZOOM_CUSTOM_NAME=
OSU_CUSTOM_NAME=
COINBASE_CLIENT_SECRET=
AZURE_AD_TENANT_ID=
COINBASE_CLIENT_ID=
BATTLENET_CLIENT_ID=
DISCORD_CLIENT_ID=
NEXT_PUBLIC_PATREON_ENABLED=
IDS4_CLIENT_SECRET=
NEXT_PUBLIC_AUTHELIA_ENABLED=""
NEXT_PUBLIC_BATTLENET_ENABLED=
NEXT_PUBLIC_SPOTIFY_ENABLED=
AZURE_AD_B2C_CLIENT_SECRET=
MEILI_TIMEOUT=
NEXT_PUBLIC_COGNITO_ENABLED=
FRESHBOOKS_CUSTOM_NAME=
BUNGIE_API_KEY=
WIKIMEDIA_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
OSU_CLIENT_SECRET=
NEXT_PUBLIC_DISABLE_REGISTRATION=
NEXT_PUBLIC_GOOGLE_ENABLED=
LINE_CUSTOM_NAME=
NEXT_PUBLIC_DEMO_PASSWORD=
NEXT_PUBLIC_DEMO=
NETLIFY_CUSTOM_NAME=
DROPBOX_CUSTOM_NAME=
OSSO_ISSUER=
CUSTOM_OPENAI_BASE_URL=
PINTEREST_CUSTOM_NAME=
NEXT_PUBLIC_DISCORD_ENABLED=
HUBSPOT_CLIENT_SECRET=
AUTHENTIK_CLIENT_ID=
NEXT_PUBLIC_YANDEX_ENABLED=
BATTLENET_ISSUER=
GOOGLE_CUSTOM_NAME=
FACEIT_CLIENT_SECRET=
STRAVA_CLIENT_SECRET=
NEXT_PUBLIC_FUSIONAUTH_ENABLED=
FRESHBOOKS_CLIENT_ID=
FUSIONAUTH_ISSUER=
UNITED_EFFECTS_CUSTOM_NAME=
GITHUB_CUSTOM_NAME=
SPACES_KEY=
KAKAO_CUSTOM_NAME=
AUTHENTIK_CLIENT_SECRET=
NEXT_PUBLIC_AUTH0_ENABLED=
AUTOSCROLL_TIMEOUT=
AZURE_AD_B2C_PRIMARY_USER_FLOW=
PDF_MARGIN_TOP=
AZURE_MODEL=
FACEIT_CLIENT_ID=
AUTHENTIK_ISSUER=
WIKIMEDIA_CUSTOM_NAME=
OSU_CLIENT_ID=
IGNORE_HTTPS_ERRORS=
NEXT_PUBLIC_OKTA_ENABLED=
VK_CLIENT_SECRET=
FACEIT_CUSTOM_NAME=
BOX_CLIENT_SECRET=
WIKIMEDIA_CLIENT_SECRET=
AZURE_API_KEY=
NEXT_PUBLIC_STRAVA_ENABLED=
AUTH0_CUSTOM_NAME=
ZITADEL_CLIENT_ID=
NEXT_PUBLIC_BOX_ENABLED=
PLAYWRIGHT_LAUNCH_OPTIONS_EXECUTABLE_PATH=
NEXT_PUBLIC_ZOHO_ENABLED=
NEXT_PUBLIC_EVEONLINE_ENABLED=
BUNGIE_CLIENT_ID=
NEXT_PUBLIC_MAILCHIMP_ENABLED=
DUENDE_IDS6_CLIENT_ID=
YANDEX_CLIENT_SECRET=
FOURSQUARE_APIVERSION=
AZURE_AD_CLIENT_ID=
MEILI_MASTER_KEY=
INDEX_TAKE_COUNT=
HUBSPOT_CLIENT_ID=
YANDEX_CLIENT_ID=
PROXY=
KEYCLOAK_CLIENT_ID=
TODOIST_CLIENT_SECRET=
NEXT_PUBLIC_ATLASSIAN_ENABLED=
IDS4_CUSTOM_NAME=
VK_CLIENT_ID=
BOX_CLIENT_ID=
GITLAB_CLIENT_ID=
EMAIL_FROM=
ZOHO_CLIENT_ID=
COGNITO_CLIENT_SECRET=
PINTEREST_CLIENT_SECRET=
NEXT_PUBLIC_DROPBOX_ENABLED=
NEXT_PUBLIC_REDDIT_ENABLED=
PIPEDRIVE_CLIENT_SECRET=
SCREENSHOT_MAX_BUFFER=
AUTHENTIK_CUSTOM_NAME=
MAX_LINKS_PER_USER=
NEXT_PUBLIC_AUTHENTIK_ENABLED=
FACEBOOK_CLIENT_ID=
NEXTAUTH_SECRET=netauth_pwd
MONOLITH_CUSTOM_OPTIONS=
ZOHO_CUSTOM_NAME=
SPACES_REGION=
CUSTOM_OPENAI_NAME=
READABILITY_MAX_BUFFER=
NEXT_PUBLIC_VK_ENABLED=
UNITED_EFFECTS_CLIENT_SECRET=
FACEBOOK_CUSTOM_NAME=
DISABLE_NEW_SSO_USERS=
NEXT_PUBLIC_ZITADEL_ENABLED=
PREVIEW_MAX_BUFFER=
KEYCLOAK_CUSTOM_NAME=
NEXT_PUBLIC_OSSO_ENABLED=
SPOTIFY_CLIENT_ID=
AZURE_AD_B2C_CLIENT_ID=
OSSO_CLIENT_ID=
MAILCHIMP_CLIENT_ID=
IGNORE_URL_SIZE_LIMIT=
NEXT_PUBLIC_KEYCLOAK_ENABLED=
ONELOGIN_CUSTOM_NAME=
DISCORD_CUSTOM_NAME=
ZOOM_CLIENT_SECRET=
NEXT_PUBLIC_MAILRU_ENABLED=
LINKEDIN_CLIENT_SECRET=
NAVER_CUSTOM_NAME=
NEXT_PUBLIC_ZOOM_ENABLED=
OSSO_CLIENT_SECRET=
MAILCHIMP_CLIENT_SECRET=
MONOLITH_MAX_BUFFER=
AUTH0_CLIENT_SECRET=
PIPEDRIVE_CUSTOM_NAME=
NEXT_PUBLIC_TODOIST_ENABLED=
NEXT_PUBLIC_OLLAMA_ENDPOINT_URL=
PINTEREST_CLIENT_ID=
PDF_MARGIN_BOTTOM=
AUTH0_ISSUER=
FUSIONAUTH_CLIENT_SECRET=
NEXT_PUBLIC_COINBASE_ENABLED=
ARCHIVE_TAKE_COUNT=
IMPORT_LIMIT=
REDDIT_CLIENT_ID=
LINE_CLIENT_ID=
NEXT_PUBLIC_TWITCH_ENABLED=
NEXT_PUBLIC_UNITED_EFFECTS_ENABLED=
EVEONLINE_CLIENT_ID=
ATLASSIAN_CLIENT_SECRET=
MAILRU_CLIENT_ID=
ZITADEL_CLIENT_SECRET=
FORTYTWO_CUSTOM_NAME=
WORDPRESS_CLIENT_ID=
REDDIT_CUSTOM_NAME=
IDS4_CLIENT_ID=
ANTHROPIC_MODEL=
EVEONLINE_CUSTOM_NAME=
FORTYTWO_CLIENT_ID=
FORTYTWO_CLIENT_SECRET=
TWITCH_CUSTOM_NAME=
PROXY_PASSWORD=
NEXT_PUBLIC_AZURE_AD_B2C_ENABLED=
STRAVA_CUSTOM_NAME=
COINBASE_CUSTOM_NAME=
NEXT_PUBLIC_WORDPRESS_ENABLED=
BROWSER_TIMEOUT=
MAX_WORKERS=
BUNGIE_CUSTOM_NAME=
SLACK_CLIENT_ID=
KEYCLOAK_CLIENT_SECRET=
BATTLENET_CUSTOM_NAME=
LINKEDIN_CLIENT_ID=
FOURSQUARE_CLIENT_ID=
NAVER_CLIENT_ID=
IGNORE_UNAUTHORIZED_CA=
AZURE_RESOURCE_NAME=
NAVER_CLIENT_SECRET=
NEXT_PUBLIC_EMAIL_PROVIDER=
TODOIST_CUSTOM_NAME=
FACEBOOK_CLIENT_SECRET=
FRESHBOOKS_CLIENT_SECRET=
NEXT_PUBLIC_FOURSQUARE_ENABLED=
WORDPRESS_CLIENT_SECRET=
GITHUB_ID=
NETLIFY_CLIENT_ID=
FUSIONAUTH_CUSTOM_NAME=
SEARCH_FILTER_LIMIT=
AUTH0_CLIENT_ID=
TWITCH_CLIENT_SECRET=
KEYCLOAK_ISSUER=
NEXT_PUBLIC_BUNGIE_ENABLED=
NEXT_PUBLIC_HUBSPOT_ENABLED=
APPLE_ID=
LINE_CLIENT_SECRET=
FUSIONAUTH_TENANT_ID=
AZURE_AD_B2C_TENANT_NAME=
KAKAO_CLIENT_SECRET=
AUTHELIA_CLIENT_SECRET=""
HUBSPOT_CUSTOM_NAME=
OKTA_CLIENT_ID=
STRAVA_CLIENT_ID=
UNITED_EFFECTS_CLIENT_ID=
GITHUB_SECRET=
PROXY_BYPASS=
APPLE_CUSTOM_NAME=
ZITADEL_CUSTOM_NAME=
PIPEDRIVE_CLIENT_ID=
REDDIT_CLIENT_SECRET=
OKTA_CLIENT_SECRET=
NEXT_PUBLIC_AZURE_AD_ENABLED=
SPACES_ENDPOINT=
ONELOGIN_CLIENT_ID=
OPENROUTER_MODEL=
BATTLENET_CLIENT_SECRET=
SPACES_BUCKET_NAME=
OKTA_ISSUER=
SALESFORCE_CLIENT_SECRET=
TWITCH_CLIENT_ID=
SPACES_SECRET=
BUNGIE_CLIENT_SECRET=
NEXT_PUBLIC_DEMO_USERNAME=
NEXT_PUBLIC_LINKEDIN_ENABLED=
WORDPRESS_CUSTOM_NAME=
PATREON_CLIENT_SECRET=
KAKAO_CLIENT_ID=
APPLE_SECRET=
OPENROUTER_API_KEY=
FOURSQUARE_CUSTOM_NAME=
COGNITO_CUSTOM_NAME=
OSSO_CUSTOM_NAME=
MAILCHIMP_CUSTOM_NAME=
SLACK_CUSTOM_NAME=
TODOIST_CLIENT_ID=
NEXT_PUBLIC_NAVER_ENABLED=
NEXT_PUBLIC_GITLAB_ENABLED=
ATLASSIAN_CUSTOM_NAME=
MAILRU_CUSTOM_NAME=

28
docker-compose.yml Normal file
View File

@ -0,0 +1,28 @@
services:
postgres:
image: postgres:16-alpine
env_file: .env
restart: always
volumes:
- /data/pgdata:/var/lib/postgresql/data
linkwarden:
env_file: .env
environment:
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
restart: always
# build: . # uncomment to build from source
image: ghcr.io/linkwarden/linkwarden:latest # comment to build from source
ports:
- 3000:3000
volumes:
- /data/data:/data/data
depends_on:
- postgres
- meilisearch
meilisearch:
image: getmeili/meilisearch:v1.12.8
restart: always
env_file:
- .env
volumes:
- /data/meili_data:/meili_data

View File

@ -1,8 +1,18 @@
#!/bin/bash
curl -O https://raw.githubusercontent.com/linkwarden/linkwarden/refs/heads/main/docker-compose.yml
curl -L https://raw.githubusercontent.com/linkwarden/linkwarden/refs/heads/main/.env.sample -o ".env"
# Helper function to check if a command exists
command_exists() {
command -v "$1" >/dev/null 2>&1
}
# Check if the first argument is "clean"
if [[ "$1" == "clean" ]]; then
echo "Downloading files with curl..."
curl -O https://raw.githubusercontent.com/linkwarden/linkwarden/refs/heads/main/docker-compose.yml
curl -L https://raw.githubusercontent.com/linkwarden/linkwarden/refs/heads/main/.env.sample -o ".env"
else
echo "Skipping curl download. Run with 'clen' to enable."
fi
# Helper function to check a command
command_exists() {