Verification Report · linkding v1.47.0
NOT PUBLISHED
linkding-v1.47.0-20260916-001
verified_at 2026-09-16T00:14:16Z
Immutable inputs
| App version | v1.47.0 ← release tag v1.47.0 · source 24b5ad6cc9bd |
| Image (exact tag) | sissbruecker/linkding:1.47.0 |
| Image digest (linux/amd64) | sha256:b44256a4ff37e4cb1a39c40d3a5b560337f1477a55428b3320e813d6004d8001 |
| Index digest | sha256:e35cb50e0581178f245125ffaa909c565416c94c9f22ace305a7d234a4345522 |
| Pulled as | sissbruecker/linkding:1.47.0@sha256:b44256a4ff37e4cb1a39c40d3a5b560337f1477a55428b3320e813d6004d8001 via registry-1.docker.io |
| Platform contract | ami-025d99823a4caad37 · us-east-1/x86_64 · source=public (plat-us-east-1-x86_64-20260909-001) |
| Config revisions | app 4c875dec67a4 · compose 9c11dcc090bf |
| Release type | initial — rule1: no published versions recorded for this app |
Publish gate
| Check | Field | Result |
|---|
| Compose started | checks.compose_started | Passed |
| Container healthy | checks.container_healthy | Passed |
| Health check passed | checks.health_check_passed | Passed |
| Application tests | checks.tests_passed | Passed |
| Screenshots captured | checks.screenshots_generated | Passed |
| Screenshots published | checks.screenshots_uploaded | Failed |
| Report published | checks.report_uploaded | Failed |
| Manifest published | checks.verification_manifest_uploaded | Failed |
| Platform contract valid | checks.required_platform_contract_valid | Passed |
Evidence
| Health probe | HTTP 200 — ready |
| Version assertion | True actual 1.47.0 — 匹配(exact):kind=exec_command 取到 '1.47.0',期望 '1.47.0' |
| Tests | pytest exit=0
. [100%]
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED apps/linkding/tests/test_smoke.py::test_login_page_answers
1 passed in 0.13s
|
| Container state | running |
| Duration | 25.6s(2026-09-16T00:13:49Z → 2026-09-16T00:14:14Z) |
Screenshots

login · Sign-in page / 登录页
Application test output
pytest exit=0
. [100%]
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED apps/linkding/tests/test_smoke.py::test_login_page_answers
1 passed in 0.13s
Container logs (tail)
ying bookmarks.0037_globalsettings... OK
linkding-1 | Applying bookmarks.0038_globalsettings_guest_profile_user... OK
linkding-1 | Applying bookmarks.0039_globalsettings_enable_link_prefetch... OK
linkding-1 | Applying bookmarks.0040_userprofile_items_per_page_and_more... OK
linkding-1 | Applying bookmarks.0041_merge_metadata... OK
linkding-1 | Applying bookmarks.0042_userprofile_custom_css_hash... OK
linkding-1 | Applying bookmarks.0043_userprofile_collapse_side_panel... OK
linkding-1 | Applying bookmarks.0044_bookmark_latest_snapshot... OK
linkding-1 | Applying bookmarks.0045_userprofile_hide_bundles_bookmarkbundle... OK
linkding-1 | Applying bookmarks.0046_add_url_normalized_field... OK
linkding-1 | Applying bookmarks.0047_populate_url_normalized_field... OK
linkding-1 | Applying bookmarks.0048_userprofile_default_mark_shared... OK
linkding-1 | Applying bookmarks.0049_userprofile_legacy_search... OK
linkding-1 | Applying bookmarks.0050_new_search_toast... OK
linkding-1 | Applying bookmarks.0051_fix_normalized_url... OK
linkding-1 | Applying bookmarks.0052_apitoken... OK
linkding-1 | Applying bookmarks.0053_migrate_api_tokens... OK
linkding-1 | Applying bookmarks.0054_bookmarkbundle_filter_shared_and_more... OK
linkding-1 | Applying sessions.0001_initial... OK
linkding-1 | 2026-09-16 00:14:09,108 INFO Current journal mode: delete
linkding-1 | 2026-09-16 00:14:09,109 INFO Switched to WAL journal mode
linkding-1 | 2026-09-16 00:14:09,637 INFO Skip creating initial superuser, LD_SUPERUSER_NAME option is not defined
linkding-1 | Legacy task table does not exist. Skipping task migration
linkding-1 | [uWSGI] getting INI configuration from uwsgi.ini
linkding-1 | [uwsgi-static] added mapping for /static => static
linkding-1 | [uwsgi-static] added mapping for /static => data/favicons
linkding-1 | [uwsgi-static] added mapping for /static => data/previews
linkding-1 | [uwsgi-static] added mapping for /robots.txt => static/robots.txt
linkding-1 | *** Starting uWSGI 2.0.31 (64bit) on [Wed Sep 16 00:14:10 2026] ***
linkding-1 | compiled with version: 14.2.0 on 13 September 2026 16:02:26
linkding-1 | os: Linux-6.17.0-1022-azure #22-Ubuntu SMP Mon Jul 27 17:24:03 UTC 2026
linkding-1 | nodename: 314b2aec5a43
linkding-1 | machine: x86_64
linkding-1 | clock source: unix
linkding-1 | pcre jit disabled
linkding-1 | detected number of CPU cores: 4
linkding-1 | current working directory: /etc/linkding
linkding-1 | writing pidfile to /tmp/linkding.pid
linkding-1 | detected binary path: /etc/linkding/.venv/bin/uwsgi
linkding-1 | *** dumping internal routing table ***
linkding-1 | [rule: 0] subject: path_info regexp: ^/static/ action: addheader:Content-Security-Policy: sandbox
linkding-1 | *** end of the internal routing table ***
linkding-1 | setgid() to 33
linkding-1 | setuid() to 33
linkding-1 | your memory page size is 4096 bytes
linkding-1 | detected max file descriptor number: 4096
linkding-1 | building mime-types dictionary from file /etc/mime.types...1599 entry found
linkding-1 | lock engine: pthread robust mutexes
linkding-1 | thunder lock: disabled (you can enable it with --thunder-lock)
linkding-1 | uWSGI http bound on [::]:9090 fd 4
linkding-1 | uwsgi socket 0 bound to TCP address 127.0.0.1:33149 (port auto-assigned) fd 3
linkding-1 | Python version: 3.13.7 (main, Sep 30 2025, 00:38:51) [GCC 14.2.0]
linkding-1 | Python main interpreter initialized at 0x7fb5d36389d0
linkding-1 | python threads support enabled
linkding-1 | your server socket listen backlog is limited to 100 connections
linkding-1 | your mercy for graceful operations on workers is 60 seconds
linkding-1 | mapped 274704 bytes (268 KB) for 4 cores
linkding-1 | *** Operational MODE: preforking+threaded ***
linkding-1 | WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x7fb5d36389d0 pid: 1 (default app)
linkding-1 | *** uWSGI is running in multiple interpreter mode ***
linkding-1 | spawned uWSGI master process (pid: 1)
linkding-1 | spawned uWSGI worker 1 (pid: 19, cores: 2)
linkding-1 | spawned uWSGI worker 2 (pid: 20, cores: 2)
linkding-1 | *** Stats server enabled on 127.0.0.1:9191 fd: 14 ***
linkding-1 | spawned uWSGI http 1 (pid: 23)
linkding-1 | [pid: 19|app: 0|req: 1/1] ::ffff:172.18.0.1 () {30 vars in 347 bytes} [Wed Sep 16 00:14:12 2026] GET / => generated 0 bytes in 132 msecs (HTTP/1.1 302) 9 headers in 283 bytes (1 switches on core 0)
linkding-1 | [pid: 19|app: 0|req: 2/2] ::ffff:172.18.0.1 () {30 vars in 365 bytes} [Wed Sep 16 00:14:12 2026] GET /bookmarks => generated 0 bytes in 2 msecs (HTTP/1.1 302) 9 headers in 295 bytes (1 switches on core 1)
linkding-1 | [pid: 20|app: 0|req: 1/3] ::ffff:172.18.0.1 () {30 vars in 388 bytes} [Wed Sep 16 00:14:12 2026] GET /login?next=/bookmarks => generated 0 bytes in 147 msecs (HTTP/1.1 301) 7 headers in 246 bytes (1 switches on core 0)
linkding-1 | [pid: 20|app: 0|req: 2/4] ::ffff:172.18.0.1 () {30 vars in 390 bytes} [Wed Sep 16 00:14:12 2026] GET /login/?next=/bookmarks => generated 3348 bytes in 18 msecs (HTTP/1.1 200) 11 headers in 511 bytes (1 switches on core 1)
linkding-1 | [pid: 20|app: 0|req: 3/5] ::ffff:172.18.0.1 () {32 vars in 379 bytes} [Wed Sep 16 00:14:13 2026] GET / => generated 0 bytes in 1 msecs (HTTP/1.1 302) 9 headers in 283 bytes (1 switches on core 0)
linkding-1 | [pid: 20|app: 0|req: 4/6] ::ffff:172.18.0.1 () {32 vars in 397 bytes} [Wed Sep 16 00:14:13 2026] GET /bookmarks => generated 0 bytes in 1 msecs (HTTP/1.1 302) 9 headers in 295 bytes (1 switches on core 1)
linkding-1 | [pid: 20|app: 0|req: 5/7] ::ffff:172.18.0.1 () {32 vars in 420 bytes} [Wed Sep 16 00:14:13 2026] GET /login?next=/bookmarks => generated 0 bytes in 1 msecs (HTTP/1.1 301) 7 headers in 246 bytes (1 switches on core 0)
linkding-1 | [pid: 19|app: 0|req: 3/8] ::ffff:172.18.0.1 () {32 vars in 422 bytes} [Wed Sep 16 00:14:13 2026] GET /login/?next=/bookmarks => generated 3348 bytes in 45 msecs (HTTP/1.1 200) 11 headers in 511 bytes (1 switches on core 0)
linkding-1 | [pid: 20|app: 0|req: 6/9] ::ffff:172.18.0.1 () {48 vars in 905 bytes} [Wed Sep 16 00:14:13 2026] GET / => generated 0 bytes in 1 msecs (HTTP/1.1 302) 9 headers in 283 bytes (1 switches on core 1)
linkding-1 | [pid: 19|app: 0|req: 4/10] ::ffff:172.18.0.1 () {48 vars in 923 bytes} [Wed Sep 16 00:14:13 2026] GET /bookmarks => generated 0 bytes in 1 msecs (HTTP/1.1 302) 9 headers in 295 bytes (1 switches on core 1)
linkding-1 | [pid: 20|app: 0|req: 7/11] ::ffff:172.18.0.1 () {48 vars in 946 bytes} [Wed Sep 16 00:14:13 2026] GET /login?next=/bookmarks => generated 0 bytes in 1 msecs (HTTP/1.1 301) 7 headers in 246 bytes (1 switches on core 0)
linkding-1 | [pid: 20|app: 0|req: 8/12] ::ffff:172.18.0.1 () {48 vars in 948 bytes} [Wed Sep 16 00:14:13 2026] GET /login/?next=/bookmarks => generated 3348 bytes in 3 msecs (HTTP/1.1 200) 11 headers in 511 bytes (1 switches on core 1)
linkding-1 | [pid: 20|app: -1|req: -1/13] ::ffff:172.18.0.1 () {48 vars in 886 bytes} [Wed Sep 16 00:14:13 2026] GET /static/bundle.js?v=1.47.0 => generated 151828 bytes in 0 msecs via sendfile() (HTTP/1.1 200) 4 headers in 154 bytes (0 switches on core 0)
linkding-1 | [pid: 20|app: -1|req: -1/14] ::ffff:172.18.0.1 () {48 vars in 912 bytes} [Wed Sep 16 00:14:13 2026] GET /static/theme-light.css?v=1.47.0 => generated 56303 bytes in 0 msecs via sendfile() (HTTP/1.1 200) 4 headers in 146 bytes (0 switches on core 1)
linkding-1 | [pid: 19|app: -1|req: -1/15] ::ffff:172.18.0.1 () {48 vars in 927 bytes} [Wed Sep 16 00:14:13 2026] GET /static/logo.png => generated 2592 bytes in 1 msecs via sendfile() (HTTP/1.1 200) 4 headers in 146 bytes (0 switches on core 1)
linkding-1 | [pid: 19|app: -1|req: -1/16] ::ffff:172.18.0.1 () {48 vars in 910 bytes} [Wed Sep 16 00:14:13 2026] GET /static/theme-dark.css?v=1.47.0 => generated 60421 bytes in 0 msecs via sendfile() (HTTP/1.1 200) 4 headers in 146 bytes (0 switches on core 0)
Raw manifest
{
"schema_version": "1.0",
"verification_id": "linkding-v1.47.0-20260916-001",
"app": "linkding",
"app_version": "v1.47.0",
"release": {
"source_repo": "sissbruecker/linkding",
"source_revision": "24b5ad6cc9bde497b5d1b1e86aed5a2fb7d25c2f",
"release_tag": "v1.47.0",
"upstream_tag": "v1.47.0",
"image_reference": "sissbruecker/linkding:1.47.0"
},
"container": {
"image": "sissbruecker/linkding:1.47.0",
"digest": "sha256:b44256a4ff37e4cb1a39c40d3a5b560337f1477a55428b3320e813d6004d8001",
"manifest_digest": "sha256:e35cb50e0581178f245125ffaa909c565416c94c9f22ace305a7d234a4345522",
"platform": "linux/amd64"
},
"platform": {
"platform_verification_id": "plat-us-east-1-x86_64-20260909-001",
"ami_id": "ami-025d99823a4caad37",
"base_ami_source": "public",
"source_ami_name": "ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-*",
"region": "us-east-1",
"architecture": "x86_64"
},
"config": {
"app_config_revision": "4c875dec67a463d2bf33d576d2211c7121adcf87",
"compose_revision": "9c11dcc090bfbb2b422cc1083e07baeaec6b07ea",
"tests_revision": "fda7146f7edb1f7d74ea7f6b1fa09cd99bc4ea7e"
},
"verification": {
"application": "passed",
"platform": "referenced",
"tests": "passed"
},
"checks": {
"compose_started": true,
"container_healthy": true,
"health_check_passed": true,
"tests_passed": true,
"screenshots_generated": true,
"screenshots_uploaded": false,
"report_uploaded": false,
"verification_manifest_uploaded": false,
"required_platform_contract_valid": true
},
"artifacts": {
"screenshots": [
{
"scenario": "login",
"file": "login.png",
"url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/screenshots/linkding/v1.47.0/login.png",
"caption": {
"en": "Sign-in page",
"zh": "登录页"
}
}
],
"report_url": "",
"workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunchVerify/actions/runs/35039071260"
},
"website": {
"app": "linkding",
"app_version": "v1.47.0",
"verification_id": "linkding-v1.47.0-20260916-001",
"verification_run_id": "35039071260",
"platform_verification_id": "plat-us-east-1-x86_64-20260909-001",
"ami_id": "ami-025d99823a4caad37",
"architecture": "x86_64",
"region": "us-east-1",
"display_name": {
"en": "Linkding",
"zh": "Linkding 书签管理"
},
"description": {
"en": "Fast, minimal bookmark manager with tags and full-text search",
"zh": "支持标签与全文搜索的快速轻量书签管理器"
},
"category": "productivity",
"icon": "/icons/linkding.svg",
"featured": false,
"tags": [
"bookmarks",
"search",
"productivity"
],
"features": [
{
"en": "Organize bookmarks with tags, notes and bulk actions",
"zh": "使用标签、备注和批量操作管理书签"
},
{
"en": "Search archived pages and bookmark metadata",
"zh": "搜索已归档页面与书签元数据"
}
],
"health": "passed",
"status": "pending",
"verified_at": "2026-09-16T00:14:16Z",
"report_url": "",
"workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunchVerify/actions/runs/35039071260",
"screenshots_order": [
"login"
],
"deploy": {
"documentation_url": "https://linkding.link/",
"regions": [
"us-east-1"
],
"instance_type": "t3.small",
"data_volume_gb": 30,
"container_port": 9090,
"health_check_path": "/",
"docker_image": "sissbruecker/linkding:1.47.0",
"extra_environment": [],
"post_deploy": {
"admin_path": "/admin/",
"admin_setup": {
"en": "Create the first account through AWS Systems Manager Session Manager with the upstream manage.py createsuperuser command, then sign in at /.",
"zh": "通过 AWS Systems Manager Session Manager 执行上游 manage.py createsuperuser 命令创建首个账户,然后在 / 登录。"
},
"notes": [
{
"en": "Bookmarks, previews, favicons and the SQLite database are retained under /etc/linkding/data.",
"zh": "书签、预览、站点图标与 SQLite 数据库均保留在 /etc/linkding/data。"
}
]
},
"cost_estimate": {
"monthly_usd": 23,
"note": {
"en": "Verified default in us-east-1: t3.small, 20 GB root plus 30 GB data gp3, and public IPv4; transfer and snapshots are extra.",
"zh": "us-east-1 已验证默认配置:t3.small、20GB 系统盘、30GB 数据盘与公网 IPv4;流量和快照另计。"
}
},
"data_path": "/etc/linkding/data"
},
"release": {
"type": "initial",
"previous_version": "",
"type_evidence": "rule1: no published versions recorded for this app"
},
"screenshots": [
{
"scenario": "login",
"file": "login.png",
"url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/screenshots/linkding/v1.47.0/login.png",
"caption": {
"en": "Sign-in page",
"zh": "登录页"
}
}
]
},
"verification_run_id": "35039071260",
"verified_at": "2026-09-16T00:14:16Z"
}