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.
Method 1: LXC one-liner (recommended for Proxmox)
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 archigantt2. Create the environment file
cp .env.example .envOpen .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=productionGenerate a secure session secret:
openssl rand -base64 483. Build and start
docker compose up -d --buildThe 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-162. 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_URL4. Install, migrate, and build
npm install
npm run db:push
npm run build5. Start
npm startFor production use, run this with a process manager such as PM2:
npm install -g pm2
pm2 start "npm start" --name archigantt
pm2 save
pm2 startupUpdating an existing installation
The deploy.sh script updates a Docker-based installation:
bash deploy.shThis 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 --buildPorts and networking
| Service | Default 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