This guide walks you through installing Artemis from source on a fresh Ubuntu 14.04 (Trusty Tahr) system. The install script handles dependencies, database setup, service configuration, and initial build. By the end you will have a working Artemis instance accessible atDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/artemis-development-group/artemis/llms.txt
Use this file to discover all available pages before exploring further.
artemis.local.
Confirm system requirements
Artemis requires Ubuntu 14.04 Trusty Tahr on amd64. The install script enforces both the OS version and architecture and will exit with an error on anything else.Running a Docker image of Trusty Tahr on a modern host is the recommended approach:Your system also needs at least 2 GB of RAM. The installer will warn you and prompt for confirmation if it detects less.
Download the source
Create the source directory and place the Artemis repository inside it. The installer expects the source tree at The directory layout the installer expects:
/home/src by default.Run the install script
Run You can also override the domain or plugin list at this point (see Configuration for all variables):The script will:
install-artemis.sh as superuser. Pass the name of the non-root user that will own and run the Artemis process via the ARTEMIS_USER variable.- Install apt dependencies, Cassandra, ZooKeeper, RabbitMQ, PostgreSQL, and memcached
- Clone the
artemis,i18n,websockets, andactivityrepos into/home/src - Build the r2 Python package and compile static assets
- Generate
development.iniand create arun.inisymlink pointing to it - Configure nginx, HAProxy, and gunicorn
- Create helper scripts (
artemis-start,artemis-stop,artemis-restart, etc.) in/usr/local/bin - Start all services
The script clones additional service repositories from GitHub during installation. Ensure the machine has outbound internet access on port 443.
Set the run.ini target (development vs. production)
After installation, For development (debug mode on, ads and rate limiting off):For production:
run.ini is a symlink that determines which configuration file the app reads. By default it points to development.ini.To verify or change it:Add artemis.local to your hosts file
Artemis expects requests on a domain that contains a If you changed
. — browsers will not set cookies for dotless hostnames. By default the domain is artemis.local.On the machine you’ll use to access the forum (your host machine if using Docker), add a hosts entry:ARTEMIS_DOMAIN during install, use that domain instead.Rebuilding after code changes
Static files in/r2/r2/public/static/ are served directly and take effect immediately. Changes to any other Python source files require a rebuild:
artemis-restart emits the artemis-restart Upstart event, which causes all managed services (the r2 app, websockets service, and activity service) to restart in order.
Helper commands
The install script creates these commands in/usr/local/bin:
| Command | What it does |
|---|---|
artemis-start | Emits the artemis-start Upstart event to start all services |
artemis-stop | Emits the artemis-stop Upstart event to stop all services |
artemis-restart | Restarts all services (or a specific target with artemis-restart websockets) |
artemis-run -c '...' | Runs a Python expression inside the Artemis app context |
artemis-shell | Opens an interactive Python shell inside the Artemis app context |
artemis-serve | Starts the Paste server with --reload for development |
artemis-flush | Flushes the memcached cache |