Installation

Install ArchiJAM on a Proxmox LXC, Docker host, or VPS.

Installation

ArchiJAM ships as a Docker Compose application with two containers: the Next.js app and a PostgreSQL 16 database. Three installation paths are supported.


The install.sh script handles everything on a fresh Ubuntu 24.04 LXC: installs Docker Engine, clones the repository, generates a .env with a random session secret, builds the image, and starts the containers.

Requirements

  • Proxmox LXC running Ubuntu 24.04
  • Root access
  • Outbound internet access (to pull the Docker image and clone the repo)

Run

bash <(curl -fsSL https://raw.githubusercontent.com/your-org/archigantt/main/install.sh)

The script will print the local URL when complete. Visit it in your browser to begin the setup wizard.

The Docker Compose file sets security_opt: [apparmor=unconfined] on both containers, which is required for Proxmox LXC compatibility.


Method 2: Manual Docker Compose

Use this on any Linux host with Docker Engine and Docker Compose already installed.

1. Clone the repository

git clone https://github.com/your-org/archigantt.git
cd archigantt

2. Create the environment file

cp .env.example .env

Open .env and set at minimum:

DATABASE_URL=postgresql://archigantt:archigantt@db:5432/archigantt
SESSION_SECRET=replace-with-a-long-random-string
NEXT_PUBLIC_APP_URL=http://your-server-ip-or-domain
NODE_ENV=production

Generate a secure session secret:

openssl rand -base64 48

3. Build and start

docker compose up -d --build

The app will be available on port 3000 by default. On first start the container runs drizzle-kit push to initialize the database schema, then starts the Next.js server.

4. Open the setup wizard

Navigate to http://your-server:3000. The setup wizard runs automatically on first boot.


Method 3: VPS (Ubuntu/Debian, no Docker)

This path requires Node.js 20+ and PostgreSQL 16 installed and running on the host.

1. Install dependencies

# Node.js 20
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs

# PostgreSQL 16
apt install -y postgresql-16

2. Create the database

sudo -u postgres psql -c "CREATE USER archigantt WITH PASSWORD 'archigantt';"
sudo -u postgres psql -c "CREATE DATABASE archigantt OWNER archigantt;"

3. Clone and configure

git clone https://github.com/your-org/archigantt.git /opt/archigantt
cd /opt/archigantt
cp .env.example .env
# Edit .env with your DATABASE_URL, SESSION_SECRET, and NEXT_PUBLIC_APP_URL

4. Install, migrate, and build

npm install
npm run db:push
npm run build

5. Start

npm start

For production use, run this with a process manager such as PM2:

npm install -g pm2
pm2 start "npm start" --name archigantt
pm2 save
pm2 startup

Updating an existing installation

The deploy.sh script updates a Docker-based installation:

bash deploy.sh

This runs git pull, rebuilds the Docker image, and restarts the containers. Database migrations are applied automatically on container start via drizzle-kit push.

For a manual Docker update:

git pull
docker compose down
docker compose up -d --build

Ports and networking

ServiceDefault port
App (Next.js)3000
Database (PostgreSQL)5432 (internal only)

The database port is not exposed outside the Docker network by default. To change the app port, update the ports mapping in docker-compose.yml.

For HTTPS, place a reverse proxy (nginx, Caddy, Traefik) in front of port 3000 and set NEXT_PUBLIC_APP_URL to the public HTTPS URL.


Data persistence

PostgreSQL data is stored in a named Docker volume (archigantt_db_data). File uploads are stored in ./data/uploads on the host, mounted into the container. Both survive container restarts and updates.

To back up the database:

docker exec archigantt-db pg_dump -U archigantt archigantt > backup.sql

On this page