Files
Docker-Compose/Dashboard_Containers/linkwarden/compose.yaml
T

64 lines
2.1 KiB
YAML

services:
postgres:
image: postgres:16-alpine
container_name: linkwarden-db
env_file:
- .env
environment:
POSTGRES_PASSWORD:
NEXTAUTH_SECRET:
restart: unless-stopped
volumes:
- /srv/docker/linkwarden/pgdata:/var/lib/postgresql/data
networks:
- traefik_network
- linkwarden
linkwarden:
env_file:
- .env
environment:
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
restart: unless-stopped
image: ghcr.io/linkwarden/linkwarden:latest
container_name: linkwarden
#ports:
# - 5017:3000
volumes:
- /srv/docker/linkwarden/data:/data/data
depends_on:
- postgres
networks:
- traefik_network
- linkwarden
labels:
### Auto create icon on Flame dashboard
- flame.type=application
- flame.name=${SERVICE_NAME}
- flame.url=https://${SERVICE_NAME}.${DOMAIN_NAME}
- flame.icon=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/linkwarden.png
### Enable Traefik
- traefik.enable=true
- traefik.docker.network=traefik_network
### For HTTP
#- traefik.http.routers.${SERVICE_NAME}.rule=Host(`${SERVICE_NAME}.${DOMAIN_NAME}`)
#- traefik.http.routers.${SERVICE_NAME}.entrypoints=web
### For HTTPS
- traefik.http.routers.${SERVICE_NAME}-https.tls=true
- traefik.http.routers.${SERVICE_NAME}-https.tls.certresolver=cloudflare
- traefik.http.routers.${SERVICE_NAME}-https.entrypoints=websecure
- traefik.http.routers.${SERVICE_NAME}-https.rule=Host(`${SERVICE_NAME}.${DOMAIN_NAME}`)
### Monitor with uptime-kuma
- kuma.monitoring.group.name=Docker Containers
- kuma.${SERVICE_NAME}.docker.parent_name=monitoring
- kuma.${SERVICE_NAME}.docker.name=${SERVICE_NAME}
- kuma.${SERVICE_NAME}.docker.type=docker
- kuma.${SERVICE_NAME}.docker.docker_container=${SERVICE_NAME}
- kuma.${SERVICE_NAME}.docker.docker_host=1
- 'kuma.${SERVICE_NAME}.docker.tag_names=[{"name": "docker_tag"}]'
networks:
traefik_network:
external: true
linkwarden:
name: linkwarden_network
driver: bridge