Startups

From idea to company server in a weekend

A small VPS, Docker and a reverse proxy are enough to host every internal tool a two-person startup needs. Here is the weekend plan.

On this page

Most small companies start the same way: a chat app, a shared drive, a spreadsheet of customers, and a monthly bill for each. That works until you want your own AI assistant, your own automations, or simply one place where your tools live. This is the weekend plan we teach for getting there: one small server that you control.

Saturday morning: pick a server

You do not need much. A virtual private server (VPS) with 2 virtual CPUs, 4 GB of RAM and 80 GB of disk comfortably runs a team chat, a wiki, an automation tool and a few small services. Any provider with a data centre near your team will do.

Two decisions matter more than the provider:

  • Choose Ubuntu LTS, so every guide you find works without translation.
  • Buy a domain now. Tools look and feel like a real company at chat.yourcompany.com, and HTTPS needs a name anyway.

Saturday afternoon: lock it down

Before installing anything useful, make the server boring to attack. Log in with an SSH key, create a normal user, and turn off password logins.

Terminal
ssh root@your-server-ip
adduser deploy
usermod -aG sudo deploy
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable
Warning

Copy your SSH key to the new user and test logging in as that user in a second terminal before you disable root and password logins. Locking yourself out is the most common Saturday-afternoon mistake.

Sunday morning: Docker and a reverse proxy

Every tool will run as a Docker container. In front of them sits one reverse proxy that gives each tool its own subdomain and its own HTTPS certificate. Caddy does this with very little configuration, because it requests and renews certificates automatically.

Caddyfiletext
chat.yourcompany.com {
    reverse_proxy chat:8080
}

wiki.yourcompany.com {
    reverse_proxy wiki:3000
}

Each block says "requests for this name go to that container". Adding a tool later means adding one block and one container.

Sunday afternoon: the first real tool

Start with the tool your team will open every day. For most teams that is a private AI chat: a ChatGPT-style workspace on your own server, connected to a model you run or choose. Once people use the server daily, the next tools (a wiki, automations, a CRM) arrive naturally.

The server is not the product. It is the place where every small internal tool can live without another subscription.

What changes after the first weekend

What we would not do in the first weekend

  • Kubernetes. One server and Docker Compose carry a small team a long way.
  • Self-hosting email. Deliverability is a full-time job; use a provider.
  • Skipping backups. Turn on the provider's snapshots on day one and test a restore once.

The course takes the same server further: team chat in Hour 05 and automations in Hour 09.

Rahul Agarwal

Instructor, SkillByAI

Web developer for 15 years. Teaches developers and founders to build real products with open-source AI tools.

Get the next tutorial by email

One email when a new post lands, with the code ready to run. No spam.

By subscribing you agree to receive emails from SkillByAI. Unsubscribe anytime.