Github Actions
Click the button above, follow the instructions of Cloudflare to complete the deployment.
IMPORTANT
R2 storage bucket is a feature that needs to be manually enabled in the Cloudflare panel, please enable it before deployment or re-run Github Actions after failure. You only need to enable the R2 feature, no need to create a storage bucket, the storage bucket will be created automatically during deployment.
NOTE
When creating a token, select the Edit Cloudflare Workers
template directly, and then manually add the D1 Edit
permission.
Once deployed, please login as soon as possible, the first user to login will be set as the administrator.
Command Deploy
Requirements: Local installation of node environment.
Command deployment is more troublesome to update, so it is recommended to use Github Actions deployment.
0. Download the code
Download the latest service.zip from the release page, unzip it, and execute the following commands in the root directory.
1. Login
npx wrangler login
2. Create R2 storage bucket
npx wrangler r2 bucket create web-archive
Success output:
⛅️ wrangler 3.78.10 (update available 3.80.4)
--------------------------------------------------------
Creating bucket web-archive with default storage class set to Standard.
Created bucket web-archive with default storage class set to Standard.
3. Create D1 database
npx wrangler d1 create web-archive
Success output:
✅ Successfully created DB 'web-archive' in region UNKNOWN
Created your new D1 database.
[[d1_databases]]
binding = "DB" # i.e. available in your Worker on env.DB
database_name = "web-archive"
database_id = "xxxx-xxxx-xxxx-xxxx-xxxx"
Copy the last line of the output, replace the database_id
value in the wrangler.toml
file.
Then execute the following command to initialize the database:
npx wrangler d1 migrations apply web-archive --remote
Success output:
🌀 Executing on remote database web-archive (7fd5a5ce-79e7-4519-a5fb-2f9a3af71064):
🌀 To execute on your local development database, remove the --remote flag from your wrangler command.
Note: if the execution fails to complete, your DB will return to its original state and you can safely retry.
├ 🌀 Uploading 7fd5a5ce-79e7-4519-a5fb-2f9a3af71064.0a40ff4fc67b5bdf.sql
│ 🌀 Uploading complete.
│
🌀 Starting import...
🌀 Processed 9 queries.
🚣 Executed 9 queries in 0.00 seconds (13 rows read, 13 rows written)
Database is currently at bookmark 00000001-00000005-00004e2b-c977a6f2726e175274a1c75055c23607.
┌────────────────────────┬───────────┬──────────────┬────────────────────┐
│ Total queries executed │ Rows read │ Rows written │ Database size (MB) │
├────────────────────────┼───────────┼──────────────┼────────────────────┤
│ 9 │ 13 │ 13 │ 0.04 │
└────────────────────────┴───────────┴──────────────┴────────────────────┘
4. Deploy service
npx wrangler pages deploy
Success output:
成功输出:
The project you specified does not exist: "web-archive". Would you like to create it?
❯ Create a new project
✔ Enter the production branch name: … dev
✨ Successfully created the 'web-archive' project.
▲ [WARNING] Warning: Your working directory is a git repo and has uncommitted changes
To silence this warning, pass in --commit-dirty=true
🌎 Uploading... (3/3)
✨ Success! Uploaded 3 files (3.29 sec)
✨ Compiled Worker successfully
✨ Uploading Worker bundle
✨ Uploading _routes.json
🌎 Deploying...
✨ Deployment complete! Take a peek over at https://web-archive-xxxx.pages.dev
How to update
Use Github Actions deployment, the latest code will be automatically synced to the fork repository.
Command deployment needs to download the latest code and update manually.