Add docker stuff
This commit is contained in:
		
							parent
							
								
									004088d3fb
								
							
						
					
					
						commit
						430e2ca814
					
				
					 6 changed files with 85 additions and 0 deletions
				
			
		
							
								
								
									
										4
									
								
								.dockerignore
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.dockerignore
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
.dockerignore
 | 
			
		||||
docker-bake.hcl
 | 
			
		||||
docker-compose.yml
 | 
			
		||||
Dockerfile
 | 
			
		||||
							
								
								
									
										2
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -3,3 +3,5 @@
 | 
			
		|||
 | 
			
		||||
/target
 | 
			
		||||
/out
 | 
			
		||||
 | 
			
		||||
/docker-data
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										22
									
								
								Dockerfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Dockerfile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
FROM rust:1 as builder
 | 
			
		||||
 | 
			
		||||
RUN rustup target add x86_64-unknown-linux-musl && \
 | 
			
		||||
    apt update && \
 | 
			
		||||
    apt install -y musl-tools musl-dev && \
 | 
			
		||||
    update-ca-certificates
 | 
			
		||||
 | 
			
		||||
COPY ./ /emgauwa
 | 
			
		||||
 | 
			
		||||
FROM builder as builder-core
 | 
			
		||||
WORKDIR /emgauwa/core
 | 
			
		||||
RUN cargo build --target x86_64-unknown-linux-musl --release
 | 
			
		||||
 | 
			
		||||
FROM builder as builder-controller
 | 
			
		||||
WORKDIR /emgauwa/controller
 | 
			
		||||
RUN cargo build --target x86_64-unknown-linux-musl --release
 | 
			
		||||
 | 
			
		||||
FROM scratch
 | 
			
		||||
COPY --from=builder-core /emgauwa/core/target/x86_64-unknown-linux-musl/release/emgauwa-core /usr/bin/emgauwa-core
 | 
			
		||||
COPY --from=builder-controller /emgauwa/controller/target/x86_64-unknown-linux-musl/release/emgauwa-controller /usr/bin/emgauwa-controller
 | 
			
		||||
 | 
			
		||||
CMD ["echo", "please specify command /usr/bin/emgauwa-core or /usr/bin/emgauwa-controller"]
 | 
			
		||||
							
								
								
									
										13
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -7,3 +7,16 @@ git-status:
 | 
			
		|||
 | 
			
		||||
git-diff:
 | 
			
		||||
	git diff --submodule=diff
 | 
			
		||||
 | 
			
		||||
cargo-all:
 | 
			
		||||
	cd common && cargo $(ACTION)
 | 
			
		||||
	cd controller && cargo $(ACTION)
 | 
			
		||||
	cd core && cargo $(ACTION)
 | 
			
		||||
cargo-build:
 | 
			
		||||
	$(MAKE) ACTION=build cargo-all
 | 
			
		||||
cargo-update:
 | 
			
		||||
	$(MAKE) ACTION=update cargo-all
 | 
			
		||||
 | 
			
		||||
docker-bake:
 | 
			
		||||
	cd controller && docker builder bake
 | 
			
		||||
	cd core && docker builder bake
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								docker-bake.hcl
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								docker-bake.hcl
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
variable "REG" {
 | 
			
		||||
    default = "registry.serguzim.me"
 | 
			
		||||
}
 | 
			
		||||
variable "REPO" {
 | 
			
		||||
    default = "emgauwa/combi"
 | 
			
		||||
}
 | 
			
		||||
variable "TAG" {
 | 
			
		||||
    default = "latest"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
target "default" {
 | 
			
		||||
    output = ["type=docker"]
 | 
			
		||||
    dockerfile = "./Dockerfile"
 | 
			
		||||
    tags = ["${REG}/${REPO}:latest", "${REG}/${REPO}:${TAG}"]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										29
									
								
								docker-compose.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								docker-compose.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
services:
 | 
			
		||||
  core:
 | 
			
		||||
    image: registry.serguzim.me/emgauwa/combi
 | 
			
		||||
    command: /usr/bin/emgauwa-core
 | 
			
		||||
    ports:
 | 
			
		||||
      - "4419:4419"
 | 
			
		||||
    environment:
 | 
			
		||||
      EMGAUWA_CORE__SERVER__HOST: 0.0.0.0
 | 
			
		||||
      EMGAUWA_CORE__DATABASE: sqlite:///data/core.sqlite
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./docker-data:/data
 | 
			
		||||
  controller1:
 | 
			
		||||
    image: registry.serguzim.me/emgauwa/combi
 | 
			
		||||
    command: /usr/bin/emgauwa-controller
 | 
			
		||||
    environment:
 | 
			
		||||
      EMGAUWA_CONTROLLER__SERVER__HOST: core
 | 
			
		||||
      EMGAUWA_CONTROLLER__DATABASE: sqlite:///data/controller1.sqlite
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./controller/emgauwa-controller.json:/etc/emgauwa/controller.json
 | 
			
		||||
      - ./docker-data:/data
 | 
			
		||||
  controller2:
 | 
			
		||||
    image: registry.serguzim.me/emgauwa/combi
 | 
			
		||||
    command: /usr/bin/emgauwa-controller
 | 
			
		||||
    environment:
 | 
			
		||||
      EMGAUWA_CONTROLLER__SERVER__HOST: core
 | 
			
		||||
      EMGAUWA_CONTROLLER__DATABASE: sqlite:///data/controller2.sqlite
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./controller/emgauwa-controller.json:/etc/emgauwa/controller.json
 | 
			
		||||
      - ./docker-data:/data
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue