Installing Fundamento by using Docker
Installation requirements
Currently Fundamento Self-Hosted is shipped as Docker images. Therefore you need to have a working Docker installation in your system.
Ports
By default, Fundamento uses port 3000
to serve its web interface. You must
ensure no other process is listening on that port.
Installation steps
With Docker Compose you can install your Docker-based Fundamento installation. Fundamento comes with docker-compose.yml which contains all necessary services to run it.
- Install Docker compose in your system.
- Clone Fundamento standalone repository:
Alternatively download repo as a .zip .
git clone https://github.com/Ikigai-Systems/fundamento-standalone.git
- Update superadmin default credentials by editing
env.standalone
file. You will use these credentials to log in to Fundamento for the first time. You can leave defaults (john@fundamento.it
/secret!
) but this isn’t recommended for security reasons - if your Fundamento instance is exposed publicly, anyone could log in as superadmin if you forget to change its password. - Generate base secrets for your Fundamento instance:
This will bring up Nano editor allowing you to adjust generated values. If this is your first Fundamento installation you can omit that step - press Ctrl-X to leave the editor.
docker compose run -ti --rm website -- bin/rails credentials:edit -e standalone
- Build and start docker containers:
docker compose up
- Start using Fundamento: http://localhost:3000
Updating the latest version
Docker will download and cache the latest
available Fundamento version. That means the next
time you would like to reuse the same machine for installing newer Fundamento version, you will
need to instruct Docker to do so.
Use the following command to tell Docker to pull the latest version again:
docker compose up --pull always
You can also specify an exact version
in docker-compose.yml
before building containers (step 4 from Installation instructions above).
Got stuck?
Feel free to contact support if you got stuck or have any questions.