Installation
Authcore can be installed in most GNU/Linux distributions and in a number of cloud providers.
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
orADMIN_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 beconf/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.Follow the instructions to install Helm. Please note: the default Helm installation is insuecre. Follow this additional guide to secure Helm.
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
$ kubectl create namespace authcore
Install MySQL:
$ helm install --namespace authcore --set imageTag=8.0 --set mysqlDatabase=authcore --name authcore-mysql stable/mysql
After installation, you need to create a secret for database URL providing to Authcore.
$ kubectl create secret generic <secret-name> --from-literal=database_url=<database_url> --namespace authcore
<database_url>
is mysql://root:<mysql-root-password>@<mysql_service>/authcore?parseTime=true
And put the
<secret-name>
in mysql.database_url
.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):
helm install --namespace authcore --name authcore-redis stable/redis -f values.yaml
You must also set
tags.install_redis
and configuration in redis
in values.yaml
to false
if you choose to customize install redis.Set up secret for accessing Authcore docker registry:
$ kubectl create secret docker-registry authcore-registry --namespace authcore --docker-server=registry.gitlab.com --docker-username=<deploy-token-username> --docker-password=<deploy-token-password> --docker-email=<email>
Change the values in
values.yaml
to override default values for OAuth configuration, root keys etc.$ helm install --namespace authcore --name authcore-app charts/authcore -f values.yaml
TLS configuration:
First add the TLS secret:
$ kubectl create secret tls ${CERT_NAME} --key ${KEY_FILE} --cert ${CERT_FILE}
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 modified 3yr ago