diff options
| author | crupest <crupest@outlook.com> | 2022-10-30 22:44:26 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2022-10-30 22:44:26 +0800 | 
| commit | 31367d9feb0dc8ea759a41eb9b0179b3aee65f67 (patch) | |
| tree | 54352395daf743185d88c6e9540b690e95f7e5d0 /template | |
| parent | ef1340f8a5143f9a266197426234ac1c1607974f (diff) | |
| download | crupest-31367d9feb0dc8ea759a41eb9b0179b3aee65f67.tar.gz crupest-31367d9feb0dc8ea759a41eb9b0179b3aee65f67.tar.bz2 crupest-31367d9feb0dc8ea759a41eb9b0179b3aee65f67.zip  | |
...
Diffstat (limited to 'template')
| -rw-r--r-- | template/docker-compose.yaml.template | 13 | ||||
| -rwxr-xr-x | template/generate.py | 23 | 
2 files changed, 23 insertions, 13 deletions
diff --git a/template/docker-compose.yaml.template b/template/docker-compose.yaml.template index 0367605..5cc6d10 100644 --- a/template/docker-compose.yaml.template +++ b/template/docker-compose.yaml.template @@ -32,17 +32,20 @@ services:        - internal    code-server: -    image: codercom/code-server:latest +    build: +      context: ./docker/code-server +      dockerfile: Dockerfile +      args: +        - CRUPEST_USER={{CRUPEST_USER}} +        - CRUPEST_GROUP={{CRUPEST_GROUP}} +        - CRUPEST_UID={{CRUPEST_UID}} +        - CRUPEST_GID={{CRUPEST_GID}}      container_name: code_server      restart: on-failure:3      volumes:        - ./data/code-server:/data -      - ./data/code-server-config.yaml:/home/coder/.config/code-server/config.yaml      ports:        - "8080:8080" -    environment: -      - "DOCKER_USER=$USER" -    user: "{{CRUPEST_UID}}:{{CRUPEST_GID}}"      networks:        - internal diff --git a/template/generate.py b/template/generate.py index d00a84f..1c94cda 100755 --- a/template/generate.py +++ b/template/generate.py @@ -3,9 +3,11 @@  import os  import os.path  import re -from sys import argv +import pwd +import grp +import sys -required_config_keys = set(["CRUPEST_DOMAIN", "CRUPEST_UID", +required_config_keys = set(["CRUPEST_DOMAIN", "CRUPEST_USER", "CRUPEST_GROUP", "CRUPEST_UID",                              "CRUPEST_GID", "CRUPEST_HALO_DB_PASSWORD"])  print("It's happy to see you!\n") @@ -28,7 +30,7 @@ for filename in filenames:  print("")  # if command is 'clean' -if len(argv) > 1 and argv[1] == "clean": +if len(sys.argv) > 1 and sys.argv[1] == "clean":      print("Are you sure you want to delete all generated files? (y/N)")      if input() == "y":          print("Deleting all generated files...") @@ -88,12 +90,17 @@ config_path = os.path.join(project_dir, "data/config")  # check if there exists a config file  if not os.path.exists(config_path): +    config = {}      print("No existing config file found. Don't worry. Let's create one! Just tell me your domain name:") -    domain = input() -    my_uid = os.getuid() -    my_gid = os.getgid() -    halo_db_password = os.urandom(8).hex() -    config_content = f"CRUPEST_DOMAIN={domain}\nCRUPEST_UID={my_uid}\nCRUPEST_GID={my_gid}\nCRUPEST_HALO_DB_PASSWORD={halo_db_password}\n" +    config["CRUPEST_DOMAIN"] = input() +    config["CRUPEST_USER"] = pwd.getpwuid(os.getuid()).pw_name +    config["CRUPEST_GROUP"] = grp.getgrgid(os.getgid()).gr_name +    config["CRUPEST_UID"] = str(os.getuid()) +    config["CRUPEST_GID"] = str(os.getgid()) +    config["CRUPEST_HALO_DB_PASSWORD"] = os.urandom(8).hex() +    config_content = "" +    for key in config: +        config_content += f"{key}={config[key]}\n"      # create data dir if not exist      if not os.path.exists(os.path.join(project_dir, "data")):          os.mkdir(os.path.join(project_dir, "data"))  | 
