64 lines
2.1 KiB
YAML
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 |