Merge pull request #21 from rbrooklyn/master
Dockerfile for creating docker containers
This commit is contained in:
		
						commit
						e439407a74
					
				
							
								
								
									
										62
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | ||||
| FROM alpine:latest | ||||
| 
 | ||||
| RUN mkdir /mempool.space/ | ||||
| COPY ./backend /mempool.space/backend/ | ||||
| COPY ./frontend /mempool.space/frontend/ | ||||
| COPY ./mariadb-structure.sql /mempool.space/mariadb-structure.sql | ||||
| #COPY ./nginx.conf /mempool.space/nginx.conf | ||||
| 
 | ||||
| RUN apk add mariadb mariadb-client jq git nginx npm rsync | ||||
| 
 | ||||
| RUN mysql_install_db --user=mysql --datadir=/var/lib/mysql/ | ||||
| RUN /usr/bin/mysqld_safe --datadir='/var/lib/mysql/'& \ | ||||
|     sleep 60 && \ | ||||
|     mysql -e "create database mempool" && \ | ||||
|     mysql -e "grant all privileges on mempool.* to 'mempool'@'localhost' identified by 'mempool'" && \ | ||||
|     mysql mempool < /mempool.space/mariadb-structure.sql | ||||
| RUN sed -i "/^skip-networking/ c#skip-networking" /etc/my.cnf.d/mariadb-server.cnf | ||||
| 
 | ||||
| RUN export NG_CLI_ANALYTICS=ci && \ | ||||
|     npm install -g typescript && \ | ||||
|     cd /mempool.space/frontend && \ | ||||
|     npm install && \ | ||||
|     cd /mempool.space/backend && \ | ||||
|     npm install && \ | ||||
|     tsc | ||||
| 
 | ||||
| COPY ./nginx-nossl-docker.conf /etc/nginx/nginx.conf | ||||
|      | ||||
| ENV ENV dev | ||||
| ENV DB_HOST localhost | ||||
| ENV DB_PORT 3306 | ||||
| ENV DB_USER mempool | ||||
| ENV DB_PASSWORD mempool | ||||
| ENV DB_DATABASE mempool | ||||
| ENV HTTP_PORT 80 | ||||
| ENV API_ENDPOINT /api/v1/ | ||||
| ENV CHAT_SSL_ENABLED false | ||||
| #ENV CHAT_SSL_PRIVKEY | ||||
| #ENV CHAT_SSL_CERT | ||||
| #ENV CHAT_SSL_CHAIN | ||||
| ENV MEMPOOL_REFRESH_RATE_MS 500 | ||||
| ENV INITIAL_BLOCK_AMOUNT 8 | ||||
| ENV DEFAULT_PROJECTED_BLOCKS_AMOUNT 3 | ||||
| ENV KEEP_BLOCK_AMOUNT 24 | ||||
| ENV BITCOIN_NODE_HOST bitcoinhost | ||||
| ENV BITCOIN_NODE_PORT 8332 | ||||
| ENV BITCOIN_NODE_USER bitcoinuser | ||||
| ENV BITCOIN_NODE_PASS bitcoinpass | ||||
| ENV TX_PER_SECOND_SPAN_SECONDS 150 | ||||
| 
 | ||||
| #RUN echo "mysqld_safe& sleep 20 && cd /mempool.space/backend && rm -f mempool-config.json && rm -f cache.json && touch cache.json && jq -n env > mempool-config.json && node dist/index.js" > /entrypoint.sh | ||||
| 
 | ||||
| RUN cd /mempool.space/frontend/ && \ | ||||
|     npm run build && \ | ||||
|     rsync -av --delete dist/mempool/ /var/www/html/ | ||||
| 
 | ||||
| EXPOSE 80 | ||||
| 
 | ||||
| COPY ./entrypoint.sh /mempool.space/entrypoint.sh | ||||
| RUN chmod +x /mempool.space/entrypoint.sh | ||||
| WORKDIR /mempool.space | ||||
| CMD ["/mempool.space/entrypoint.sh"] | ||||
							
								
								
									
										10
									
								
								entrypoint.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								entrypoint.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| #!/bin/sh | ||||
| mysqld_safe& | ||||
| sleep 5 | ||||
| nginx | ||||
| cd /mempool.space/backend  | ||||
| rm -f mempool-config.json | ||||
| rm -f cache.json | ||||
| touch cache.json | ||||
| jq -n env > mempool-config.json | ||||
| node dist/index.js | ||||
							
								
								
									
										60
									
								
								nginx-nossl-docker.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								nginx-nossl-docker.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,60 @@ | ||||
| user root; | ||||
| worker_processes auto; | ||||
| pid /run/nginx.pid; | ||||
| include /etc/nginx/modules-enabled/*.conf; | ||||
| 
 | ||||
| events { | ||||
| 	worker_connections 768; | ||||
| 	# multi_accept on; | ||||
| } | ||||
| 
 | ||||
| http { | ||||
| 	sendfile on; | ||||
| 	tcp_nopush on; | ||||
| 	tcp_nodelay on; | ||||
| 	keepalive_timeout 65; | ||||
| 	types_hash_max_size 2048; | ||||
| 
 | ||||
| 	include /etc/nginx/mime.types; | ||||
| 	default_type application/octet-stream; | ||||
| 
 | ||||
| 	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE | ||||
| 	ssl_prefer_server_ciphers on; | ||||
| 
 | ||||
| 	access_log /var/log/nginx/access.log; | ||||
| 	error_log /var/log/nginx/error.log; | ||||
| 
 | ||||
| 	gzip on; | ||||
| 	gzip_comp_level    5; | ||||
| 	gzip_min_length    256; | ||||
| 	gzip_proxied       any; | ||||
| 	gzip_vary          on; | ||||
| 
 | ||||
| 	gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; # text/html is always compressed by gzip module | ||||
| 
 | ||||
| 	server { | ||||
| 		listen 80; | ||||
| 		listen [::]:80; | ||||
| 		server_name docker.lan; | ||||
| 
 | ||||
| 		root /var/www/html; | ||||
| 
 | ||||
| 		index index.html; | ||||
| 		server_name example.com; # managed by Certbot | ||||
| 
 | ||||
| 		location / { | ||||
| 			try_files $uri $uri/ /index.html =404; | ||||
| 		} | ||||
| 
 | ||||
| 		location /api { | ||||
| 			proxy_pass http://127.0.0.1:8999/api; | ||||
| 		} | ||||
| 
 | ||||
| 		location /ws { | ||||
| 			proxy_pass http://127.0.0.1:8999/; | ||||
| 			proxy_http_version 1.1; | ||||
| 			proxy_set_header Upgrade $http_upgrade; | ||||
| 			proxy_set_header Connection "Upgrade"; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user