summaryrefslogtreecommitdiffhomepage
path: root/public/v4/apps/directus.yml
blob: f85071f50963a290fce1f0ddb6f4369f2cf453e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
captainVersion: 4
services:
  $$cap_appname-db:
    image: mysql:5.7
    volumes:
      - $$cap_appname-db-data:/var/lib/mysql/
    environment:
      MYSQL_DATABASE: $$cap_mysql_database_name
      MYSQL_ROOT_PASSWORD: $$cap_mysql_root_passwd
      MYSQL_USER: $$cap_mysql_user
      MYSQL_PASSWORD: $$cap_mysql_passwd
    healthcheck:
      test: mysql -u$$cap_mysql_user -p$$cap_mysql_passwd -e "SHOW DATABASES;"
      interval: 10s
      timeout: 6s
      retries: "10"
    restart: always
    caproverExtra:
      notExposeAsWebApp: "true"
  $$cap_appname-directus:
    depends_on:
      $$cap_appname-db:
        condition: service_healthy
    image: directus/directus:$$cap_directus_tag
    volumes:
      - $$cap_appname-directus-uploads:/var/directus/public/uploads
    restart: always
    environment:
      DIRECTUS_DATABASE_HOST: srv-captain--$$cap_appname-db
      DIRECTUS_DATABASE_NAME: $$cap_mysql_database_name
      DIRECTUS_DATABASE_USERNAME: $$cap_mysql_user
      DIRECTUS_DATABASE_PASSWORD: $$cap_mysql_passwd
      DIRECTUS_AUTH_SECRETKEY: $$cap_directus_auth_secret_key
      DIRECTUS_AUTH_PUBLICKEY: $$cap_directus_auth_public_key
    caproverExtra:
      containerHttpPort: "80"
caproverOneClickApp:
  variables:
    - description: Tag of Directus image on https://hub.docker.com/r/directus/directus/tags
      defaultValue: v8.8.0-apache
      id: $$cap_directus_tag
      label: Directus image tag
      validRegex: /.{1,}/
    - description: Name of the Directus backing database instance.
      defaultValue: directus
      id: $$cap_mysql_database_name
      label: mySQL Database Name
      validRegex: /.{1,}/
    - description: Master password for the Directus backing database instance.
      defaultValue: L4fCizKUZtX4Htwi
      id: $$cap_mysql_root_passwd
      label: mySQL Root Password
      validRegex: /^(?=.*\d).{10,}$/
    - description: User for the Directus backing database instance.
      defaultValue: directus
      id: $$cap_mysql_user
      label: mySQL User
      validRegex: /.{1,}/
    - description: User password for the Directus backing database instance.
      defaultValue: N2cQ4J9VzsfvXwzM
      id: $$cap_mysql_passwd
      label: mySQL User Password
      validRegex: /^(?=.*\d).{10,}$/
    - description: Directus Auth Secret Key (must not be the same as Directus Auth
        Public Key)
      defaultValue: nsQocnfPjh3Udjyw
      id: $$cap_directus_auth_secret_key
      label: Directus Auth Secret Key
      validRegex: /^(?=.*\d).{10,}$/
    - description: Directus Auth Public Key (must not be the same as Directus Auth
        Secret Key)
      defaultValue: 8QQc2mv6PXuEcsfw
      id: $$cap_directus_auth_public_key
      label: Directus Auth Public Key
      validRegex: /^(?=.*\d).{10,}$/
    - description: Directus admin user email
      defaultValue: [email protected]
      id: $$cap_directus_install_email
      label: Directus admin user email
      validRegex: /.{1,}/
    - description: Directus admin user password
      defaultValue: yM7iT3ijt95pyeJP
      id: $$cap_directus_install_password
      label: Directus admin user password
      validRegex: /^(?=.*\d).{10,}$/
  instructions:
    end: >
      THE INSTALLATION PROCESS IS NOT FINISHED !!!


      As said in the documentation (https://docs.directus.io/installation/docker.html#step-4-initialize-the-database-and-an-admin-user), currently (30/06/2020), Directus does not support automatic database setup so you need to do it yourself the first time you launch directus.

       But since Caprover does not use standard docker-compose file, you need to run a slightly uglier command than the one shown in the documentation.

       Run the following command on your server (using SSH for example, you might need to be root):

      docker run -e DIRECTUS_DATABASE_HOST=srv-captain--$$cap_appname-db -e DIRECTUS_DATABASE_NAME=$$cap_mysql_database_name -e DIRECTUS_DATABASE_USERNAME=$$cap_mysql_user -e DIRECTUS_DATABASE_PASSWORD=$$cap_mysql_passwd -e DIRECTUS_AUTH_SECRETKEY=$$cap_directus_auth_secret_key -e DIRECTUS_AUTH_PUBLICKEY=$$cap_directus_auth_public_key --network $(docker network ls | grep "captain-overlay-network" | awk '{print $1}') --rm directus/directus:$$cap_directus_tag install --email $$cap_directus_install_email --password $$cap_directus_install_password


      Once this is done, Directus is deployed and available as $$cap_appname-directus.

       It may take a few minutes for Directus to initialize.
    start: >-
      Directus is an open-source suite of software that wraps custom SQL
      databases with a dynamic API and intuitive Admin App.
       For more information and available options, see https://github.com/directus/docker or the official documentation at https://docs.directus.io
  displayName: ""
  isOfficial: true
  description: Directus is an open-source tool for managing content across all
    your omni-channel digital experiences
  documentation: Taken from https://github.com/directus/docker.