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