Docker image for the Anchor Systems website - a Next.js application showcasing custom AI & RAG solutions for modern businesses.
docker run -d \
--name anchorsystems \
-p 3000:3000 \
-e DATABASE_URL="Host=your-host;Port=5432;Database=your-db;Username=your-user;Password=your-password" \
euaell/anchorsystems:latest
Access the application at http://localhost:3000
This Docker image contains:
| Variable | Description | Example |
|---|---|---|
DATABASE_URL | PostgreSQL connection string | Host=localhost;Port=5432;Database=anchorsystems;Username=user;Password=pass |
| Variable | Description | Default |
|---|---|---|
NODE_ENV | Node environment | production |
PORT | Application port | 3000 |
HOSTNAME | Server hostname | 0.0.0.0 |
NEXT_TELEMETRY_DISABLED | Disable Next.js telemetry | Not set (telemetry enabled) |
The DATABASE_URL follows the Npgsql connection string format:
Host=hostname;Port=5432;Database=dbname;Username=user;Password=pass;Pooling=true;Minimum Pool Size=0;Maximum Pool Size=1024;Timeout=15;CommandTimeout=30;Ssl Mode=Prefer;Trust Server Certificate=true;
| Port | Description |
|---|---|
3000 | HTTP web server (Next.js) |
docker run -d \
--name anchorsystems \
-p 3000:3000 \
-e DATABASE_URL="Host=postgres;Port=5432;Database=anchorsystems;Username=myuser;Password=mypass" \
euaell/anchorsystems:latest
docker run -d \
--name anchorsystems \
-p 8080:3000 \
-e DATABASE_URL="Host=postgres;Port=5432;Database=anchorsystems;Username=myuser;Password=mypass" \
euaell/anchorsystems:latest
Access at http://localhost:8080
docker run -d \
--name anchorsystems \
-p 3000:3000 \
-e DATABASE_URL="Host=postgres;Port=5432;Database=anchorsystems;Username=myuser;Password=mypass" \
-e NEXT_TELEMETRY_DISABLED=1 \
euaell/anchorsystems:latest
Create a docker-compose.yml file:
version: '3.8'
services:
app:
image: euaell/anchorsystems:latest
container_name: anchorsystems
ports:
- "3000:3000"
environment:
- DATABASE_URL=Host=postgres;Port=5432;Database=anchorsystems;Username=myuser;Password=mypass;Pooling=true;Minimum Pool Size=0;Maximum Pool Size=1024;
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
postgres:
image: postgres:16-alpine
container_name: anchorsystems_db
environment:
- POSTGRES_USER=myuser
- POSTGRES_PASSWORD=mypass
- POSTGRES_DB=anchorsystems
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U myuser -d anchorsystems"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
postgres_data:
Then run:
docker-compose up -d
The application requires a PostgreSQL database with the following schema:
CREATE TABLE contact_submissions (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
company VARCHAR(255),
phone VARCHAR(50),
message TEXT NOT NULL,
service_interest VARCHAR(100),
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
To initialize the database:
CREATE DATABASE anchorsystems;Or use the provided schema file from the repository:
psql -h your-host -U your-user -d anchorsystems -f database/schema.sql
git clone https://github.com/Euaell/anchorsystems.git
cd anchorsystems
docker build -t euaell/anchorsystems:latest .
docker run -d \
--name anchorsystems \
-p 3000:3000 \
-e DATABASE_URL="your-connection-string" \
euaell/anchorsystems:latest
You can add a health check to your deployment:
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
Or with Docker run:
docker run -d \
--name anchorsystems \
--health-cmd="wget --quiet --tries=1 --spider http://localhost:3000/ || exit 1" \
--health-interval=30s \
--health-timeout=10s \
--health-retries=3 \
-p 3000:3000 \
-e DATABASE_URL="your-connection-string" \
euaell/anchorsystems:latest
Check logs:
docker logs anchorsystems
Common issues:
DATABASE_URL environment variableVerify connection:
docker exec -it anchorsystems node -e "console.log(process.env.DATABASE_URL)"
Check network:
postgres) as hostpg_hba.conf for connection permissionsChange the host port mapping:
docker run -d -p 8080:3000 ... euaell/anchorsystems:latest
The application runs as non-root user nextjs. Ensure any mounted volumes have proper permissions:
chown -R 1001:1001 /path/to/volume
Increase Docker memory limit:
docker run -d --memory="2g" ... euaell/anchorsystems:latest
docker run -d \
--name anchorsystems \
--restart unless-stopped \
--memory="1g" \
--cpus="1.0" \
--health-cmd="wget --quiet --tries=1 --spider http://localhost:3000/ || exit 1" \
--health-interval=30s \
-p 3000:3000 \
-e DATABASE_URL="your-secure-connection-string" \
-e NODE_ENV=production \
-e NEXT_TELEMETRY_DISABLED=1 \
euaell/anchorsystems:latest
DATABASE_URL (Docker Swarm secrets, Kubernetes secrets, etc.)docker pull euaell/anchorsystems:latestCopyright © 2025 Anchor Systems. All rights reserved.
latest - Latest stable releaseBuilt with ❤️ for AI & RAG Solutions
Content type
Image
Digest
sha256:3294de0a1…
Size
75 MB
Last updated
5 days ago
docker pull euaell/anchorsystems