Installation

Authcore can be installed in most GNU/Linux distributions and in a number of cloud providers.

Deploying to Docker

A sample docker-compose file can be referenced in deployments/docker-compose.yml.

To use Authcore in Docker, you need to alter several value in docker-compose.yml.

  • DATABASE_URL refers to the mysql database with mysql credentials and database name.

  • ADMIN_PASSWORD refers to the admin user password that is used in first-time installation.

  • ADMIN_EMAIL or ADMIN_PHONE refers to the admin email / phone that is used for the admin account.

  • AUTHCORE_CONFIG refers to the config file that authcore uses and defaults to be conf/authcore.toml.

To use a custom config file, you must setup the volumes in docker-compose file correctly to map your config file (authcore.toml) to /app/conf as shown in the example docker-compose.yml.

For security, you MUST setup different variable in authcore.toml. Refer to the configuration section for more details.

Deploying to Kubernetes using Helm

Install Helm

Follow the instructionsarrow-up-right to install Helm. Please note: the default Helm installation is insuecre. Follow this additional guide to secure Helmarrow-up-right.

For a minimal installation:

$ kubectl create -f kubernetes/rbac-config.yaml
serviceaccount "tiller" created
clusterrolebinding "tiller" created
$ helm init --service-account tiller --history-max 200

Create a namespace for Authcore

Install Dependencies

MySQL

Install MySQL:

After installation, you need to create a secret for database URL providing to Authcore.

<database_url> is mysql://root:<mysql-root-password>@<mysql_service>/authcore?parseTime=true

And put the <secret-name> in mysql.database_url.

Redis

Redis can be installed via dependency. If you want to install redis by your own configuration, you can do it by following.

Install Redis (optional):

You must also set tags.install_redis and configuration in redis in values.yaml to false if you choose to customize install redis.

Install Authcore using Helm

Set up secret for accessing Authcore docker registry:

Change the values in values.yaml to override default values for OAuth configuration, root keys etc.

TLS configuration:

First add the TLS secret:

then refer the TLS secret (and the hostname) in values.yaml

for the nginx ingress, a ingress controller must be installed.

Refer to https://kubernetes.github.io/ingress-nginx/deploy/ for the ingress controller deployment guide.

Last updated

Was this helpful?