Profullstack dev box — staff links and user pages.
Our comms network runs over SSH. First time, connect as
join — your SSH key becomes your account and you get a
username, a Linux pod and a homepage. After that, sign in as your BBS name.
ssh join@bbs.profullstack.com # first time: registers your key ssh <your-bbs-name>@bbs.profullstack.com # sign in -- arcade, chat, news, mail, pod ssh bbs@bbs.profullstack.com # look around as a guest
Once signed in the hub reaches everything without separate logins. Handy direct entrances:
ssh mail@bbs.profullstack.com # your BBS mailbox ssh irc@bbs.profullstack.com # members' IRC from your terminal ssh -t news@bbs.profullstack.com # Usenet-style newsreader ssh pod@bbs.profullstack.com # your Linux pod
Already installed for every account on this box — it is the
wrapper that installs and drives the coding agents, so you do not set them
up yourself. Run moshcode with no arguments for the TUI.
moshcode # TUI shell, then /agents <engine> moshcode engines # what is installed: claude, codex, gemini, opencode, aider moshcode install claude # add an engine moshcode claude # launch one directly moshcode agents claude # autonomous mode -- auto-approves, use in trusted dirs only
It also fronts the workflow CLIs. Each keeps its own auth, so signing in to one signs you in to nothing else:
moshcode tools # gh, supabase, railway, doppler, doctl, ugig, coinpay, … moshcode gh pr list # passthrough -- same as running gh yourself moshcode upgrade # update moshcode and everything it installed
Two separate logins, and this trips everyone up.
Both need --device here: there is no browser on this box, so the
loopback flow has nothing to open. You approve the code from your laptop.
moshcode login --device # app.moshcode.sh -- lets notify()/ask() reach you moshcode whoami moshcode secrets login --device # LogicSRC -- team vaults. NOT the same account. moshcode secrets whoami
Team secrets, once secrets login has been done —
<team> and <vault> are your own names, run
teams list and teams vaults to see them:
moshcode secrets teams list moshcode secrets teams vaults <team> moshcode secrets teams pull <team> <vault> # decrypt into a local .env moshcode secrets teams push <team> <vault> # encrypt a local .env back up
Anything in ~/apps/<name> is published at
https://<name>.<you>.dev.profullstack.com with TLS. New apps go
live within a minute — no root, no restart, no ticket.
# a static site mkdir -p ~/apps/blog/public && echo hi > ~/apps/blog/public/index.html # a running app: declare the port, then listen on it mkdir -p ~/apps/api && echo 3000 > ~/apps/api/.port node server.js # bind 127.0.0.1:3000, not 0.0.0.0
Websockets and HMR are proxied through, so vite/next dev servers
work as-is. Bind to 127.0.0.1 — the firewall blocks the port
directly and nginx is what terminates TLS for you.
Straight away, no setup:
ssh <your-username>@dev.profullstack.com mosh <your-username>@dev.profullstack.com # survives a dropped connection
Or add this to ~/.ssh/config on your laptop and it becomes
just ssh dev:
Host dev
HostName dev.profullstack.com
User <your-username>
Port 22
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
Send your public key (~/.ssh/id_ed25519.pub) to get added.
Tailscale is optional and changes nothing today — the ssh above
already works from anywhere. It only starts to matter if public ssh is ever
closed. You cannot add your laptop from a shell on this box.
Enrolling a device is something that device does, so it happens on the laptop
or the phone; nothing you type here reaches it. Do not reach for
sudo either — tailscale up run here
re-authenticates this box, not your laptop, and takes it out from
under everyone else logged in. Ask for a share link instead:
# on your laptop or phone -- not here # 1. install tailscale, sign in, make your own (free) tailnet. # that is where your devices get added: to yours, not ours. # 2. open the share link you were sent and accept it. this box # then shows up in your tailnet, and nothing else of ours does. ssh <your-username>@dev.<tailnet>.ts.net # exact name is in the share link