Open-source alternative to Salesforce Low-code Platform 🤖 🎨 🚀 .
10K+
The Steedos Platform Docker image is built with all the components required for it to run, within a single Docker container. Files in this directory make up for the scripts and template files needed for building the image.
The following subsections describe how you can get started with your own instance of Steedos Platform.
Ensure docker and docker-compose are installed and available for starting containers:
You may verify the installation by running docker --version and docker-compose --version. The output should roughly be something like below:
$ docker --version
Docker version 20.10.7, build f0df350
$ docker-compose --version
docker-compose version 1.29.2, build 5becea4c
Create a folder called steedos (or some other name that you like), which will serve as our installation folder. Inside this folder, create a docker-compose.yml file and copy the following content into it:
version: "3"
services:
steedos:
image: steedos/steedos-enterprise
container_name: steedos-enterprise
ports:
- "80:80"
- "443:443"
- "9001:9001"
volumes:
- ./stacks:/steedos-stacks
restart: unless-stopped
# # Uncomment the lines below to enable auto-update
# labels:
# com.centurylinklabs.watchtower.enable: "true"
# auto_update:
# image: containrrr/watchtower
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
# # Update check interval in seconds.
# command: --schedule "0 0 * ? * *" --label-enable --cleanup
# restart: unless-stopped
Note: To enable auto-update for Steedos Platform, please uncomment all the commented lines in the docker-compose file.
After saving this file, cd to the folder that contains this file and run the following command to start Steedos Platform:
docker-compose up -d
This command may take a few minutes to download the docker image and initialize the application. Steedos Platform should soon be available at http://localhost.
You can check if application is running correctly by running docker ps or docker-compose ps (running docker-compose will require you to be in the directory containing the docker-compose.yml file to work).
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3b8f2c9638d0 steedos/steedos-enterprise "/opt/steedos/entrypoint.sh" 17 minutes ago Up 17 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp Steedos
You can also use the Supervisord UI to monitor and manage the different processes inside the container. This is discussed further below.
To make Steedos Platform available on a custom domain, please update your domain's DNS records to point to the instance running Steedos Platform. Most domain registrars / DNS-providers have documentation on how you can do this yourself.
In our container, we support to generate a free SSL certificate If you have your owned certificate, please follow these steps to use it inside the container.
fullchain.pem and key file as privkey.pem<mounting-directory>/ssl/ (Note: Please change <mounting-directory> by the mounting volume directory in the docker-compose.yml. Default is ./stacks)docker restart Steedos PlatformThe container will check the certificate files in the folder <mounting-directory>/ssl and use them if they are existed.
Note: In case of the certificate files have different name from fullchain.pem and privkey.pem, it will be considered as missing custom certificate and auto-provisioning the certificate by Let's Encrypt
The image includes an steedosctl command to help with the management and maintenance of your instance. The following subsections describe what's available.
The following command can be used to take a backup dump of Steedos Platform's database. This can be restored onto another instance using the import command (discussed below) to restore all data.
Before running this, ensure you are in the directory where docker-compose.yml is located.
docker-compose exec steedos-enterprise steedosctl export_db
The output file will be stored in the container directory /steedos-stacks/data/backup/steedos-data.archive. Thanks to the volume configuration in the docker-compose.yml file, it should be available on your host machine at ./stacks/data/backup/steedos-data.archive.
If your volume configuration is different or unavailable, you can use the following command to copy the archive file to your host disk:
docker-compose cp steedos-enterprise:/steedos-stacks/data/backup/steedos-data.archive .
Note that you may want to save the docker.env file in addition to this archive file, if you intend to be able to reproduce this environment elsewhere, or in case of a disaster. This file can be copied out of the container with the following command:
docker-compose cp steedos-enterprise:/steedos-stacks/configuration/docker.env .
Be sure to keep this file safe, since it contains information that can be used to decrypt datasource information from the database archive.
The following command can restore backup archive, that was produced by the export command (discussed above).
First, copy the archive file into the container using the following command:
docker-compose cp ./steedos-data.archive steedos-enterprise:/steedos-stacks/data/restore/
Second, run the following command to import data from this file:
docker-compose exec steedos-enterprise steedosctl import_db
Note that when you restore, you may also want to copy a docker.env from the original instance into this one. You can use the following command to do this (assuming you are in the installation folder and docker.env exists in the same folder):
docker-compose cp ./docker.env steedos-enterprise:/steedos-stacks/configuration/
This will need a restart of the Steedos Platform server, which can be done using the following command:
docker-compose exec steedos-enterprise supervisorctl restart backend
To migrate a running container to a new server or other machine, you can use the following migrate command and replace the <user> and <new-server-ip-address> by the user and IP address of the destination server or machine.
docker exec steedos-enterprise steedosctl migrate <user>@<new-server-ip-address>
This command will migrate all data and configuration of running container on source machine to destination machine and start a new container on destination machine.
The container runs multiple processes, including the Steedos Platform server, Nginx, MongoDB etc., inside a single Docker container. These processes are started and managed by supervisord.
Supervisord comes with a web interface for managing the various processes, available at http://localhost/supervisor/, as well as a command line interface towards the same goal.
The command line interface can also be used to perform operations like restarting the Steedos Platform server, or restarting Nginx etc. For example, the following command (run in the installation folder) can be used to get a status of all running processes:
docker-compose exec steedos-enterprise supervisorctl status
Or to view the last few lines of stderr output of one of the processes:
docker-compose exec steedos-enterprise supervisorctl tail backend stderr
To learn more, please refer to Supervisor's documentation on what actions are available to be performed by the command line interface.
If you encounter any errors during this process, please reach out to [email protected] or join our Discord Server and reach out on the #support channel.
Content type
Image
Digest
sha256:565d6b727…
Size
816.6 MB
Last updated
3 days ago
docker pull steedos/steedos-enterprise:3.0.15-beta.49