diff --git a/Dockerfile b/Dockerfile index 4a6c31dc..b04cae43 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,31 @@ -FROM debian:jessie +FROM ubuntu:15.10 MAINTAINER Frank Celler # for local installation, uncomment -# ADD ./arangodb /install +ADD ./arangodb /install # add scripts to install and run ArangoDB ADD ./scripts /scripts -# add HELP file -ADD ./HELP.md /HELP.md - # install ubuntu package RUN ./scripts/install.sh +# add commands +ADD ./HELP.md /HELP.md +ADD ./commands /commands + +# copy any required foxxes +ADD ./foxxes /var/lib/arangodb-foxxes + +# copy any local config files +ADD ./local-config /etc/arangodb + # expose data, apps and logs -VOLUME ["/data", "/apps", "/apps-dev", "/logs"] +VOLUME ["/var/lib/arangodb", "/var/lib/arangodb-apps", "/var/log/arangodb", "/var/lib/arangodb-foxxes"] # standard port EXPOSE 8529 # start script -CMD ["/scripts/start.sh"] +ENTRYPOINT ["/scripts/commands.sh"] +CMD ["standalone"] diff --git a/HELP.md b/HELP.md index 5cd13db0..dc23fb2a 100644 --- a/HELP.md +++ b/HELP.md @@ -1,17 +1,22 @@ volumes: - /data database files - /apps application directory - /apps-dev application directory for development - /logs log directory + /var/lib/arangodb database files + /var/lib/arangodb-apps application directory + /var/log/arangodb log directory -start in development mode: - docker run -e development=1 arangodb +run an upgrade: + docker run arangodb standalone --upgrade pipe the log file to standard out: - docker run -e verbose=1 arangodb + docker run arangodb standalone --verbose fire up a bash after starting the server: - docker run -e console=1 -it arangodb + docker run -it arangodb standalone --console + +disable authentication + docker run arangodb standalone --disable-authentication + +disable initialisation on first boot + docker run arangodb standalone --disable-initialize show all options: - docker run -e help=1 arangodb + docker run arangodb help diff --git a/README.md b/README.md index 0b2507aa..6d99d0d2 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,51 @@ # Overview / Links -ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally and vertically with a few mouse clicks. -The supported data models can be mixed in queries and allow ArangoDB to be the aggregation point for the data request you have in mind. +ArangoDB is a multi-model, open-source database with flexible data +models for documents, graphs, and key-values. Build high performance +applications using a convenient SQL-like query language or JavaScript +extensions. Use ACID transactions if you require them. Scale +horizontally and vertically with a few mouse clicks. + +The supported data models can be mixed in queries and allow ArangoDB +to be the aggregation point for the data request you have in mind. Dockerfile: [`Latest` (Dockerfile)](https://github.com/arangodb/arangodb-docker/blob/master/Dockerfile) -Key Features in ArangoDB ------------------------- +**Note** that we have changed the location of the data files, in order +to be compatible with the official docker image (see +https://github.com/docker-library/official-images/pull/728): + +- `/var/lib/arangodb` instead of `/data` +- `/var/lib/arangodb-apps` instead of `/apps` +- `/var/log/arangodb` instead of `/logs` + +## Key Features in ArangoDB **Multi-Model** -Documents, graphs and key-value pairs — model your data as you see fit for your application. +Documents, graphs and key-value pairs — model your data as you see fit +for your application. **Joins** -Conveniently join what belongs together for flexible ad-hoc querying, less data redundancy. +Conveniently join what belongs together for flexible ad-hoc querying, +less data redundancy. **Transactions** -Easy application development keeping your data consistent and safe. No hassle in your client. +Easy application development keeping your data consistent and safe. No +hassle in your client. + +Joins and Transactions are key features for flexible, secure data +designs, widely used in RDBMSs that you won’t want to miss in NoSQL +products. You decide how and when to use Joins and strong consistency +guarantees, keeping all the power for scaling and performance as +choice. -Joins and Transactions are key features for flexible, secure data designs, widely used in RDBMSs that you won’t want to miss in NoSQL products. You decide how and when to use Joins and strong consistency guarantees, keeping all the power for scaling and performance as choice. +**Microservices** +Furthermore, ArangoDB offers a microservice framework called +[Foxx](https://www.arangodb.com/foxx) to build your own Rest API with +a few lines of code. -Furthermore, ArangoDB offers a microservice framework called [Foxx](https://www.arangodb.com/foxx) to build your own Rest API with a few lines of code. +## ArangoDB Documentation -ArangoDB Documentation - [ArangoDB Documentation](https://www.arangodb.com/documentation) - [ArangoDB Tutorials](https://www.arangodb.com/tutorials) @@ -32,14 +56,15 @@ ArangoDB Documentation In order to start an ArangoDB instance run ``` -unix> docker run -d --name arangodb-instance -d arangodb/arangodb +unix> docker run -d --name arangodb-instance arangodb/arangodb ``` -Will create and launch the arangodb docker instance as background process. -The Identifier of the process is printed. -By default ArangoDB listen on port 8529 for request and the image includes -`EXPOST 8529`. If you link an application container it is automatically -available in the linked container. See the following examples. +Will create and launch the arangodb docker instance as background +process. The Identifier of the process is printed. By default +ArangoDB listens on port 8529 for requests and the image includes +`EXPOSE 8529`. If you link an application container it is +automatically available in the linked container. See the following +examples. In order to get the IP arango listens on run: @@ -49,6 +74,64 @@ docker inspect --format '{{ .NetworkSettings.IPAddress }}' (where is the return string of the previous start command) +The first time you run your container, a new user `root` with all +privileges will be created with a random password. To get the +password, check the logs of the container by running: + +``` +docker logs +``` + +You will see an output like the following: + +``` +======================================================================== +ArangoDB User: "root" +ArangoDB Password: "WbvIcyqXey0XlZgI" +======================================================================== +``` + +### Credentials + +If you want to preset credentials instead of a random generated ones, +you can set the following environment variables: + +``` +ARANGODB_USERNAME to set a specific username +ARANGODB_PASSWORD to set a specific password +``` + +On this example we will preset our custom username and password: + +``` +docker run -d \ + --name arangodb \ + -p 8529:8529 \ + -e ARANGODB_USERNAME=myusername \ + -e ARANGODB_PASSWORD=mypassword \ + arangodb/arangodb +``` + +### Databases + +If you want to create a database at container's boot time, you can set the following environment variables: + +``` +ARANGODB_DBNAME to create a database +``` + +On this example we will preset our custom username and password and we will create a database: + +``` +docker run -d \ + --name arangodb \ + -p 8529:8529 \ + -e ARANGODB_USERNAME=myusername \ + -e ARANGODB_PASSWORD=mypassword \ + -e ARANGODB_DBNAME=mydb \ + arangodb/arangodb +``` + ### Using the instance In order to use the running instance from an application, link the container @@ -57,9 +140,9 @@ In order to use the running instance from an application, link the container unix> docker run --name my-app --link arangodb-instance:db-link arangodb/arangodb ``` -This will use the instance with the name `arangodb-instance` and link it into -the application container. The application container will contain environment -variables +This will use the instance with the name `arangodb-instance` and link +it into the application container. The application container will +contain environment variables ``` DB_LINK_PORT_8529_TCP=tcp://172.17.0.17:8529 @@ -79,8 +162,8 @@ If you want to expose the port to the outside world, run unix> docker run -p 8529:8529 -d arangodb/arangodb ``` -ArangoDB listen on port 8529 for request and the image includes `EXPOST -8529`. The `-p 8529:8529` exposes this port on the host. +ArangoDB listens on port 8529 for requests and the image includes +`EXPOSE 8529`. The `-p 8529:8529` exposes this port on the host. ### Command line options @@ -92,9 +175,9 @@ unix> docker run -e help=1 arangodb/arangodb ## Persistent Data -ArangoDB use the volume `/data` as database directory to store the collection -data and the volume `/apps` as apps directory to store any extensions. These -directories are marked as docker volumes. +ArangoDB use the volume `/var/lib/arangodb` as database directory to store the +collection data and the volume `/var/lib/arangodb-apps` as apps directory to store any +extensions. These directories are marked as docker volumes. See `docker run -e help=1 arangodb` for all volumes. @@ -104,26 +187,27 @@ A good explanation about persistence and docker container can be found here: ### Using host directories -You can map the container's volumes to a directory on the host, so that the data -is kept between runs of the container. This path `/tmp/arangodb` is in general -not the correct place to store you persistent files - it is just an example! +You can map the container's volumes to a directory on the host, so +that the data is kept between runs of the container. This path +`/tmp/arangodb` is in general not the correct place to store your +persistent files - it is just an example! ``` unix> mkdir /tmp/arangodb unix> docker run -p 8529:8529 -d \ - -v /tmp/arangodb:/data \ + -v /tmp/arangodb:/var/lib/arangodb \ arangodb ``` -This will use the `/tmp/arangodb` directory of the host as database directory -for ArangoDB inside the container. +This will use the `/tmp/arangodb` directory of the host as database +directory for ArangoDB inside the container. ### Using a data container Alternatively you can create a container holding the data. ``` -unix> docker run -d --name arangodb-persist -v /data debian:8.0 true +unix> docker run -d --name arangodb-persist -v /var/lib/arangodb debian:8.0 true ``` And use this data container in your ArangoDB container. @@ -139,7 +223,7 @@ or for creating the volume only containers. For example ``` -unix> docker run -d --name arangodb-persist -v /data tianon/true true +unix> docker run -d --name arangodb-persist -v /var/lib/arangodb tianon/true true ``` # Images @@ -159,15 +243,26 @@ This will create an image named `arangodb`. ## Issues -If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/arangodb/arangodb-docker/issues). +If you have any problems with or questions about this image, please +contact us through a +[GitHub issue](https://github.com/arangodb/arangodb-docker/issues). -You can also reach many of the official image maintainers via the `#docker-library` IRC channel on [Freenode](https://freenode.net) - ArangoDB specific questions can be asked in `#arangodb`. +You can also reach many of the official image maintainers via the +`#docker-library` IRC channel on [Freenode](https://freenode.net) - +ArangoDB specific questions can be asked in `#arangodb`. ## Contributing -You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can. +You are invited to contribute new features, fixes, or updates, large +or small; we are always thrilled to receive pull requests, and do our +best to process them as fast as we can. -Before you start to code, we recommend discussing your plans through a [GitHub issue](https://github.com/arangodb/arangodb-docker/issues), especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing. +Before you start to code, we recommend discussing your plans through a +[GitHub issue](https://github.com/arangodb/arangodb-docker/issues), +especially for more ambitious contributions. This gives other +contributors a chance to point you in the right direction, give you +feedback on your design, and help you find out if someone else is +working on the same thing. # LICENSE diff --git a/commands/bash.sh b/commands/bash.sh new file mode 100755 index 00000000..a6d71a8b --- /dev/null +++ b/commands/bash.sh @@ -0,0 +1,2 @@ +#!/bin/bash +exec /bin/bash diff --git a/commands/help.sh b/commands/help.sh new file mode 100755 index 00000000..73de5994 --- /dev/null +++ b/commands/help.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -e + +cat /HELP.md diff --git a/commands/initialize.sh b/commands/initialize.sh new file mode 100755 index 00000000..1997e6fd --- /dev/null +++ b/commands/initialize.sh @@ -0,0 +1,48 @@ +#!/bin/bash +set -e + +USER=${ARANGODB_USERNAME:-root} +PASS=${ARANGODB_PASSWORD:-$(pwgen -s -1 16)} +DB=${ARANGODB_DBNAME:-} + +# setup user and database +echo "creating initial user, please wait ..." + +( + if [ "$USER" == "root" ]; then + echo "require(\"org/arangodb/users\").replace(\"root\", \"$PASS\");" + else + echo "require(\"org/arangodb/users\").save(\"$USER\", \"$PASS\");" + echo "require(\"org/arangodb/users\").replace(\"root\", \"$PASS\", false);" + fi + + if [ ! -z "$DB" ]; then + echo "db._createDatabase(\"$DB\"); db._useDatabase(\"$DB\");" + + if [ "$USER" == "root" ]; then + echo "require(\"org/arangodb/users\").replace(\"root\", \"$PASS\");" + else + echo "require(\"org/arangodb/users\").save(\"$USER\", \"$PASS\");" + echo "require(\"org/arangodb/users\").replace(\"root\", \"$PASS\", false);" + fi + fi +) | /usr/sbin/arangod --configuration /etc/arangodb/arangod.conf --console --log.file /tmp/arangodb.log --log.tty "" > /dev/null + +echo "========================================================================" +echo "ArangoDB User: \"$USER\"" +echo "ArangoDB Password: \"$PASS\"" +if [ ! -z "$DB" ]; then + echo "ArangoDB Database: \"$DB\"" +fi +echo "========================================================================" + +# check for foxxes +if test -f "/var/lib/arangodb-foxxes/mounts.json"; then + echo "checking for foxxes, please wait ..." + + /usr/sbin/arangod --configuration /etc/arangodb/arangod.conf --log.level error --javascript.script /scripts/install-foxxes.js + + echo "installation has finished" +fi + +touch /var/lib/arangodb/.initialized diff --git a/commands/standalone.sh b/commands/standalone.sh new file mode 100755 index 00000000..e3779719 --- /dev/null +++ b/commands/standalone.sh @@ -0,0 +1,79 @@ +#!/bin/bash +set -e + +initialize=1 + +while [ "$#" -gt 0 -a "$1" != "--" ]; do + opt=$1 + shift + + if [ "$opt" == "--console" ]; then + console=1 + elif [ "$opt" == "--verbose" ]; then + verbose=1 + elif [ "$opt" == "--upgrade" ]; then + upgrade=1 + elif [ "$opt" == "--disable-authentication" ]; then + disable_authentication=1 + elif [ "$opt" == "--disable-initialize" ]; then + initialize=0 + elif [ "$opt" == "--help" ]; then + help=1 + else + echo "arangodb: unknown option '$opt'" + exit 1 + fi +done + +if [ "$#" -gt 0 -a "$1" == "--" ]; then + shift +fi + +# help +if test "$help" == "1"; then + cat /HELP.md + + exit 0 +fi + +echo +echo "starting ArangoDB in stand-alone mode" + +# fix permissions +mkdir -p /var/lib/arangodb/cluster +mkdir -p /var/log/arangodb/cluster +mkdir -p /var/lib/arangodb-apps + +touch /var/log/arangodb/arangodb.log + +rm -rf /tmp/arangodb + +chown -R arangodb:arangodb \ + /var/lib/arangodb \ + /var/lib/arangodb-apps \ + /var/log/arangodb + +# pipe logfile to standard out +if test "$verbose" == "1"; then + tail -f /var/log/arangodb/arangodb.log & +fi + +# initialize for first run +if test "$initialize" = "1" -a ! -e /var/lib/arangodb/.initialized; then + /commands/initialize.sh +fi + +# without authentication +if test "$disable_authentication" == "1"; then + AUTH="--server.disable-authentication true" +fi + +# start server +if test "$upgrade" == "1"; then + /usr/sbin/arangod "$@" --upgrade +elif test "$console" == "1"; then + /usr/sbin/arangod "$@" $AUTH & + /bin/bash +else + /usr/sbin/arangod "$@" $AUTH +fi diff --git a/foxxes/README.txt b/foxxes/README.txt new file mode 100644 index 00000000..84fa51e2 --- /dev/null +++ b/foxxes/README.txt @@ -0,0 +1,8 @@ +Create a document "mounts.json" and specify the foxxes, which should +be mount during init. + +Example: + + [ + { "app": "nonce.zip", "mount": "/nonce" } + ] diff --git a/local-config/README.txt b/local-config/README.txt new file mode 100644 index 00000000..9fdde002 --- /dev/null +++ b/local-config/README.txt @@ -0,0 +1,2 @@ +you can put local modifications here. The naming convention is to add ".local". For example, +create a file "arangod.conf.local" to modify "arangod.conf". diff --git a/scripts/VERSION b/scripts/VERSION index aedc15bb..d48d3702 100644 --- a/scripts/VERSION +++ b/scripts/VERSION @@ -1 +1 @@ -2.5.3 +2.6.9 diff --git a/scripts/arangod-docker.conf b/scripts/arangod-docker.conf deleted file mode 100644 index beb893cc..00000000 --- a/scripts/arangod-docker.conf +++ /dev/null @@ -1,91 +0,0 @@ -# ArangoDB configuration file for running in docker containers -# -# Documentation: -# https://docs.arangodb.com/ConfigureArango/README.html -# - -temp-path = /tmp/arangodb - -[database] -# We don't follow LHFS for docker, since the data directory will be mounted -# flat to the top of the container: -directory = /data -# directory = ./lib/arangodb -# directory = @HOMEDRIVE@/@HOMEPATH@/arangodb/databases - -# maximal-journal-size = 33554432 - -[server] -# Specify the endpoint for HTTP requests by clients. -# tcp://ipv4-address:port -# tcp://[ipv6-address]:port -# ssl://ipv4-address:port -# ssl://[ipv6-address]:port -# unix:///path/to/socket -# -# Examples: -# endpoint = tcp://0.0.0.0:8529 -# endpoint = tcp://127.0.0.1:8529 -# endpoint = tcp://localhost:8529 -# endpoint = tcp://myserver.arangodb.com:8529 -# endpoint = tcp://[::]:8529 -# endpoint = tcp://[fe80::21a:5df1:aede:98cf]:8529 -# -# bind everything for docker, since we expect to have our own IP: -endpoint = tcp://0.0.0.0:8529 -# endpoint = tcp://127.0.0.1:8529 - -# resuse a port on restart or wait until it is freed by the operating system -# reuse-address = false - -# disable authentication for the admin frontend -disable-authentication = yes - -# number of server threads -threads = 4 - -# the user and group are normally set in the start script -uid = arangodb -gid = arangodb - -[scheduler] - -# number of threads used for I/O -threads = 2 - -[javascript] -startup-directory = /usr/share/arangodb/js -# We don't follow LHFS for docker, since the apps directory will be mounted -# flat to the top of the container: -app-path = /apps -#app-path = ./lib/arangodb-apps -# app-path = @HOMEDRIVE@/@HOMEPATH@/arangodb/apps - -# number of worker threads for V8 -v8-contexts = 5 - -[log] -level = info -severity = human -# We don't follow LHFS for docker, since the logs directory will be mounted -# flat to the top of the container: -file = /logs/arangodb.log -# file = ./log/arangodb/arangod.log - -[cluster] -disable-dispatcher-kickstarter = yes -disable-dispatcher-frontend = yes -# We don't follow LHFS for docker, since the directories will be mounted -# flat to the top of the container: -data-path = /lib/cluster -log-path = /log/cluster -agent-path = /usr/bin/arangodb/etcd-arango -arangod-path = /usr/bin/arangod -dbserver-config = /etc/arangodb/arangod-docker.conf -coordinator-config = /etc/arangodb/arangod-docker.conf -# data-path = ./lib/arangodb/cluster -# log-path = ./log/arangodb/cluster -# agent-path = /usr/bin/arangodb/etcd-arango -# arangod-path = /usr/bin/arangod -# dbserver-config = /etc/arangodb/arangod.conf -# coordinator-config = /etc/arangodb/arangod.conf diff --git a/scripts/commands.sh b/scripts/commands.sh new file mode 100755 index 00000000..1bf6ccef --- /dev/null +++ b/scripts/commands.sh @@ -0,0 +1,16 @@ +#!/bin/sh +set -e + +if test "$#" -lt 1 -o "$1" = "help"; then + exec /commands/help.sh +fi + +cmd=$1 +shift + +if test -f "/commands/${cmd}.sh"; then + exec /commands/${cmd}.sh "$@" +else + echo "unknown command: $cmd" + exit 0 +fi diff --git a/scripts/install-foxxes.js b/scripts/install-foxxes.js new file mode 100644 index 00000000..f438c173 --- /dev/null +++ b/scripts/install-foxxes.js @@ -0,0 +1,43 @@ +'use strict'; + +var fs = require('fs'); +var foxx = require('org/arangodb/foxx/manager'); +var internal = require('internal'); + +function main(argv) { + var mounts = ""; + + try { + mounts = fs.read('/var/lib/arangodb-foxxes/mounts.json'); + } + catch (err) { + internal.print("no '/var/lib/arangodb-foxxes/mounts.json' file found, nothing to install"); + internal.print("(" + err.stack + ")"); + } + + if (mounts !== "") { + try { + mounts = JSON.parse(mounts); + } + catch (err) { + internal.print("'/var/lib/arangodb-foxxes/mounts.json' file is corrupt, aborting install"); + internal.print("(" + err.stack + ")"); + mounts = []; + } + } + + var i; + + for (i = 0; i < mounts.length; ++i) { + var mount = mounts[i]; + + internal.print("installing '" + mount.app + "' on path '" + mount.mount + "'"); + + try { + foxx.install('/var/lib/arangodb-foxxes/' + mount.app, mount.mount, mount.options || {}); + } + catch (err) { + internal.print("installation failed: '%s'" + err.stack + "'"); + } + } +} diff --git a/scripts/install.sh b/scripts/install.sh index 0d5faa11..7eeda41b 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -19,7 +19,7 @@ case $VERSION in esac # set repostory path -ARANGO_URL=https://www.arangodb.com/repositories/${ARANGO_REPO}/Debian_7.0 +ARANGO_URL=https://www.arangodb.com/repositories/${ARANGO_REPO}/Debian_8.0 echo " ---> Using repository $ARANGO_URL and version $VERSION" # check for local (non-network) install @@ -37,13 +37,15 @@ echo " ---> Updating debian" apt-get -y -qq --force-yes update apt-get -y -qq --force-yes install wget apt-get -y -qq install apt-transport-https +apt-get -y -qq install pwgen +apt-get -y -qq install libgoogle-perftools4 # install from local source if test "$local" = "yes"; then #groupadd arangodb #useradd arangodb -g arangodb echo " ---> Using local packages" - apt-key add - < /install/Release.key + #apt-key add - < /install/Release.key dpkg -i /install/arangodb_${VERSION}_amd64.deb rm -rf /install @@ -70,7 +72,7 @@ else dpkg --install arangodb_*_amd64.deb rm arangodb_*_amd64.deb else - wget "https://www.arangodb.com/repositories/${ARANGO_REPO}/Debian_8.0/amd64/arangodb_${VERSION}_amd64.deb" + wget --quiet "https://www.arangodb.com/repositories/${ARANGO_REPO}/Debian_8.0/amd64/arangodb_${VERSION}_amd64.deb" dpkg --install arangodb_${VERSION}_amd64.deb rm arangodb_${VERSION}_amd64.deb fi @@ -81,7 +83,28 @@ else rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* fi -cp /scripts/arangod-docker.conf /etc/arangodb -# create data, apps and log directory -mkdir /data /apps /apps-dev /logs -chown arangodb:arangodb /data /apps /apps-dev /logs + +# fix config files +echo " ---> Fixing config files" + +( + cd /etc/arangodb + + echo 'temp-path = /tmp/arangodb' > arangod.conf.new + sed \ + -e 's~^data-path.*~data-path = /var/lib/arangodb/cluster~' \ + -e 's~^log-path.*~log-path = /var/log/arangodb/cluster~' \ + -e 's~^agent-path.*~agent-path = /usr/bin/arangodb/etcd-arango~' \ + -e 's~^arangod-path.*~arangod-path = /usr/sbin/arangod~' \ + -e 's~^dbserver-config.*~dbserver-config = /etc/arangodb/arangod.conf~' \ + -e 's~^coordinator-config.*~coordinator-config = /etc/arangodb/arangod.conf~' \ + -e 's~^endpoint.*~endpoint = tcp://0.0.0.0:8529~'\ + -e 's~^# uid~uid~' \ + -e 's~^# gid~gid~' < arangod.conf >> arangod.conf.new + mv arangod.conf.new arangod.conf + + #for i in *.conf; do + # sed -e 's~^disable-authentication.*~disable-authentication = no~' < $i > $i.new + # mv $i.new $i + #done +) diff --git a/scripts/start.sh b/scripts/start.sh deleted file mode 100755 index 5af40246..00000000 --- a/scripts/start.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -set -e - -# help -if test "$help" = "1"; then - cat /HELP.md - - exit 0 -else - echo "show all options:" - echo " docker run -e help=1 arangodb" -fi - -echo -echo "starting ArangoDB in stand-alone mode" - -# fix permissions -touch /logs/arangodb.log -rm -rf /tmp/arangodb -mkdir /tmp/arangodb - -chown arangodb:arangodb /data /apps /apps-dev /logs /logs/arangodb.log /tmp/arangodb - -# pipe logfile to standard out -if test "$verbose" = "1"; then - tail -f /logs/arangodb.log & -fi - -# start server -if test "$console" = "1"; then - /usr/sbin/arangod \ - --configuration /etc/arangodb/arangod-docker.conf \ - "$@" & - /bin/bash -else - /usr/sbin/arangod \ - --configuration /etc/arangodb/arangod-docker.conf \ - "$@" -fi pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy