elestio/growthbook
Growthbook, verified and packaged by Elestio
5.5K
Growthbook is an open-source platform for feature flagging and A/B testing built for data teams, engineers, and product managers. It's great whether you're looking to just analyze experiment results or looking to make it easier to deploy code.
Deploy a fully managed growthbook on elest.io if you are interested in exploring a decentralized and community-oriented approach to online content.
You can deploy it easily with the following command:
git clone https://github.com/elestio-examples/growthbook.git
Copy the .env file from tests folder to the project directory
cp ./tests/.env ./.env
Edit the .env file with your own values.
Run the project with the following command
docker-compose up -d
You can access the Web UI at: http://your-domain:4967
Here are some example snippets to help you get started creating a container.
version: "3.3"
services:
mongo:
image: "mongo:latest"
restart: always
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
volumes:
- ./storage/mongodata:/data/db
growthbook:
image: elestio/growthbook:${SOFTWARE_VERSION_TAG}
ports:
- "172.17.0.1:4967:3000"
- "172.17.0.1:5967:3100"
depends_on:
- mongo
environment:
- MONGODB_URI=mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongo:27017/growthbook?authSource=admin
- PROXY_ENABLED=1
- API_HOST=https://${DOMAIN}
- APP_ORIGIN=https://${DOMAIN}:4967
- NODE_ENV=${NODE_ENV}
- JWT_SECRET=${JWT_SECRET}
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
- EMAIL_ENABLED=${EMAIL_ENABLED}
- EMAIL_HOST=${EMAIL_HOST}
- EMAIL_PORT=${EMAIL_PORT}
- EMAIL_HOST_USER=${EMAIL_HOST_USER}
- EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD}
- EMAIL_FROM=${EMAIL_FROM}
- UPLOAD_METHOD=${UPLOAD_METHOD}
volumes:
- ./storage/uploads:/usr/local/src/app/packages/back-end/uploads
The Elestio Growthbook Docker image sends the container logs to stdout. To view the logs, you can use the following command:
docker-compose logs -f
To stop the stack you can use the following command:
docker-compose down
To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.
Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:
zip -r myarchive.zip .
Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:
unzip myarchive.zip -d /path/to/original/folder
Starting Your Stack Once your backup is complete, you can start your stack again with the following command:
docker-compose up -d
That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.
docker pull elestio/growthbook