Update linkwarden/compose.yml

This commit is contained in:
2024-08-20 08:26:58 +03:00
parent 6a56e63bd7
commit 6580dbfd94
+33 -78
View File
@@ -1,80 +1,35 @@
services:
postgres:
container_name: linkwarden-db
image: postgres:16-alpine
env_file: .env
restart: always
networks:
- proxy
volumes:
- ./pgdata:/var/lib/postgresql/data
linkwarden:
container_name: linkwarden
env_file: .env
environment:
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
- NEXT_PUBLIC_DISABLE_REGISTRATION=true # add this line only after creating your user
- DISABLE_NEW_SSO_USERS=true # add this line only after creating your user
restart: always
image: ghcr.io/linkwarden/linkwarden:latest
volumes:
- ./data:/data/data
depends_on:
- postgres
networks:
- proxy
labels:
- traefik.enable=true
- traefik.docker.network=proxy
- traefik.http.routers.linkwarden.rule=Host(`subdomain.domain.com`)
- traefik.http.routers.linkwarden.entrypoints=https
- traefik.http.routers.linkwarden.tls=true
- traefik.http.services.linkwarden.loadbalancer.server.port=3000
networks:
proxy:
external: true
linkwarden:
services:
linkwarden-db:
container_name: linkwarden-db
image: postgres
security_opt:
- no-new-privileges:true
restart: unless-stopped
profiles: ["all", "linkwarden"]
networks:
- linkwarden
healthcheck:
test: ["CMD-SHELL", "pg_isready -d linkwarden -U linkwarden || exit 1"]
interval: 5s
timeout: 5s
start_period: 30s
retries: 10
environment:
POSTGRES_HOST_AUTH_METHOD: "trust"
POSTGRES_USER: linkwarden
POSTGRES_PASSWORD: Linkwarden123!
POSTGRES_DB: linkwarden
volumes:
- /opt/linkwarden/db:/var/lib/postgresql
linkwarden-migrate: &linkwarden-service
image: "linkwarden/linkwarden"
restart: on-failure
profiles: ["all", "linkwarden"]
networks:
- linkwarden
build:
context: https://github.com/linkwarden/linkwarden.git#main
dockerfile_inline: |
FROM node:20
WORKDIR /opt/linkwarden
COPY . .
RUN yarn && \
npx playwright@1.36.2 install-deps && \
yarn build
ENTRYPOINT ["yarn"]
CMD ["start"]
command: prisma migrate deploy
environment:
- DATABASE_URL=postgres://linkwarden:Linkwarden123!@linkwarden-db:5432/linkwarden?sslmode=disable&max_conns=20&max_idle_conns=4
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET:-DR5o8dX6SR5#g*@7z!k2%8#sf5S@RR6F}
- NEXTAUTH_URL=${NEXTAUTH_URL:-http://localhost:3000}
- PAGINATION_TAKE_COUNT=50
- STORAGE_FOLDER=/data
- NEXT_PUBLIC_DISABLE_REGISTRATION=true
- DISABLE_NEW_SSO_USERS=true
depends_on:
linkwarden-db:
condition: service_healthy
linkwarden:
<<: *linkwarden-service
restart: unless-stopped
command: start
profiles: ["all", "linkwarden"]
networks:
- linkwarden
- proxy
depends_on:
linkwarden-migrate:
condition: service_completed_successfully
labels:
- "traefik.enable=true"
## HTTP Routers
- "traefik.http.routers.linkwarden-rtr.entrypoints=https"
- "traefik.http.routers.linkwarden-rtr.rule=Host(`subdomain.domain.com`)"
## Middlewares
- "traefik.http.routers.linkwarden-rtr.middlewares=chain-no-auth@file"
## HTTP Services
- "traefik.http.routers.linkwarden-rtr.service=linkwarden-svc"
- "traefik.http.services.linkwarden-svc.loadbalancer.server.port=3000"
external: true