- LinkAce là bookmark manager open source thay thế Pocket, Raindrop, Instapaper.
- Docker Compose deploy trong 5 phút, dùng MySQL hoặc SQLite.
- Full-text search, tag, folder, link checker, Wayback Machine archive tự động.
- Browser extension Chrome/Firefox/Safari để save link 1 click.
- VPS 2GB chạy thoải mái 50000+ bookmark, chi phí 199k/tháng.
Pocket bị Mozilla mua rồi quên, Raindrop free chỉ 3 collection, Instapaper UI cũ. Dev solo và knowledge worker VN cần bookmark manager tự host: data của mình, không bị shutdown bất ngờ, không export khó khăn. LinkAce là câu trả lời.
LinkAce viết bằng PHP 8 Laravel, UI clean, có browser extension, mobile app PWA. Mọi feature core đều miễn phí, không có gate paywall. Self-host trên Cloud VPS 2GB là vừa đẹp - dùng cá nhân hoặc team nhỏ 5-10 người.
Bài này hướng dẫn full setup: cài Docker, deploy LinkAce qua Compose, cấu hình nginx + SSL, import data từ Pocket export, dùng browser extension. Test trên Cloud VPS TND 2GB Ubuntu 24.04.
1. Vì sao chọn LinkAce thay các tool khác?
| Tool | Self-host | Free tier | Search | Extension |
|---|---|---|---|---|
| LinkAce | Có (open source) | Full | Full-text | Có |
| Không | Limited (5 archive) | Tag only | Có | |
| Raindrop | Không | 3 collection | Full (paid) | Có |
| Wallabag | Có | Full | Full-text | Có |
| Shaarli | Có | Full | Basic | Bookmarklet |
LinkAce vs Wallabag: cả 2 đều tốt. LinkAce UI mới hơn, có dashboard analytics. Wallabag mạnh ở Read-it-later (offline reading). Chọn LinkAce nếu muốn bookmark organizer, Wallabag nếu cần reader.
2. Cài Docker và Docker Compose
# Cài Docker trên Ubuntu 24.04
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker
# Compose plugin
sudo apt install -y docker-compose-plugin
docker --version
docker compose version3. Tạo docker-compose.yml cho LinkAce
mkdir -p /opt/linkace && cd /opt/linkace
nano docker-compose.yml# /opt/linkace/docker-compose.yml
services:
app:
image: linkace/linkace:simple
container_name: linkace
restart: unless-stopped
ports:
- "127.0.0.1:8082:80"
volumes:
- ./backups:/app/storage/app/backups
- ./logs:/app/storage/logs
environment:
DB_CONNECTION: mysql
DB_HOST: db
DB_PORT: 3306
DB_DATABASE: linkace
DB_USERNAME: linkace
DB_PASSWORD: random_strong_password
APP_URL: https://links.yourdomain.com
APP_KEY: # tạo bằng lệnh php artisan key:generate
depends_on:
- db
db:
image: mariadb:11
container_name: linkace-db
restart: unless-stopped
environment:
MARIADB_DATABASE: linkace
MARIADB_USER: linkace
MARIADB_PASSWORD: random_strong_password
MARIADB_ROOT_PASSWORD: another_strong_root_password
volumes:
- ./db:/var/lib/mysql4. Generate APP_KEY và start container
# Tạo APP_KEY ngẫu nhiên
docker run --rm linkace/linkace:simple php artisan key:generate --show
# Copy output dạng base64:xxxx... vào APP_KEY trong compose
docker compose pull
docker compose up -d
docker compose logs -f app | head -50Khi log báo "Application started", LinkAce sẵn sàng ở port 8082. Test local trước:
curl -I http://127.0.0.1:8082
# HTTP/1.1 200 OK5. Cài Caddy reverse proxy + SSL tự động
sudo apt install -y caddy
sudo nano /etc/caddy/Caddyfilelinks.yourdomain.com {
reverse_proxy 127.0.0.1:8082
encode gzip
# Tăng upload size cho import
request_body {
max_size 100MB
}
}
sudo systemctl reload caddyTrỏ DNS A record links.yourdomain.com -> IP VPS. Caddy auto cấp Let Encrypt SSL trong 30 giây. Truy cập https://links.yourdomain.com - LinkAce setup wizard hiện ra.
6. Setup wizard - tạo admin user
LinkAce wizard hỏi 3 bước:
- Database test - tự pass nếu compose đúng.
- App settings - tên app, timezone (Asia/Ho_Chi_Minh).
- Admin user - email, password, name.
Sau khi xong, login bằng admin email. Dashboard hiện 0 link, sẵn sàng thêm bookmark đầu tiên.
7. Import bookmark từ Pocket/Raindrop/HTML
LinkAce hỗ trợ import từ nhiều nguồn. Export bookmark từ Pocket:
- Pocket: vào getpocket.com/export, download HTML file.
- Raindrop: settings -> Backups -> export HTML/CSV.
- Browser bookmark: Chrome -> bookmarks -> export HTML.
# Trong LinkAce UI:
# Settings -> Import & Export -> Import Links
# Upload file HTML, chọn format
# Click Start Import - chờ 30s-5 phút tùy số lượng
# Hoặc CLI import nhanh hơn cho file lớn:
docker compose exec app php artisan links:import-html /app/storage/import.html8. Cài browser extension
LinkAce có extension Chrome, Firefox, Safari. Cài từ store:
- Chrome Web Store: search "LinkAce".
- Firefox: addons.mozilla.org/firefox/addon/linkace/.
- Safari: macOS App Store.
Sau khi cài, mở extension settings:
Instance URL: https://links.yourdomain.com
API Token: tạo trong LinkAce -> Profile -> API TokensTest: vào 1 trang web bất kỳ, click icon LinkAce -> Save Link. Trang sẽ được archive với title, description, tag tự động extract.
9. Auto archive với Wayback Machine
LinkAce có thể tự động submit link lên Wayback Machine để archive copy backup. Cấu hình:
- Settings -> Backups -> Enable Wayback Archive.
- Mỗi link được save sẽ trigger Wayback API.
- Link broken sau này vẫn xem được bản gốc tại web.archive.org.
10. Link checker - tìm bookmark broken
LinkAce check link broken định kỳ. Setup cron trong container:
# Thêm vào docker-compose.yml
services:
cron:
image: linkace/linkace:simple
container_name: linkace-cron
restart: unless-stopped
command: /bin/sh -c "while :; do php /app/artisan schedule:run; sleep 60; done"
environment:
<<: *common-env # giống env app
depends_on:
- db
docker compose up -d cronLinkAce sẽ check link 1 lần/ngày, mark broken nếu HTTP 404/500/timeout. Dashboard hiện badge red bên cạnh link broken.
11. Backup định kỳ ra S3
# Cron daily backup MySQL + storage
cat > /usr/local/bin/linkace-backup.sh <<'SH'
#!/bin/bash
set -e
cd /opt/linkace
TS=$(date +%Y%m%d-%H%M)
# Dump MySQL
docker compose exec -T db mariadb-dump -u root -p$ROOT_PWD linkace | gzip > /tmp/linkace-$TS.sql.gz
# Tar storage
tar -czf /tmp/linkace-storage-$TS.tar.gz backups logs
# Upload S3 (rclone đã config)
rclone copy /tmp/linkace-$TS.sql.gz r2:my-bucket/linkace/
rclone copy /tmp/linkace-storage-$TS.tar.gz r2:my-bucket/linkace/
# Cleanup
rm /tmp/linkace-$TS.*
SH
chmod +x /usr/local/bin/linkace-backup.sh
# Crontab
echo '0 2 * * * /usr/local/bin/linkace-backup.sh' >> /etc/crontab12. Tips và tricks dùng LinkAce
- Tag hierarchy: dùng dấu / như tech/ai/llm, lists tự sort theo tree.
- Markdown notes: mỗi link có thể đính kèm note markdown dài, render trên detail page.
- Public list: share 1 list public với URL riêng, không cần login.
- RSS feed: mỗi list/tag có RSS, subscribe trong Feedly để theo dõi.
- API REST: tích hợp với n8n, Zapier qua API token, automation flow.
- Dark mode: Profile -> Theme -> Dark, đẹp mắt cho dev đêm hôm.
Self-host bookmark manager riêng - data của bạn, mãi mãi
Cloud VPS TND sẵn AlmaLinux 9, Ubuntu 22/24, Debian 12/13. SSD CEPH, snapshot 1-click, backup hằng ngày, network 200Mbps trong nước. VPS 2GB chỉ 199k/tháng đủ chạy LinkAce + browser extension + 50000 bookmark.
Xem 8 cấu hình Cloud VPS →FAQ
LinkAce có miễn phí hoàn toàn không?
Có. LinkAce open source MIT license, không có gate paywall, không có tier paid. Mọi feature đều free khi self-host. Chỉ tốn chi phí VPS chạy.
VPS RAM tối thiểu bao nhiêu để chạy LinkAce?
Khoảng 1GB RAM là đủ cho cá nhân với 10000 bookmark. VPS 2GB chạy thoải mái cho team 5-10 user và 50000+ bookmark. MariaDB ăn nhiều RAM nhất (~400MB).
Có app mobile cho LinkAce không?
Không có native app, nhưng PWA mobile responsive tốt. Add to Home Screen từ Safari/Chrome để dùng như app, có offline cache cho list mới xem.
Import 10000 link từ Pocket mất bao lâu?
Khoảng 5-15 phút tùy network. LinkAce fetch metadata (title, favicon, OG image) từng link nên hơi chậm. Disable fetch trong settings để import nhanh hơn 5x.
Có thể share bookmark với team không?
Có. LinkAce hỗ trợ multi-user. Admin tạo user trong settings. Mỗi user có bookmark riêng, list public/private/shared. Permission control theo list level.
LinkAce có search semantic AI không?
Phiên bản hiện tại có full-text search MySQL, chưa có semantic AI. Có thể tích hợp Meilisearch hoặc Elasticsearch qua plugin. Roadmap có AI search trong v2.
- n8n + Claude API trên VPS: build AI automation toàn team startup
- Loki + Grafana + Promtail trên VPS: log aggregation cho startup
- SQLite + Litestream backup VPS: stack đơn giản nhất cho dev solo
- Caddy server vs Nginx cho dev solo: cái nào dễ setup hơn?
- Stream Netflix US từ Việt Nam 2026: VPN nào hoạt động?
- Self-host Plane.so trên VPS: Jira alternative cho startup



