[{"data":1,"prerenderedAt":141},["ShallowReactive",2],{"seo-verification":3,"blog-how-to-self-host-trek-on-a-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-how-to-self-host-trek-on-a-vps-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":78,"ctaBody":79,"ctaButton":80,"ctaUrl":81,"relatedPosts":82},488,"how-to-self-host-trek-on-a-vps",{"fr":12,"en":10,"ar":13,"es":14},"heberger-trek-vps","كيفية-استضافة-trek-على-خادم-vps","como-autoalojar-trek-en-un-vps","How to Self-Host TREK on a VPS","Deploy TREK on a VPS: open-source self-hosted project manager with Kanban boards, milestones and team management, no SaaS subscription required.",4,0,false,"2026-10-21T00:00:00+00:00","2026-10-21T15:21:33+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-trek-vps-poster.svg",{"categorySlug":34,"appSlug":35},"collaboration-productivity","trek","TREK is an open-source project management platform (AGPL-3.0) that gives you full control over your project data. Kanban boards, issue tracking, milestones, team invitations — all running in a single Docker container with an embedded SQLite database, no PostgreSQL or cloud service required. It's the self-hosted alternative to Linear or Plane that you deploy in five minutes on a 1 GB RAM VPS.",[38,42,53,56,72,75],{"type":39,"title":40,"body":41},"h2","Why self-host a project manager","Linear, Asana, Monday.com — SaaS project management tools charge per seat and raise prices regularly. TREK flips the model: you host the app on your own VPS, your data never leaves your infrastructure, and the monthly cost is the VPS, not the seats.\n\nWith 14 k+ GitHub stars and an AGPL-3.0 licence, TREK is an active community project. Version 4.3.3 is stable, Docker-native, and requires no external database: SQLite is embedded in the image.",{"type":43,"title":44,"items":45},"ul","What you get with self-hosted TREK",[46,47,48,49,50,51,52],"**Unlimited Kanban boards** — create as many projects and columns as needed, no seat limit.","**Milestones and sprints** — plan by cycle, visualise progress in the team dashboard.","**Team management** — invite members by email, assign roles (Admin, Member, Viewer) per project.","**REST API** — integrate CI\u002FCD pipelines to create issues or update statuses automatically.","**OIDC \u002F SSO** — connect Authentik, Pocket ID or Keycloak for centralised login.","**File attachments** — upload files and screenshots directly onto issues.","**Embedded SQLite** — no external database, back up everything with one command.",{"type":39,"title":54,"body":55},"Prerequisites","You need a Ubuntu 24.04 VPS with at least **1 GB RAM** and **1 GB disk space** (more depending on your attachments). Docker and the Compose plugin must be installed:\n```bash\ncurl -fsSL https:\u002F\u002Fget.docker.com | sh\n```\nNo domain name is required for the initial installation — TREK is accessible via an SSH tunnel.",{"type":57,"title":58,"steps":59},"steps","Installing TREK",[60,63,66,69],{"title":61,"body":62},"Create the directory and Compose file","On the server, create a dedicated directory:\n```bash\nmkdir -p \u002Fopt\u002Ftrek && cd \u002Fopt\u002Ftrek\n```\n\nCreate `\u002Fopt\u002Ftrek\u002Fdocker-compose.yml`:\n```yaml\nservices:\n  trek:\n    image: mauriceboe\u002Ftrek:4.3.3\n    restart: unless-stopped\n    ports:\n      - \"127.0.0.1:3000:3000\"\n    environment:\n      NODE_ENV: production\n      ENCRYPTION_KEY: \"replace-with-a-random-32-char-string\"\n      ADMIN_EMAIL: admin@trek.local\n      ADMIN_PASSWORD: \"StrongAdminPass42!\"\n      TRUST_PROXY: \"1\"\n    volumes:\n      - trek-data:\u002Fapp\u002Fdata\n      - trek-uploads:\u002Fapp\u002Fuploads\n\nvolumes:\n  trek-data: {}\n  trek-uploads: {}\n```\n\n⚠️ **In production**, replace `ENCRYPTION_KEY` with a random 32+ character string and choose a strong admin password.",{"title":64,"body":65},"Start TREK","Launch the container:\n```bash\ndocker compose up -d\n```\n\nTREK downloads the image (~462 MB), initialises SQLite and starts Node.js. Drizzle ORM migrations run on the first launch. Wait 30–45 seconds before accessing the interface.\n\nCheck startup:\n```bash\ndocker compose logs -f trek\n```\nLook for `Server listening on port 3000` — that's the signal TREK is ready.",{"title":67,"body":68},"Access the interface","Open an SSH tunnel from your local machine:\n```bash\nssh -L 3000:127.0.0.1:3000 root@\u003Cyour-vps-ip>\n```\n\nThen open `http:\u002F\u002Flocalhost:3000` in your browser. The TREK login page appears. Sign in with `admin@trek.local` and the password set in `ADMIN_PASSWORD`.",{"title":70,"body":71},"Create your first project","After logging in:\n1. Click **New Workspace** → give it a name.\n2. Click **New Project** → choose the **Kanban** template.\n3. Add your first issue to the **To Do** column.\n\nYou're ready to go. Invite collaborators from **Settings → Members**.",{"type":39,"title":73,"body":74},"Configure a domain and nginx","To access TREK from any device without an SSH tunnel, attach a domain and configure nginx as a reverse proxy. Here is an example nginx server block for HTTPS:\n```nginx\nserver {\n    listen 443 ssl;\n    server_name trek.your-domain.com;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:3000;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        # WebSocket\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n    }\n}\n```\n\nThen add `APP_URL: https:\u002F\u002Ftrek.your-domain.com` to the TREK service environment variables so that invitation links and OIDC notifications use the correct URL.",{"type":39,"title":76,"body":77},"Backup and maintenance","TREK stores data in two Docker volumes: `trek-data` (SQLite database) and `trek-uploads` (file attachments). Back up both:\n```bash\n# Database\ndocker run --rm -v trek_trek-data:\u002Fdata -v \u002Fbackup:\u002Fbackup alpine \\\n  tar czf \u002Fbackup\u002Ftrek-data-$(date +%Y%m%d).tar.gz -C \u002Fdata .\n\n# Uploads\ndocker run --rm -v trek_trek-uploads:\u002Fdata -v \u002Fbackup:\u002Fbackup alpine \\\n  tar czf \u002Fbackup\u002Ftrek-uploads-$(date +%Y%m%d).tar.gz -C \u002Fdata .\n```\n\nTo update TREK to a new version, update the image tag in `docker-compose.yml`, then:\n```bash\ndocker compose pull && docker compose up -d\n```\nSQLite migrations apply automatically on startup.","Deploy your project manager on a VPS","A ServOrbit VPS with Ubuntu 24.04 and 1 GB RAM is enough to run TREK in production. A single container, a dedicated IPv4, and your projects stay entirely under your control.","Deploy TREK on VPS","\u002Fmarketplace\u002Fcollaboration-productivity\u002Ftrek",[83,105,122],{"id":84,"slug":85,"slugs":86,"title":90,"excerpt":91,"readTime":92,"views":18,"isPinned":19,"publishedAt":93,"updatedAt":94,"category":95,"categories":100,"featuredImage":30,"bgImage":31,"posterImage":102,"relatedSolution":103},403,"asana-pricing-2026-migrate-to-plane-kaneo",{"fr":87,"en":85,"ar":88,"es":89},"asana-pricing-2026-migration-plane-kaneo","asana-pricing-2026-plane-kaneo","asana-precio-2026-migrar-plane-kaneo","Asana Pricing Hike 2026: Migrate to Plane or Kaneo on VPS","Asana raised prices 27 % in 2026 (Advanced $85\u002Fseat\u002Fmonth). Switch to Plane or Kaneo on a ServOrbit VPS: data control, no per-seat fees.",10,"2026-10-01T00:00:00+00:00","2026-10-21T15:21:30+00:00",{"id":96,"name":97,"slug":98,"color":99,"icon":98},5,"Comparison","comparatif","bg-info\u002F10 text-info",[101],{"id":96,"name":97,"slug":98,"color":99,"icon":98},"\u002Fblog\u002Fcovers\u002Fasana-pricing-2026-migration-plane-kaneo-poster.svg",{"categorySlug":34,"appSlug":104},"plane",{"id":106,"slug":107,"slugs":108,"title":112,"excerpt":113,"readTime":114,"views":115,"isPinned":19,"publishedAt":93,"updatedAt":116,"category":117,"categories":118,"featuredImage":30,"bgImage":31,"posterImage":120,"relatedSolution":121},401,"migrate-monday-com-plane-kaneo-vps-2026",{"fr":109,"en":107,"ar":110,"es":111},"migrer-monday-com-plane-kaneo-vps-2026","monday-com-plane-kaneo-vps-2026","migrar-monday-com-plane-kaneo-vps-2026","Migrating from monday.com to Plane or Kaneo on a VPS","monday.com now requires a 3-seat minimum at $60\u002Fmonth. Migrate to Plane or Kaneo on a ServOrbit VPS: full data ownership, predictable costs.",11,1,"2026-10-20T23:18:05+00:00",{"id":96,"name":97,"slug":98,"color":99,"icon":98},[119],{"id":96,"name":97,"slug":98,"color":99,"icon":98},"\u002Fblog\u002Fcovers\u002Fmigrer-monday-com-plane-kaneo-vps-2026-poster.svg",{"categorySlug":34,"appSlug":104},{"id":123,"slug":124,"slugs":125,"title":129,"excerpt":130,"readTime":131,"views":18,"isPinned":19,"publishedAt":132,"updatedAt":133,"category":134,"categories":135,"featuredImage":30,"bgImage":31,"posterImage":137,"relatedSolution":138},74,"host-gitea-on-your-own-vps",{"fr":126,"en":124,"ar":127,"es":128},"heberger-gitea","استضافة-gitea-على-خادم-vps-الخاص-بك","alojar-gitea-en-un-vps","Host Gitea on your own VPS in 2026","Deploy Gitea 1.25 on a VPS with Docker and SSL. Full guide: Gitea Actions CI\u002FCD, Gitea vs Forgejo v16 comparison, daily administration, SSH and HTTPS troubleshooting.",13,"2026-04-07T00:00:00+00:00","2026-10-21T15:21:37+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[136],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-gitea-poster.svg",{"categorySlug":139,"appSlug":140},"development","gitea",1792596536088]