Skip to content

calibre-web 电子书

bash
 docker create  \
    --name=calibre-web  \
    -p 8083:8083  \
    -p 8084:8084  \
    -v /calibre/config:/config  \
    -v /calibre/books:/library  \
    -v /calibre/auto:/autoaddbooks  \
    -e UID=1000  \
    -e GID=1000  \
    -e CALIBRE_SERVER_USER=lyirs  \
    -e CALIBRE_SERVER_PASSWORD=123456 \
    -e CALIBRE_WEB_LANGUAGE=zh_Hans_CN \
    -e TZ=Asia/Shanghai \
    --restart unless-stopped  \
    johngong/calibre-web:latest
bash
sudo docker cp NewDouban.py calibre-web:/usr/local/calibre-web/app/cps/metadata_provider

matomo 网站报表

bash
docker run -d --name matomo-db \
    --network matomo-network \
    -e MYSQL_DATABASE=matomo \
    -e MYSQL_USER=matomo \
    -e MYSQL_PASSWORD=matomo \
    -e MYSQL_ROOT_PASSWORD=root_password \
    mysql:latest

docker run -d --name matomo \
    --network matomo-network \
    -p 8085:80 \
    -v /matomo:/var/www/html \
    -e MATOMO_DATABASE_HOST=matomo-db \
    -e MATOMO_DATABASE_USERNAME=matomo \
    -e MATOMO_DATABASE_PASSWORD=matomo \
    -e MATOMO_DATABASE_DBNAME=matomo \
    matomo:latest

jellyfin 影音库

bash
sudo docker run -d --name=Jellyfin -p 8096:8096 \
    -p 8920:8920 -p 7359:7359/udp -p 1900:1900/udp \
    -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v /media:/media \
    -e TZ=Asia/Shanghai -e PUID=0 -e PGID=0 \
    --device=/dev/dri:/dev/dri \
    --add-host=api.themoviedb.org:13.224.161.90 \
    --add-host=api.themoviedb.org:13.35.8.65 \
    --add-host=api.themoviedb.org:13.35.8.93 \
    --add-host=api.themoviedb.org:13.35.8.6 \
    --add-host=api.themoviedb.org:13.35.8.54 \
    --add-host=image.tmdb.org:138.199.37.230 \
    --add-host=image.tmdb.org:108.138.246.49 \
    --add-host=api.thetvdb.org:13.225.89.239 \
    --add-host=api.thetvdb.org:192.241.234.54 \
    --restart unless-stopped \
    nyanmisaka/jellyfin:latest

Plex 影音库

bash
docker run \
-d \
--name plex \
--network=host \
--restart=always \
-p 32400:32400 \
-e TZ="Asia/Shanghai" \
-e PLEX_CLAIM="claim--9zZHz5icKxbMoxRzpwA" \
-e PUID=1000 \
-e PGID=1000 \
-v /srv/plex/config:/config \
-v /srv/plex/transcode:/transcode \
-v /srv/plex/data:/data \
-v /srv/plex/video:/video \
-v /srv/plex/photo:/photo \
-v /srv/plex/music:/music \
--device=/dev/dri:/dev/dri \
plexinc/pms-docker

sheetable 乐谱架

bash
docker run -d \
--name=sheetable \
-p 3456:8080 \
-v /srv/sheetable:/app/config \
vallezw/sheetable:latest

drawio

bash
docker run -itd --restart=always  --name="draw" -p 8083:8080 -p 8445:8443 jgraph/drawio

Picsur 图床

https://github.com/caramelfur/picsur

yml
version: "3"
services:
  picsur:
    image: ghcr.io/caramelfur/picsur:latest
    container_name: picsur
    ports:
      - "8080:8080"
    environment:
      # PICSUR_HOST: '0.0.0.0'
      # PICSUR_PORT: 8080

      PICSUR_DB_HOST: picsur_postgres
      # PICSUR_DB_PORT: 5432
      # PICSUR_DB_USERNAME: picsur
      # PICSUR_DB_PASSWORD: picsur
      # PICSUR_DB_DATABASE: picsur

      ## The default username is admin, this is not modifyable
      # PICSUR_ADMIN_PASSWORD: picsur

      ## Optional, random secret will be generated if not set
      # PICSUR_JWT_SECRET: CHANGE_ME
      # PICSUR_JWT_EXPIRY: 7d

      ## Maximum accepted size for uploads in bytes
      # PICSUR_MAX_FILE_SIZE: 128000000
      ## No need to touch this, unless you use a custom frontend
      # PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist"

      ## Warning: Verbose mode might log sensitive data
      # PICSUR_VERBOSE: "true"
    restart: unless-stopped
  picsur_postgres:
    image: postgres:14-alpine
    container_name: picsur_postgres
    environment:
      POSTGRES_DB: picsur
      POSTGRES_PASSWORD: picsur
      POSTGRES_USER: picsur
    restart: unless-stopped
    volumes:
      - picsur-data:/var/lib/postgresql/data
volumes:
  picsur-data:

chatgpt-next-web

yml
version: "3.3"
services:
  chatgpt-next-web:
    ports:
      - "8090:3000"
    environment:
      - OPENAI_API_KEY=sk-xxxx # 填写你的API KEY
      - CODE=your-password # 填一个密码,不然你的额度很快就会被刷完
    image: yidadaa/chatgpt-next-web
nginx
// 如果需要设置域名反代,在nginx中添加:
proxy_cache off;
proxy_buffering off;
chunked_transfer_encoding on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 300;

ttrss

yml
version: "3"
services:
  service.rss:
    image: wangqiru/ttrss:latest
    container_name: ttrss
    ports:
      - 1201:80 # 按需修改
    environment:
      - SELF_URL_PATH=http://124.222.201.3:1201/ # 按需修改
      - DB_PASS=sulinyin # 按需修改。与下面的密码对应
    volumes:
      - ./feed-icons:/var/www/feed-icons/
    networks:
      - public_access
      - service_only
      - database_only
    stdin_open: true
    tty: true
    restart: always

  service.mercury:
    image: wangqiru/mercury-parser-api:latest
    container_name: mercury
    networks:
      - public_access
      - service_only
    restart: always

  service.opencc:
    image: wangqiru/opencc-api-server:latest
    container_name: opencc
    environment:
      - NODE_ENV=production
    networks:
      - service_only
    restart: always

  database.postgres:
    image: postgres:13-alpine
    container_name: postgres
    environment:
      - POSTGRES_PASSWORD=sulinyin
    volumes:
      - ./db/:/var/lib/postgresql/data
    networks:
      - database_only
    restart: always

networks:
  public_access:
  service_only:
    internal: true
  database_only:
    internal: true

uptime kuma 网站监控

yml
version: "3.3"

services:
  uptime-kuma:
    image: louislam/uptime-kuma
    container_name: uptime-kuma
    volumes:
      - ./uptime-kuma:/app/data
    ports:
      - 3001:3001

vocechat 聊天室

bash
docker run -d --restart=always \
  -p 3009:3000 \
  --name vocechat-server \
  privoce/vocechat-server:latest

flame 导航页

yml
version: "3.6"

services:
  flame:
    image: pawelmalak/flame
    container_name: flame
    volumes:
      - /path/to/host/data:/app/data
      - /var/run/docker.sock:/var/run/docker.sock # optional but required for Docker integration
    ports:
      - 5005:5005
    secrets:
      - password # optional but required for (1)
    environment:
      - PASSWORD=flame_password
      - PASSWORD_FILE=/run/secrets/password # optional but required for (1)
    restart: unless-stopped

# optional but required for Docker secrets (1)
secrets:
  password:
    file: /path/to/secrets/password

Vikunja 待办清单

https://vikunja.io/docs/installing/#docker

bash
touch vikunja.db
docker run -p 3456:3456 -v $PWD/files:/app/vikunja/files -v $PWD/vikunja.db:/app/vikunja/vikunja.db vikunja/vikunja