拉取
docker pull xhofe/alist:latest
安装
docker run -d --restart=unless-stopped -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest
密码设置或重置
# 随机生成一个密码 docker exec -it alist ./alist admin random # 手动设置一个密码,`NEW_PASSWORD`是指你需要设置的密码 docker exec -it alist ./alist admin set NEW_PASSWORD
可以存储文件\照片\通话\邮件\联系人\笔记等内容
拉取
docker pull nextcloud:latest
安装
docker run -d --restart=always --name nextcloud -p 9001:80 -v /root/nextcloud:/data nextcloud:latest
Excalidraw是一个手绘风格的轻量级绘图工具,非常适合快速草图和头脑风暴。该软件的所有数据都是保存在你的浏览器中的,所以只要不初始化浏览器,数据可以一直存留。项目支持端对端加密,支持在线协作 在线地址
拉取
docker pull excalidraw/excalidraw:latest
部署
docker run --rm -d -it --name excalidraw -p 5000:80 excalidraw/excalidraw:latest
或者
docker-composeversion: "3.9" services: excalidraw: container_name: excalidraw image: excalidraw/excalidraw:latest ports: - 5000:80 restart: on-failure:5 stdin_open: true environment: - NODE_ENV=development volumes: - ./:/opt/node_app/app:delegated - ./package.json:/opt/node_app/package.json - ./yarn.lock:/opt/node_app/yarn.lock - notused:/opt/node_app/app/node_modules volumes: notused:
访问:http://localhost:5000 不想每次运行结束就关闭容器就删除--rm这个指令
拉取
docker pull jgraph/drawio
部署
docker run -it --rm --name="draw" -p 8080:8080 -p 8443:8443 jgraph/drawio
访问:http://localhost:8080 不想每次运行结束就关闭容器就删除--rm这个指令
拉取
docker pull ghcr.io/b310-digital/teammapper:latest
部署
docker-composeversion: "3.8" services: app_prod: image: ghcr.io/b310-digital/teammapper:latest environment: MODE: PROD BINDING: "0.0.0.0" POSTGRES_DATABASE: teammapper-db POSTGRES_HOST: postgres_prod POSTGRES_PASSWORD: POSTGRES_PORT: 5432 POSTGRES_SSL: false POSTGRES_SSL_REJECT_UNAUTHORIZED: false POSTGRES_USER: teammapper-user POSTGRES_QUERY_TIMEOUT: 100000 POSTGRES_STATEMENT_TIMEOUT: 100000 DELETE_AFTER_DAYS: 30 ports: - 80:3000 depends_on: - postgres_prod postgres_prod: image: postgres:12-alpine # Pass config parameters to the postgres server. # Find more information below when you need to generate the ssl-relevant file your self # command: -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key environment: PGDATA: /var/lib/postgresql/data/pgdata POSTGRES_DB: teammapper-db POSTGRES_PASSWORD: POSTGRES_PORT: 5432 POSTGRES_USER: teammapper-user volumes: # To setup an ssl-enabled postgres server locally, you need to generate a self-signed ssl certificate. # See README.md for more information. # Mount the ssl_cert_file and ssl_key_file into the docker container. - ./ca/server.crt:/var/lib/postgresql/server.crt - ./ca/server.key:/var/lib/postgresql/server.key - postgres_prod_data:/var/lib/postgresql/data/pgdata volumes: postgres_prod_data:
DrawDB 是浏览器中功能强大且用户友好的数据库实体关系 (DBER) 编辑器。只需单击几下即可构建图表、导出 sql 脚本、自定义编辑器等,而无需创建帐户。
拉取
docker pull xinsodev/drawdb
部署
docker run --name some-drawdb -p 3000:80 -d xinsodev/drawdb
在线地址 部署
docker-composeversion: "3.8" services: affine: image: ghcr.io/toeverything/affine-graphql:stable #镜像标签选择stable为稳定版,选择canary为最新发布版本 # image: ghcr.io/toeverything/affine-graphql:canary container_name: affine command: ['sh', '-c', 'node ./scripts/self-host-predeploy && node ./dist/index.js'] ports: - '3010:3010' #WebUI端口 - '5555:5555' depends_on: redis: condition: service_healthy postgres: condition: service_healthy volumes: - ./config:/root/.affine/config #自定义配置文件存储路径 - ./storage:/root/.affine/storage #自定义存储文件路径 logging: driver: 'json-file' options: max-size: '1000m' restart: unless-stopped environment: - NODE_OPTIONS="--import=./scripts/register.js" - AFFINE_CONFIG_PATH=/root/.affine/config - REDIS_SERVER_HOST=redis - DATABASE_URL=postgres://affine:affine@postgres:5432/affine - NODE_ENV=production - AFFINE_ADMIN_EMAIL=xxxx@xx.com #改成自己邮箱 - AFFINE_ADMIN_PASSWORD=PASSWORD #改成自己的密码 - AFFINE_SERVER_HOST=${AFFINE_SERVER_HOST} #可选,设置域名 networks: - affinenet redis: image: redis container_name: affine_redis restart: unless-stopped volumes: - ./redis:/data #自定义redis存储路径 healthcheck: test: ['CMD', 'redis-cli', '--raw', 'incr', 'ping'] interval: 10s timeout: 5s retries: 5 networks: - affinenet postgres: image: postgres container_name: affine_postgres restart: unless-stopped volumes: - ./postgres:/var/lib/postgresql/data #自定义postgres存储路径 healthcheck: test: ['CMD-SHELL', 'pg_isready -U affine'] interval: 10s timeout: 5s retries: 5 environment: POSTGRES_USER: affine POSTGRES_PASSWORD: affine POSTGRES_DB: affine PGDATA: /var/lib/postgresql/data/pgdata networks: - affinenet networks: affinenet: external: true
拉取
docker pull codercom/code-server:latest
创建数据卷
mkdir /docker/vscode -p && cd /docker/vscode
部署
docker run -d --name code-server -p 8000:8080 -e PASSWORD=123456 -v /docker/vscode/data:/root/.vscode-server codercom/code-server:latest
这是Bitwarden的非官方版本,由Rust编写,并且与官方客户端兼容。
拉取
docker pull vaultwarden/server:latest
部署
docker run -d --name vaultwarden -v /vw-data/:/data/ -p 80:80 vaultwarden/server:latest
访问:http://localhost:80 安卓客户端地址下载
和语雀类似,云同步需要开通会员,本地部署的只是一个客户端
拉取
docker pull b3log/siyuan:latest
部署
sudo chown -R 1000:1000 /siyuan/workspace
docker run -d -v /siyuan/workspace:/siyuan/workspace -p 6806:6806 -u 1000:1000 b3log/siyuan --workspace=/siyuan/workspace/ --accessAuthCode=${AuthCode}
或者
docker-composeversion: "3.9" services: main: image: b3log/siyuan command: ['--workspace=/siyuan/workspace/', '--accessAuthCode=${AuthCode}'] user: '1000:1000' ports: - 6806:6806 volumes: - /siyuan/workspace:/siyuan/workspace restart: unless-stopped environment: # A list of time zone identifiers can be found at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - TZ=${TimeZone}
${AuthCode}改成自己的密码
官方文档 拉取
docker pull registry.fit2cloud.com/halo/halo:2.19
部署
mkdir ~/halo && cd ~/halo
version: "3" services: halo: image: registry.fit2cloud.com/halo/halo:2.19 restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - ./halo2:/root/.halo2 ports: - "8090:8090" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] interval: 30s timeout: 5s retries: 5 start_period: 30s command: - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - --spring.r2dbc.username=halo # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - --spring.r2dbc.password=openpostgresql - --spring.sql.init.platform=postgresql # 外部访问地址,请根据实际需要修改 - --halo.external-url=http://localhost:8090/ halodb: image: postgres:15.4 restart: on-failure:3 networks: halo_network: volumes: - ./db:/var/lib/postgresql/data healthcheck: test: [ "CMD", "pg_isready" ] interval: 10s timeout: 5s retries: 5 environment: - POSTGRES_PASSWORD=openpostgresql - POSTGRES_USER=halo - POSTGRES_DB=halo - PGUSER=halo networks: halo_network:
参数名 | 描述 |
---|---|
spring.r2dbc.url | 数据库连接地址,详细可查阅下方的 数据库配置 |
spring.r2dbc.username | 数据库用户名 |
spring.r2dbc.password | 数据库密码 |
spring.sql.init.platform | 数据库平台名称,支持 postgresql、mysql、mariadb、h2 |
halo.external-url | 外部访问链接,如果需要在公网访问,需要配置为实际访问地址 |
数据库配置:
链接方式 | 链接地址格式 | spring.sql.init.platform |
---|---|---|
PostgreSQL | r2dbc:pool:postgresql://{HOST}:{PORT}/{DATABASE} | postgresql |
MySQL | r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE} | mysql |
MariaDB | r2dbc:pool:mariadb://{HOST}:{PORT}/{DATABASE} | mariadb |
H2 Database | r2dbc:h2:file:///${halo.work-dir}/db/halo-next? | MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE |
启动
docker-compose up -d
访问localhost:8090
拉取
docker pull filebrowser/filebrowser
先创建filebrowser.db文件
sudo touch /home/ubuntu/mount0/filebrowser/filebrowser.db
部署
docker run -d --net mybridge --name filebrowser -p 8080:80 -v /home/ubuntu/mount1/Resources/share:/srv -v /home/ubuntu/mount0/filebrowser/filebrowser.db:/database.db -v /home/ubuntu/mount0/settings.json:/config/settings.json --restart=unless-stopped filebrowser/filebrowser
访问localhost:8080
默认的用户名和密码都是admin
拉取
docker pull analogic/poste.io
部署
docker run -d --net mailnet --name=mailserver --ip 172.18.0.117 -p 880:80 -p 8443:443 -p 25:25 -p 110:110 -p 143:143 -p 465:465 -p 587:587 -p 993:993 -p 995:995 -p 4190:4190 -e TZ=Asia/Shanghai -v /home/docker_data/mail-data:/data -h "${域名}" --restart=unless-stopped -t analogic/poste.io
${域名}替换成你自己的邮箱域名,比如mail.yourname.cn
访问localhost:880
官网 部署
docker run -d --name memos -p 5230:5230 -v ~/.memos/:/var/opt/memos neosmemo/memos:stable
访问 localhost:5230
部署
docker-cli
docker run -itd \ --name easyimage \ -p 8080:80 \ -e TZ=Asia/Shanghai \ -e PUID=1000 \ -e PGID=1000 \ -e DEBUG=false \ -v /root/data/docker_data/easyimage/config:/app/web/config \ -v /root/data/docker_data/easyimage/i:/app/web/i \ ddsderek/easyimage:latest
docker-compose
version: '3.3' services: easyimage: image: ddsderek/easyimage:latest container_name: easyimage ports: - '8080:80' environment: - TZ=Asia/Shanghai - PUID=1000 - PGID=1000 - DEBUG=false volumes: - '/root/data/docker_data/easyimage/config:/app/web/config' - '/root/data/docker_data/easyimage/i:/app/web/i' restart: unless-stopped
在docker中运行macos系统,GitHub地址
services: macos: image: dockurr/macos container_name: macos environment: VERSION: "13" RAM_SIZE: "12G" CPU_CORES: "8" devices: - /dev/kvm - /dev/net/tun cap_add: - NET_ADMIN ports: - 8006:8006 - 5900:5900/tcp - 5900:5900/udp stop_grace_period: 2m volumes: - $PWD/docker/macos:/storage
内存核心数自己配置一下 访问8006端口
支持性
产品 | 平台 | |
---|---|---|
Docker Engine | Linux | ✅ |
Docke Desktop | Linux | ❌ |
Docker Desktop | macOS | ❌ |
Docker Desktop | Windows 11 | ✅ |
Docker Desktop | Windows 10 | ❌ |
版本选择
值 | 版本 | 名称 |
---|---|---|
15 | macOS 15 | Sequoia |
14 | macOS 14 | Sonoma |
13 | macOS 13 | Ventura |
12 | macOS 12 | Monterey |
11 | macOS 11 | Big Sur |
想要macos15就在命令行的version填入15
在docker中运行windows系统,GitHub地址
docker-composeservices: windows: image: dockurr/windows container_name: windows environment: VERSION: "11" devices: - /dev/kvm - /dev/net/tun cap_add: - NET_ADMIN ports: - 8006:8006 - 3389:3389/tcp - 3389:3389/udp stop_grace_period: 2m
二选一
dockerdocker run -it --rm -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows
内存核心数自己配置一下 访问8006端口
支持性
产品 | 平台 | |
---|---|---|
Docker Engine | Linux | ✅ |
Docke Desktop | Linux | ❌ |
Docker Desktop | macOS | ❌ |
Docker Desktop | Windows 11 | ✅ |
Docker Desktop | Windows 10 | ❌ |
版本选择
Value | Version | Size |
---|---|---|
11 | Windows 11 Pro | 5.4 GB |
11l | Windows 11 LTSC | 4.2 GB |
11e | Windows 11 Enterprise | 5.8 GB |
10 | Windows 10 Pro | 5.7 GB |
10l | Windows 10 LTSC | 4.6 GB |
10e | Windows 10 Enterprise | 5.2 GB |
8e | Windows 8.1 Enterprise | 3.7 GB |
7e | Windows 7 Enterprise | 3.0 GB |
ve | Windows Vista Enterprise | 3.0 GB |
xp | Windows XP Professional | 0.6 GB |
2025 | Windows Server 2025 | 5.0 GB |
2022 | Windows Server 2022 | 4.7 GB |
2019 | Windows Server 2019 | 5.3 GB |
2016 | Windows Server 2016 | 6.5 GB |
2012 | Windows Server 2012 | 4.3 GB |
2008 | Windows Server 2008 | 3.0 GB |
2003 | Windows Server 2003 | 0.6 GB |
docker-compose部署
services: cashbook: image: dingdangdog/cashbook:latest container_name: cashbook restart: always ports: - 880:80 volumes: - ./data:/app/resources/data # v2.0.1新增环境变量配置 environment: - TOKEN_SALT=spend-money-like-water - ENVIRONMENT=PRO # 服务密钥,请自行修改 - SERVER_KEY=08cc0348-061d-4193-af05-b6cc02df28ea # 默认密码,请自行修改 - DEFAULT_PASSWORD=cashbook
docker部署
# 数据卷/环境变量等请自行修改命令 docker run -d --name cashbook -p 880:80 -v ./data:/app/resources/data dingdangdog/cashbook:latest
简单易用的多平台文件同步软件,惊人的传输速度是不同于其他产品的最大优势, 微力同步 的智能 P2P 技术加速同步,会将文件分割成若干份仅 KB 的数据同步,而文件都会进行 AES 加密处理。官网
部署
docker run --name verysync -d -v $PWD/docker/verysync/data:/data -p 8886:8886 jonnyan404/verysync
为了方便开发人员查阅技术栈 GitHub地址
部署
docker run --name reference --rm -d -p 8089:3000 wcjiang/reference:latest
适用于开发人员和 IT 人员的有用工具 GitHub地址
部署
docker run -d --name it-tools --restart unless-stopped -p 8080:80 corentinth/it-tools:latest
本文作者:Weee
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!