Skip to main content

Prebuilt Docker Images

Clone the repository:

git clone git@github.com:metamodeldev/architeezy-selfhosted.git
cd architeezy-selfhosted

Start the application:

docker compose up

Open http://localhost:8080. Use the following credentials to sign in: admin / admin.

To manage users, open http://localhost:8181. Sign in with admin / admin, then select Manage realms → Architeezy → Users.

Before using in production:

  • Update passwords and secrets in the .env file
  • Configure Keycloak according to your security policies, or replace it with your own Keycloak instance or another OAuth 2.0–compatible IAM system
  • Place Architeezy behind a reverse proxy with HTTPS support, such as Nginx

You can use the following reverse proxy configuration as a template:

server {
listen 80;
listen [::]:80;
server_name architeezy.com;
return 302 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name architeezy.com;
ssl_certificate /etc/letsencrypt/live/architeezy.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/architeezy.com/privkey.pem;

client_max_body_size 50M;
proxy_read_timeout 900s;

proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;

location / {
proxy_pass http://localhost:8080;
}
}

For Keycloak:

server {
listen 80;
listen [::]:80;
server_name auth.architeezy.com;
return 302 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name auth.architeezy.com;
ssl_certificate /etc/letsencrypt/live/architeezy.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/architeezy.com/privkey.pem;

proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;

location / {
proxy_pass http://localhost:8181;
}
}

The application includes the following containers:

  • architeezy-frontend — user interface
  • architeezy-backend — core application logic
  • architeezy-db — database
  • architeezy-api-gateway — handles user authentication
  • architeezy-redis — stores user sessions
  • architeezy-keycloak — identity and access management system
  • architeezy-keycloak-db — user database