docker-compose.yml,它直接拉取 milesmcc/shynet:latest 镜像
# 1. 在服务器上创建目录并进入 mkdir -p /opt/shynet && cd /opt/shynet # 直接从 GitHub 下载3个文件 wget https://raw.githubusercontent.com/milesmcc/shynet/master/docker-compose.yml wget https://raw.githubusercontent.com/milesmcc/shynet/master/nginx.conf wget https://raw.githubusercontent.com/milesmcc/shynet/master/TEMPLATE.env # 复制并配置 cp TEMPLATE.env .env # 生成密钥并写入 SECRET=$(python3 -c "import secrets; print(secrets.token_urlsafe())") sed -i "s|DJANGO_SECRET_KEY=random_string|DJANGO_SECRET_KEY=$SECRET|" .env # 修改以下3项(把 你的密码 / 你的IP替换成实际值) sed -i "s|DB_PASSWORD=shynet_db_user_password|DB_PASSWORD=你的密码|" .env sed -i "s|ALLOWED_HOSTS=example.com|ALLOWED_HOSTS=你的IP或域名|" .env sed -i "s|CSRF_TRUSTED_ORIGINS=https://example.com|CSRF_TRUSTED_ORIGINS=http://你的IP或域名|" .env # 确认配置正确 grep -E "SECRET_KEY|DB_PASSWORD|ALLOWED_HOSTS|CSRF" .env # 启动 docker compose up -d
卸载项目
cd /opt/shynet # 停止并删除容器、网络 docker compose down # 同时删除数据库数据卷(不可恢复,谨慎) docker compose down -v # 删除项目文件 rm -rf /opt/shynet # 删除下载的镜像(可选) docker rmi milesmcc/shynet:latest nginx postgres
注意:down -v 会删除 PostgreSQL 数据卷,所有数据将永久丢失。如果只是停止服务但保留数据,用 docker compose down(不加 -v)
遇到问题: 拉取的 postgres 镜像是最新的 18版本,但数据卷是旧格式(17以前),两者不兼容。
解决方法:删除旧数据卷,并将 postgres 固定为稳定版本 16:
# 停止并删除容器和数据卷 docker compose down -v # 修改 docker-compose.yml,将 postgres 镜像固定为 16 sed -i 's/image: postgres$/image: postgres:16/' docker-compose.yml # 确认修改 grep 'image: postgres' docker-compose.yml # 重新启动 docker compose up -d # 等待约30秒后: docker compose ps # 三个容器全部 Up 后再创建管理员: docker exec -it shynet_main python manage.py createsuperuser
创建完管理员后访问 http://ip:8080 即可登录
声明:未经同意禁止任何个人或组织复制、盗用、采集、发布本站点内容到其他媒体平台。
