Appbase.io: Dockerize Setup
This setup enables you to run Arc with single command, i.e. docker-compose up -d
Dockerize setup for Arc comes with 3 different services
appbase
Allows you to access all Appbase.io features like search preview, actionable analytics and granular security with any Elasticsearch cluster hosted anywhere.
Note: Make sure your arc container have complete access to Elasticsearch. You can use Elasticsearch URL with Basic Auth in configuring dashboard or IP restricted Elasticsearch URL where IP of your ARC cluster hosted using docker setup is white listed.
Configure
This service comes with simple user interface which allows you to set credentials and other environment variables. Also it watches for environment variable file changes, so that if any variable in file is changed it can restart arc service.
Nginx
This service helps in setting up reverse proxy for Arc Service and serving Configuration service. It also helps in serving data using with TLS certificate, which is recommended for production.
Quick Start 🚀
The steps described here assumes a docker installation on the system.
Note: If you have used arc-docker setup earlier, you might need to clear
wwwvolume to get fresh copy of arc configuration page. Please remove containers associated withwwwvolumedocker container rm ContainerIDand then rundocker volume rm www
-
Step 1: Get Arc ID following the steps mentioned here
-
Step 2: Clone the repository
git clone https://github.com/appbaseio/arc-dockerized.git && cd arc-dockerized
-
Step 3: Configure logging system
Arc internally uses Fluentbit to log the requests and provide analytics on top of that. In order to setup fluentbit, update
fluent-bit.confwith ElasticsearchHost,Port,tls,HTTP_UserandHTTP_Passwdinformation.Note: If you are using
docker-compose-with-elasticsearch.yamlthen you don't need to change any configurations in
-
Step 4: Build and run docker containers
We highly recommend using Arc with SSL so that we can easily bind this with Arc Dashboard. To simplify the process of docker build, test and deployment we have created 2 versions:
1 - Install Arc + Nginx with SSL setup (Recommended for production)
- Change SSL certificate and keys with production files. Please obtain SSL certificate and key for your domain using Let's Encrypt or any other provider. Update the files in nginx/certs
- In case you are using different name then mentioned in nginx/certs folder, then please update them in
docker-compose.yamlfile as well
Also, make sure you update file names in nginx/default.conf file
docker-compose up -d
2 - Install Arc + Elasticsearch (If you want to deploy Arc Along with Elasticsearch.)
docker-compose -f docker-compose-with-elasticsearch.yaml up -d🔥 Thats all, our containers should be up and running. Next let us configure environment variables required by Arc service. -
Step 5: Open configuration service URL in your browser, i.e. http://localhost_OR_cluster_url
Note: If you are running this setup on an virtual machine, make sure ports
80and443are set in your inbound rules for the cluster. -
Step 6: Set credentials
-
Step 7: Configure Elasticsearch URL and ARC ID obtained above.
NOte: Once you save the configuration, it may take 5-10s to restart the arc service.
-
Step 8: Start using Arc Services using Arc Dashboard. Here you will have to input Arc Cluster URL which will be http(s)://localhost_OR_cluster_url and credentials would be the one that you configured initially on Step 5.


