Files
container/linkwarden/docker-compose.yml
T

74 lines
2.2 KiB
YAML
Raw Normal View History

2025-08-03 20:31:02 +00:00
services:
linkwarden:
image: ghcr.io/linkwarden/linkwarden:latest
container_name: linkwarden-app
environment:
- DATABASE_URL=postgresql://${PG_USER:-linkwarden}:${PG_PASS:-linkwarden}@postgres:5432/${PG_DB:-linkwarden}
2025-08-03 20:53:59 +00:00
- NEXTAUTH_URL=${NEXTAUTH_URL}
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
2025-08-03 22:00:12 +00:00
#- NEXTAUTH_BASE_PATH=/api/auth
2025-08-03 20:40:12 +00:00
- NEXT_PUBLIC_KEYCLOAK_ENABLED=${NEXT_PUBLIC_KEYCLOAK_ENABLED:-false}
2025-08-03 22:02:56 +00:00
- KEYCLOAK_CUSTOM_NAME=${KEYCLOAK_CLIENT_ID:-keycloak}
2025-08-03 20:40:12 +00:00
- KEYCLOAK_ISSUER=${KEYCLOAK_ISSUER}
- KEYCLOAK_CLIENT_ID=${KEYCLOAK_CLIENT_ID}
- KEYCLOAK_CLIENT_SECRET=${KEYCLOAK_CLIENT_SECRET}
2025-08-03 20:31:02 +00:00
restart: unless-stopped
ports:
- ${EXT_PORT}:3000
expose:
- 3000
volumes:
2025-08-03 20:42:03 +00:00
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/data:/data/data
2025-08-03 20:31:02 +00:00
depends_on:
- postgres
- meilisearch
#networks:
# - internal
# - tier-2
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.linkwarden.rule=Host(`linkwarden.example.com`)
# - traefik.http.services.linkwarden.loadbalancer.server.port=3000
# # Optional part for traefik middlewares
# - traefik.http.routers.linkwarden.middlewares=local-ipwhitelist@file
postgres:
image: docker.io/library/postgres:16-alpine
container_name: linkwarden-psql
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
volumes:
2025-08-03 20:41:18 +00:00
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/psql:/var/lib/postgresql/data
2025-08-03 20:31:02 +00:00
environment:
POSTGRES_PASSWORD: ${PG_PASS:-linkwarden}
POSTGRES_USER: ${PG_USER:-linkwarden}
POSTGRES_DB: ${PG_DB:-linkwarden}
expose:
- 5432
#networks:
# - internal
meilisearch:
image: getmeili/meilisearch:v1.12.8
container_name: linkwarden-search
restart: unless-stopped
volumes:
2025-08-03 20:41:18 +00:00
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/meili_data:/meili_data
2025-08-03 20:31:02 +00:00
#networks:
# - internal
#networks:
# tier-2:
# external: true
# internal:
2025-08-03 20:40:12 +00:00
# internal: true