Discourse week one is not “install a style and twenty plugins.” It is: stand up the official Docker install (or skip the server and use official hosted), survive the wizard, create a short category list, decide how tags work, leave trust levels on until you understand them, write a welcome that tells people how to become TL1, and make a deliberate choice about email. If you do those jobs, you have a community. If you spend the week rebuilding a phpBB tree and turning off every new-user limit, you have a spam magnet with a modern CSS file.
This is a first-week admin guide, not a member-facing tour and not a XenForo comparison. The category essay is why you picked Discourse. The matrix is how it differs from XenForo. The pros and cons piece is who should stay on which. Here you already chose Discourse and you need the next seven days. Official sources: the production install guide (discourse/docs/INSTALL-cloud.md, linked from Meta’s “Install Discourse in production with the official supported instructions”), Meta’s new-user guide for vocabulary, and Meta’s 2026 trust-level reference. If a control is not on those pages, this article does not invent it.
Day 0: what you are installing
Discourse is a Rails application that official production treats as a Docker stack: the app, PostgreSQL, Redis, and background jobs live in the container model the installer builds. The supported path is not “upload PHP files to cPanel.” It is a 64-bit Linux server you can SSH into as root (Ubuntu LTS is the documented preference) or an official hosted plan that skips this entire section.
Hosted versus self-hosted
If you have never administered a Linux box, start hosted. The first week should be categories and welcome topics, not lsof -i :80. You can export and leave later; official materials emphasize that you can export your data. If you already live in SSH and you want the software cost to be a VPS, continue with Docker.
Official self-host expectations
The cloud install guide’s published requirements:
| Minimum | Recommended | |
|---|---|---|
| RAM | 1 GB with swap | 2 GB+ |
| CPU | 1 core | 2+ cores |
| Disk | 10 GB | 20 GB+ |
| OS | 64-bit Linux | Ubuntu LTS |
The installer tunes UNICORN_WORKERS and db_shared_buffers from the machine you actually have. It will offer to create swap on small boxes. Believe it. A 1 GB droplet without swap is how beginners spend day one on OOM kills instead of categories.
Other documented expectations:
- Ports 80 and 443 free on the host. If nginx or Apache is already bound there, the installer cannot own TLS the way the guide describes. Stop and disable the conflicting service, or do not use this install path.
- A hostname. Either your own domain (DNS A record to the server IP; wait for propagation) or a free
*.discourse.diysubdomain claimed through Discourse ID (the installer verifies a short-lived code). Production communities should use their own domain. - Root SSH. The documented quick start is a single command on a fresh Ubuntu/Debian server:
wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash
That script installs Docker and git if needed, drops the Discourse Docker configuration in place, and launches the interactive wizard. Meta’s production topic exists to point at this GitHub guide. Unofficial images (Bitnami and friends) are a frequent support dead-end. Do not start there.
Build time after you confirm settings is about 5–10 minutes. Let’s Encrypt certificates are provisioned automatically on the official path — the guide does not ask you to paste a CSR.
If you already know you will want traditional email (digests, mailing-list mode, reply-by-email), have SMTP credentials ready. If you do not, the current installer lets you skip SMTP and enable login via Discourse ID (email through id.discourse.com, plus Google, Facebook, Apple, GitHub). That is an official, documented option in 2026. It is how you get a working admin session on day one without fighting Gmail. You can add SMTP later via Admin → Email or by re-running setup; the guide says so.
Day 0 continued: wizard answers that matter
The installer asks for:
- Admin email(s) — addresses that will receive admin on first register. Use a mailbox you can open now. If you skip SMTP, you will still register through Discourse ID; use one of these addresses so the site grants admin.
- Domain — your hostname or the free subdomain plus verification code (codes expire in 10 minutes; generate a fresh one if you stall).
- SMTP — configure, or skip for Discourse ID.
After the container is up, visit https://your-hostname, sign up / log in, and complete the in-app setup wizard that appears after the admin account exists. That wizard is where you set the public name, logo, and the first-pass look. Changing the default language in the wizard is documented on Meta as the thing that translates seeded categories and topics. Do that before you rewrite all the seed content in the wrong language.
Post-install hygiene the cloud guide actually names:
- Enable unattended upgrades on Ubuntu/Debian (
dpkg-reconfigure -plow unattended-upgrades). - Consider
fail2ban. - Upgrades later: web UI at
/admin/upgrade, orcd /var/discourse && ./launcher rebuild app.
You do not need MaxMind, a CDN, or plugins on day zero. The guide lists those as optional. Week one is not optional-features week.
If something fails, use the documented tools: ./launcher logs app, ./launcher enter app, and the Rails production log under /var/discourse/shared/standalone/log/rails/. Do not start editing app.yml until the stock install answers.
Day 1: learn the nouns before you click Admin
Meta’s “Understanding Discourse for new users” is the vocabulary you should use with staff. Repeat it until nobody says “subforum.”
- Topic — a titled conversation in a category; what other software calls a thread. Starts with an Original Post (OP).
- Post — one message inside a topic. Can be moved or split.
- Category — the primary container. One per topic. Own permissions and notification defaults. “Similar to forums on other sites.”
- Tag — extra markers. A topic can have several. You can let users create them or not.
- User — participation requires an account. The site may be public to read; posting is a user action.
Default homepage: Latest. Filters: category, tag, Top, New (topics from the last two days you have not opened), Unread (you opened it, new replies exist). Notifications live on the user menu; personal messages use a different indicator than ordinary pings. Category and tag notification levels are first-class (mute / normal / tracking / watching — use the labels your site actually shows; do not invent extra ones).
Spend an hour as a TL0-shaped user in a private window before you grant yourself a sense of mastery. The admin view is not the new-member view. Trust levels exist so those views differ.
Day 1–2: categories (fewer than you think)
Seeded categories arrive from the wizard. You will want to rename, delete, or replace them. Resist creating a tree that looks like the old board index.
A first-week category set for most communities:
| Category | Who posts | Why it exists |
|---|---|---|
| Announcements | staff only | One-way. Members watch it. |
| General (or the real name of the hobby) | everyone who can create topics | The default “I don’t know where” |
| Support (if you do support) | everyone | Questions. Tags for product/version. |
| Meta or Site feedback | everyone | Talk about the site, not the subject |
| Staff | staff group | Private. Create this before you need it. |
That is enough. Five categories plus a private staff room will carry a new site for months. If you came from phpBB with forty forums, write the forty down on paper and mark each one category, tag, or do not migrate. Most become tags.
Category work to do in the admin UI this week (use the controls you see; Discourse’s admin category page is the source of truth):
- Name and slug you can live with in URLs.
- Description — this is a topic on Discourse, not a one-line phpBB forum desc. Write two sentences a new user can act on.
- Security / permissions — who can see, create, reply. Staff category: staff only. Announcements: staff create, everyone reply or nobody reply — pick one and stick to it.
- Default notification for new users, if you want Announcements watched.
- Tag requirements — if this category should always have a version or region tag, set a minimum number of tags and restrict allowed tag groups. Meta’s long-running advice for migrants is exactly this: required tags instead of child boards.
Do not create a subcategory for every mood. Subcategories exist; they are not a license to rebuild a 12-level tree. If you need a second level, you should be able to say why a tag would fail.
If the site is public, make sure a guest can read the categories you intend to rank in search. If the site is private, decide that on day one so you do not spend Thursday debugging why Google sees an empty login page.
Day 2: tags (the rest of the map)
Tags are how Discourse stays flat. Week-one tag design:
- List the cross-cutting ideas: product version, region, status (
solvedif you will actually use it), platform (ios,android). Those are tag groups, not categories. - Create tag groups in admin so you can restrict which tags appear in which category. A Support category that only accepts version tags is usable. A global soup of 200 user-created tags is not.
- Decide whether ordinary users can create tags. For a beginner site, start no. You can loosen later. You cannot easily unteach a folksonomy.
- If a category needs a tag, set minimum tags = 1 on that category and only allow the right group. This is the documented pattern for replacing child boards.
Do not build a tag for every old forum name. Tags should answer “what is this about besides the category,” not “what was the phpBB forum id.”
Day 2–3: trust levels (leave the machine on)
Read Meta’s Discourse Trust Levels: A Detailed Explanation (February 2026) once as staff. Then leave the defaults alone for a week unless you have a private, invite-only room with a reason.
The ladder you must be able to explain
| Level | Name | How it is earned (defaults) |
|---|---|---|
| TL0 | New | Everyone new (except invited users, who default to TL1) |
| TL1 | Basic | Automatic reading: 5 topics entered, 30 posts read, 10 minutes reading. All-time. Permanent. |
| TL2 | Member | Automatic participation: 20 topics, 100 posts read, 60 minutes, 15 days visited, 1 like given, 1 like received, replies in 3 different topics. Permanent. |
| TL3 | Regular | Automatic on a 100-day rolling window (percent of topics/posts, visit rate with actual reading, likes given/received with unique-user and unique-day rules, flag and suspension gates, plus all-time floors). Can be lost. Daily job. 14-day grace after first promotion. |
| TL4 | Leader | Staff promote only. Not an activity grind. |
Requirements at each level are AND. Personal messages do not count toward posts read, likes, or topics-replied-to. Replies to your own topic do not count as “topics replied to.” Multiple replies in one topic count as one topic.
TL3 default numbers are documented as in flux (see Meta’s “Default changes for trust level 3 requirements”). Do not tattoo last quarter’s percentages on the about page without checking the current topic. The shape is stable: rolling window, can demote, daily check, ~90% low-water mark.
Admins can set a user’s level by hand and lock it. Groups can grant a minimum trust level. That is why a user sometimes looks “too trusted” for their stats.
What you do in week one
- Explain TL0 → TL1 in the welcome topic: enter five topics, read, hang around for ten minutes. You do not need to post to leave the sandbox.
- Do not turn every new-user limit to zero because a friend complained. Those limits exist so TL0 cannot spray links and images. If a limit is in the way, change that site setting after you have read Trust Level Permissions Reference on Meta. This guide will not invent setting names you did not look up.
- Do not hand out TL4 as a thank-you. TL4 is a junior-moderation grant. Meta: staff promote people they trust to help moderate.
- Do not lock everyone to TL2 “to keep it simple.” You just disabled the product.
- On a tiny private site, TL3 may never happen (not enough topics in the window). That is fine. Promote individuals if you need regular-level tools, or wait.
If someone is stuck at TL0, look at reading, not post count. Invited users should already be TL1; if your invites are not producing that, check whether they actually used an invite.
Day 3: welcome, first topics, and notifications
A new Discourse without seed conversations feels broken. Latest with three staff test posts is how people decide the community is dead. Week one content, in this order:
- Guidelines / FAQ topic in Announcements or a dedicated docs-ish category. Short. What we talk about, what we do not, how to get TL1, how to flag. You can adapt Meta’s new-user guide (they explicitly allow copying with attribution and local screenshots).
- Introduce yourself topic in General. Staff go first. Reply to every introduction this week.
- One real subject topic that is not meta. If the site is about kilns, post a kiln question. Empty product categories train people to post in the wrong place.
- Pin the guidelines and the introduce thread using the pin control on the topic (pin to category or globally as your UI offers). Do not pin six things.
- Watch Announcements as a staff user so you see what members see.
Notification defaults: new users who get mailed for every single post will mute the site or bounce. Prefer watching Announcements and tracking the one category that is the product. Members can change per-category and per-tag bells themselves — Meta’s user guide shows those controls. Your job is a sane default, not a forced firehose.
If you skipped SMTP, say so in the guidelines: “Login is via Discourse ID / social; we will add email digests when mail is configured.” Do not promise mailing-list mode you cannot deliver.
Day 3–4: email, or an honest substitute
Email is how traditional forums confirm accounts and drag people back. Discourse can do that, and it can also start without it.
If you configured SMTP during install: send a test from Admin → Email. Watch the skipped/error logs. Official troubleshooting lives on Meta (“Troubleshooting email on a new Discourse install”). Fix this before you invite the public. Digests and reply-by-email are optional features listed in the install guide; they are not week-one requirements. Getting transactional mail out is.
If you skipped SMTP: Discourse ID login is the documented path. Users sign in with social or with email via id.discourse.com. Web push still exists for browsers and PWA. You do not have traditional confirmation mails, digests, or reply-by-email until you add SMTP later. That is acceptable for a pilot. It is a poor fit for a community that lives in inbox-driven support. Put SMTP on the week-two list if that is you.
Recommended provider lists exist in INSTALL-email.md in the Discourse repo. This article will not pretend your host’s PHP mail is a Discourse transport.
Day 4: groups and staff, not a second usergroup museum
Create:
- A staff group if the install did not already make the shape you need, and point the Staff category at it.
- A moderators practice: who gets the official moderator grant, who is “just TL4,” who is only a category expert.
Do not create Veteran, VIP, Xbox EU, and Donator on day four. Trust levels are the default ladder. Extra groups are for access (private category) and @mentions (team). If you need a paid group later, add it when money exists.
Invite your two most patient veterans as moderators after they have used the site as members for a day. A moderator who has never composed a topic on Discourse will recreate phpBB habits in the flag queue.
Day 5: SSO — mention only, do not invent a week-one project
Official Discourse supports DiscourseConnect (the current name for official SSO) and a list of social login how-tos (Google, GitHub, Facebook, Twitter/X) linked from the install guide. There is also Discourse ID, which you may already be using.
Week one rule: if you do not already have a live identity provider you must attach, do not start SSO. Misconfigured SSO is how you lock everyone out of a forum that has no posts yet. Social logins from the documented Meta topics are enough. If a parent site must own login, stop and follow the official DiscourseConnect topic on Meta end-to-end — this beginner guide will not paraphrase a protocol from memory.
Same rule for plugins. The install guide’s “Install a plugin” topic is real. You do not need it before you have a welcome thread.
Day 4–5: site settings you may actually touch
Discourse’s admin Settings search box is the safe way to find a control. Type a plain-language word, read the setting description, change one thing, watch Latest. Do not browse the entire list inventing a personality for the site.
Settings families that are legitimate in week one because official docs talk about them:
- Trust level requirements — only if your site is invite-only and the defaults make TL1 impossible (too few topics exist to “enter five”). On a public site, leave them. Meta documents the defaults; TL3 numbers may change — check the current reference rather than copying a blog from 2018.
- Required tag / tag-group restrictions on a category — already covered. This is IA, not decoration.
- Email — test in Admin → Email if SMTP exists. If it does not, stop touching mail settings.
- Login — social logins from the official Meta how-tos, or Discourse ID if you skipped SMTP. Not a custom OAuth adventure.
- Backup frequency — next section.
If you cannot find a setting by searching the admin UI, it may not exist. “I saw it on a YouTube video” is not a source. Meta’s Trust Level Permissions Reference is the document for “what can TL0 do.” This beginner guide will not retype that table; it changes. Open it when a friend complains they cannot post a second image.
Day 5–6: backups and a boring upgrade drill
Official optional-features list includes automatic backups. Turn them on before you invite strangers. Download one backup to somewhere that is not the VPS. If you are hosted, read what the plan actually retains; do not assume.
If you are self-hosted, walk the upgrade UI on /admin/upgrade once in this week or read the rebuild command so you are not seeing it for the first time during a security release. Rebuilds take the site down for a few minutes; Meta documents an offline-page component if you care. For a week-one site, a short window is fine.
Also enable the security updates on the host OS. The install guide asked. Do it.
Day 7: invite ten humans, not a thousand
Onboarding a Discourse site is the same human problem as any other community — see the 30-day onboarding plan for the culture side. Week one on the software ends when:
- Ten real people can register (or Discourse ID in) without you SSHing.
- Each of them can find the guidelines and the introduce thread.
- At least one of them has reached TL1 by reading, so you know the ladder works.
- Staff know how to flag, move a post, and close a topic.
- You know whether mail is real or deferred.
Do not run an importer this week. Importers (Meta: “How to migrate from one platform forum to Discourse”) are a project with redirects and a category redesign. They will bury Latest under 50,000 silent topics and convince the ten humans that nobody is home. Import in week four, onto a staging copy, after the live room has a pulse.
First-week checklist
Install and access
- Hosted plan, or official Docker install on Ubuntu with 2 GB+ RAM (swap on 1 GB)
- Hostname points at the box; HTTPS came up
- You registered with a listed admin email and finished the in-app wizard
- Language chosen before you rewrote seed topics
- Unattended upgrades (self-host) considered
Information architecture
- ≤ 6 public categories, plus a private staff category
- Each category has a two-sentence description topic
- Tag groups for the cross-cutting axes; user-created tags off unless you have a reason
- Required tags only where they replace a child board
Trust and people
- You can explain TL0–TL4 in one paragraph, including “TL4 is staff-only”
- Welcome topic tells people how to reach TL1 by reading
- No blanket disable of new-user limits
- Moderators named; TL4 not used as a souvenir
Welcome and mail
- Guidelines, introduce yourself, one real topic, two pins
- SMTP tested, or Discourse ID documented as the login path
- Backups on; one copy off-box
Explicitly not this week
- No 40-category tree
- No SSO project unless identity already exists
- No plugin shopping spree
- No production import of the old forum
What not to do (beginner edition)
- Do not install Bitnami or a Plesk “Discourse” button and then ask Meta why it is unsupported.
- Do not share the VPS with a WordPress that already owns 80/443 unless you know reverse proxies. The official guide assumes Discourse owns those ports.
- Do not set “new user default trust level” to TL2 on a public signup site. Meta staff have warned that this is how spammers skip the sandbox.
- Do not invent XenForo-style widgets. If you need a layout change, look at theme components on Meta, or live with Latest for a month.
- Do not promise members a last-post board index. You picked a different category of software.
When official docs omit a button, skip the button. Search Meta. Do not copy a 2016 screenshot of a setting that no longer exists.
Takeaways
- Official production Discourse is Docker on Linux (2 GB+ RAM recommended) or official hosted. That is the beginner install. Everything else is a support problem.
- Week one is a short category list, tag groups, trust levels left on, a welcome that explains TL1, and an honest email story.
- TL0–TL3 are automatic (TL3 is a 100-day rolling window and can be lost). TL4 is staff-only. Invited users default to TL1. PMs do not count.
- Categories are rooms. Tags are the rest of the old tree. User-created tags can wait.
- SMTP can wait if you accept Discourse ID; it cannot wait if you promised inbox-driven community.
- SSO and importers are not beginner-week tasks. Official docs exist when you are ready.
- Invite ten people only after you have used the site as a new user yourself.
If Latest has a guideline, an introduction thread with replies, and one real conversation, you are done with the software week. The next three weeks are the same work every platform needs: talk to the people who showed up.

