Installing Fundamento by using Docker
Requirements
- A working Docker installation with Docker Compose
- Port
3333available (configurable)
Quick start
-
Clone the Fundamento standalone repository:
git clone https://github.com/Ikigai-Systems/fundamento-standalone.git cd fundamento-standalone -
(Optional) Edit
env.standaloneto customize the initial admin account. Default credentials arejohn@fundamento.it/secret!. You should change these if your instance will be publicly accessible. -
Start Fundamento:
docker compose up -
Open http://localhost:3333 and log in.
Credentials are generated automatically on first boot — no manual setup needed.
Architecture
Fundamento runs as a set of Docker containers:
| Service | Purpose |
|---|---|
| website | Main web application (Rails) |
| jobs | Background job worker (GoodJob) |
| postgresql | Database (PostgreSQL 16) |
| redis | Caching and real-time features |
Configuration
Admin account (env.standalone)
| Variable | Default |
|---|---|
FUNDAMENTO_ORGANIZATION | Fundamento |
FUNDAMENTO_ADMIN_EMAIL | john@fundamento.it |
FUNDAMENTO_ADMIN_FIRST_NAME | John |
FUNDAMENTO_ADMIN_LAST_NAME | Doe |
FUNDAMENTO_ADMIN_PASSWORD | secret! |
Environment variables (.env)
Copy .env.example to .env to customize optional settings:
| Variable | Default | Description |
|---|---|---|
RAILS_PORT | 3333 | Web server port |
HTTP_HOST | localhost:3333 | Public hostname for links and emails |
RAILS_LOG_LEVEL | info | Log verbosity (debug/info/warn/error) |
FUNDAMENTO_VERSION | latest | Pin a specific image version |
Updating
Pull the latest images and restart:
docker compose pull
docker compose up -dDatabase migrations run automatically on startup.
To pin a specific version, set FUNDAMENTO_VERSION in your .env file or specify the
version directly in docker-compose.yml.
Email (SMTP)
By default, Fundamento does not send emails. To enable email delivery, create a credentials file with your SMTP settings:
docker compose run --rm website bin/rails credentials:edit -e standaloneThis opens the Nano editor. Add an smtp block:
smtp:
user_name: your_username
password: your_password
address: smtp.example.com
port: 587
authentication: loginPress Ctrl-X, then Y to save and exit. Restart to apply:
docker compose restart website jobsTroubleshooting
Port 3333 already in use
Set a different port in .env:
RAILS_PORT=3334
HTTP_HOST=localhost:3334Viewing logs
docker compose logs -f # all services
docker compose logs -f website # web application onlyResetting everything
To start fresh (this destroys all data):
docker compose down -v
docker compose upGot stuck?
Feel free to contact support if you got stuck or have any questions.