You've already forked docker_fresh
							
							
				mirror of
				https://github.com/1C-Company/docker_fresh.git
				synced 2025-10-30 23:47:54 +02:00 
			
		
		
		
	initial commit
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| distr/* | ||||
| __pycache__/ | ||||
							
								
								
									
										130
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,130 @@ | ||||
| version: '3.6' | ||||
|  | ||||
| services: | ||||
|  | ||||
|   db: | ||||
|     image: registry.1c709.ru/docker/postgres-pro | ||||
|     hostname: db.ikoz.1c709.ru | ||||
|     container_name: db.ikoz.1c709.ru | ||||
|     volumes: | ||||
|       - ./artifact/db/data:/var/lib/1c/pgdata | ||||
|  | ||||
|   srv: | ||||
|     image: registry.1c709.ru/docker/core:8.3.14.1993 | ||||
|     hostname: srv.ikoz.1c709.ru | ||||
|     container_name: srv.ikoz.1c709.ru | ||||
|     command: srv+cli | ||||
|     volumes: | ||||
|       - ./artifact/srv/data:/var/lib/1c/data | ||||
|       - ./artifact/srv/log:/var/log/1c | ||||
|       - ./artifact/mnt:/mnt | ||||
|       #- ./conf/nethasp.ini:/opt/1C/v8.3/x86_64/conf/nethasp.ini | ||||
|       - ./conf/logcfg.xml:/opt/1C/v8.3/x86_64/conf/logcfg.xml | ||||
|       - /tmp/.aksusb:/tmp/.aksusb | ||||
|     ports: | ||||
|       - 1540-1541:1540-1541 | ||||
|       - 1538:1538 | ||||
|       - 1550:1550 | ||||
|       - 1560-1591:1560-1591 | ||||
|       - 5900:5900 | ||||
|     depends_on: | ||||
|       - db | ||||
|  | ||||
|   ras: | ||||
|     image: registry.1c709.ru/docker/core:8.3.14.1993 | ||||
|     hostname: ras.ikoz.1c709.ru | ||||
|     container_name: ras.ikoz.1c709.ru | ||||
|     command: /opt/1C/v8.3/x86_64/ras cluster --port=1545 srv:1540 | ||||
|     volumes: | ||||
|       - ./artifact/ras/log:/var/log/1c | ||||
|       - ./conf/logcfg.xml:/opt/1C/v8.3/x86_64/conf/logcfg.xml | ||||
|     ports: | ||||
|       - 1545:1545 | ||||
|        | ||||
|   web: | ||||
|     image: registry.1c709.ru/docker/core:8.3.14.1993 | ||||
|     hostname: web.ikoz.1c709.ru | ||||
|     container_name: web.ikoz.1c709.ru | ||||
|     command: web | ||||
|     labels: | ||||
|       - "traefik.enable=true" | ||||
|       - "traefik.http.routers.web.entrypoints=web" | ||||
|       - "traefik.http.routers.web.rule=Host(`ikoz.1c709.ru`) && PathPrefix(`/a/adm`, `/a/openid`)" | ||||
|       #- "traefik.http.middlewares.web-https-redirect.redirectscheme.scheme=https" | ||||
|       - "traefik.http.routers.web.middlewares=https-redirect" | ||||
|       - "traefik.http.routers.web-secure.entrypoints=websecure" | ||||
|       - "traefik.http.routers.web-secure.rule=Host(`ikoz.1c709.ru`) && PathPrefix(`/a/adm`, `/a/openid`)" | ||||
|       - "traefik.http.routers.web-secure.tls=true" | ||||
|       - "traefik.http.routers.web-secure.tls.certresolver=myresolver" | ||||
|       - "traefik.http.routers.web-secure.service=web" | ||||
|       - "traefik.http.services.web.loadbalancer.server.port=80" | ||||
|     volumes: | ||||
|       - ./artifact/web/log:/var/log/1c | ||||
|       - ./artifact/mnt:/mnt | ||||
|     depends_on: | ||||
|       - srv | ||||
|    | ||||
|   site: | ||||
|     image: registry.1c709.ru/docker/site | ||||
|     hostname: site.ikoz.1c709.ru | ||||
|     container_name: site.ikoz.1c709.ru | ||||
|     labels: | ||||
|       - "traefik.enable=true" | ||||
|       - "traefik.http.routers.site.entrypoints=web" | ||||
|       - "traefik.http.routers.site.rule=Host(`ikoz.1c709.ru`)" | ||||
|       #- "traefik.http.middlewares.site-https-redirect.redirectscheme.scheme=https" | ||||
|       - "traefik.http.routers.site.middlewares=https-redirect" | ||||
|       - "traefik.http.routers.site-secure.entrypoints=websecure" | ||||
|       - "traefik.http.routers.site-secure.rule=Host(`ikoz.1c709.ru`)" | ||||
|       - "traefik.http.routers.site-secure.tls=true" | ||||
|       - "traefik.http.routers.site-secure.tls.certresolver=myresolver" | ||||
|       - "traefik.http.routers.site-secure.service=site" | ||||
|       - "traefik.http.services.site.loadbalancer.server.port=8080" | ||||
|     volumes: | ||||
|       - ./artifact/site/searchIndex:/var/www/content/searchIndex | ||||
|       - ./artifact/site/site_files:/var/www/content/site_files | ||||
|       - ./artifact/mnt/media:/var/www/content/media/ | ||||
|     depends_on: | ||||
|       - db | ||||
|  | ||||
|   forum: | ||||
|     image: registry.1c709.ru/docker/forum | ||||
|     hostname: forum.ikoz.1c709.ru | ||||
|     container_name: forum.ikoz.1c709.ru | ||||
|     labels: | ||||
|       - "traefik.enable=true" | ||||
|       - "traefik.http.routers.forum.entrypoints=web" | ||||
|       - "traefik.http.routers.forum.rule=Host(`ikoz.1c709.ru`) && PathPrefix(`/forum`)" | ||||
|       - "traefik.http.routers.forum.middlewares=https-redirect" | ||||
|       - "traefik.http.routers.forum-secure.entrypoints=websecure" | ||||
|       - "traefik.http.routers.forum-secure.rule=Host(`ikoz.1c709.ru`) && PathPrefix(`/forum`)" | ||||
|       - "traefik.http.routers.forum-secure.tls=true" | ||||
|       - "traefik.http.routers.forum-secure.tls.certresolver=myresolver" | ||||
|       - "traefik.http.routers.forum-secure.service=forum" | ||||
|       - "traefik.http.services.forum.loadbalancer.server.port=8080" | ||||
|       #- "traefik.http.middlewares.forum-replacepath.stripprefix.prefixes=/forum" | ||||
|       #- "traefik.http.middlewares.forum-replacepath.replacepath.path=/forum" | ||||
|       - "traefik.http.routers.forum-secure.middlewares=forum-replacepath" | ||||
|     volumes: | ||||
|       - ./artifact/forum:/var/www/forum/mess_files | ||||
|     depends_on: | ||||
|       - db | ||||
|  | ||||
|   gate: | ||||
|     image: registry.1c709.ru/docker/gate | ||||
|     hostname: gate.ikoz.1c709.ru | ||||
|     container_name: gate.ikoz.1c709.ru | ||||
|     depends_on: | ||||
|       - srv | ||||
|  | ||||
|   #agent: | ||||
|    #image: registry.1c709.ru/docker/core:8.3.14.1993 | ||||
|    #hostname: agent.ikoz.1c709.ru | ||||
|    #container_name: agent.ikoz.1c709.ru | ||||
|    #command: agent | ||||
|    #volumes: | ||||
|     #- ./artifact/agent:/var/lib/1c/agent_data | ||||
|    #environment: | ||||
|     #- INFOBASECONNECTIONSTRING="Srvr=srv.ikoz.1c709.ru;Ref=sm" | ||||
|    #ports: | ||||
|     #  - 1543:1543 | ||||
							
								
								
									
										
											BIN
										
									
								
								images/.DS_Store
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								images/.DS_Store
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								images/centos/.DS_Store
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								images/centos/.DS_Store
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										29
									
								
								images/centos/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								images/centos/Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| FROM centos:7 | ||||
|  | ||||
| ENV GOSU_VERSION 1.11 | ||||
| RUN set -ex; \ | ||||
| 	yum -y install epel-release; \ | ||||
| 	yum -y install glibc-locale-source wget dpkg; \ | ||||
| 	dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ | ||||
| 	wget -O /usr/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ | ||||
| 	wget -O /tmp/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ | ||||
| # verify the signature | ||||
| 	export GNUPGHOME="$(mktemp -d)"; \ | ||||
| 	gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ | ||||
| 	gpg --batch --verify /tmp/gosu.asc /usr/bin/gosu; \ | ||||
| 	rm -r "$GNUPGHOME" /tmp/gosu.asc; \	 | ||||
| 	chmod +x /usr/bin/gosu; \ | ||||
| # verify that the binary works | ||||
| 	gosu nobody true; \ | ||||
| 	yum -y remove wget dpkg; \ | ||||
| # russian locale | ||||
|     localedef -f UTF-8 -i ru_RU ru_RU.UTF-8; \ | ||||
| # ImageMagick & httpd & xorg-x11-server-Xvf | ||||
|     yum -y --setopt=tsflags=nodocs install ImageMagick httpd which xorg-x11-xauth dbus-x11 xorg-x11-server-Xvfb cifs-utils; \ | ||||
|     dbus-uuidgen > /var/lib/dbus/machine-id; \ | ||||
| 	yum clean all | ||||
|  | ||||
| ENV LANG ru_RU.utf8 | ||||
| ENV DISPLAY localhost:99.0 | ||||
|  | ||||
| ADD ./fonts/msttcorefonts.tar.gz /usr/share/fonts/truetype/msttcorefonts/ | ||||
							
								
								
									
										
											BIN
										
									
								
								images/centos/fonts/msttcorefonts.tar.gz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								images/centos/fonts/msttcorefonts.tar.gz
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										19
									
								
								images/db/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								images/db/Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| FROM fresh/centos | ||||
|  | ||||
| ADD ./entrypoint.sh / | ||||
|  | ||||
| RUN localedef -f UTF-8 -i ru_RU ru_RU.UTF-8 \ | ||||
|     && yum install -y http://1c.postgrespro.ru/keys/postgrespro-1c-centos96.noarch.rpm \ | ||||
|     && yum makecache \ | ||||
|     && yum -y --setopt=tsflags=nodocs install postgresql-pro-1c-9.6 --nogpgcheck \ | ||||
|     && chmod +x /entrypoint.sh | ||||
|  | ||||
| EXPOSE 5432 | ||||
|  | ||||
| ENV PGDATA /var/lib/1c/pgdata | ||||
|  | ||||
| VOLUME ${PGDATA} | ||||
|  | ||||
| WORKDIR /usr/pgsql-9.6/bin | ||||
| ENTRYPOINT ["/entrypoint.sh"] | ||||
| CMD ["./postgres"] | ||||
							
								
								
									
										13
									
								
								images/db/entrypoint.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								images/db/entrypoint.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
|  | ||||
| chown -R postgres:postgres "$PGDATA" | ||||
|  | ||||
| if [ -z "$(ls -A "$PGDATA")" ]; then | ||||
|     gosu postgres ./initdb | ||||
|     echo "synchronous_commit = off" >> $PGDATA/postgresql.conf | ||||
| fi | ||||
|  | ||||
| command=$@ | ||||
| exec gosu postgres $command | ||||
							
								
								
									
										
											BIN
										
									
								
								images/site/.DS_Store
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								images/site/.DS_Store
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										13
									
								
								images/site/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								images/site/Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| FROM tomcat:7.0-jre8-alpine | ||||
|  | ||||
| ENV JAVA_OPTS "${JAVA_OPTS} -Xms512m -Xmx1024m -XX:+UseParallelGC -server " | ||||
|  | ||||
| RUN rm -rf /usr/local/tomcat/webapps/* && \ | ||||
|     mkdir -p /var/www/content/searchIndex \ | ||||
|     mkdir -p /var/www/content/site_files | ||||
|  | ||||
| COPY ./distr/site/ROOT.war /usr/local/tomcat/webapps/ | ||||
|  | ||||
| EXPOSE 8080 | ||||
|  | ||||
| CMD ["catalina.sh", "run"] | ||||
							
								
								
									
										50
									
								
								images/site/conf/context.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								images/site/conf/context.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| <?xml version='1.0' encoding='utf-8'?> | ||||
| <!-- | ||||
|   Licensed to the Apache Software Foundation (ASF) under one or more | ||||
|   contributor license agreements.  See the NOTICE file distributed with | ||||
|   this work for additional information regarding copyright ownership. | ||||
|   The ASF licenses this file to You under the Apache License, Version 2.0 | ||||
|   (the "License"); you may not use this file except in compliance with | ||||
|   the License.  You may obtain a copy of the License at | ||||
|  | ||||
|       http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|   Unless required by applicable law or agreed to in writing, software | ||||
|   distributed under the License is distributed on an "AS IS" BASIS, | ||||
|   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|   See the License for the specific language governing permissions and | ||||
|   limitations under the License. | ||||
| --> | ||||
| <!-- The contents of this file will be loaded for each web application --> | ||||
| <Context> | ||||
|  | ||||
|     <Resource  | ||||
|         name="jdbc/freshSiteDS"  | ||||
|         auth="Container"  | ||||
|         type="javax.sql.DataSource"  | ||||
|         driverClassName="org.postgresql.Driver"  | ||||
|         url="jdbc:postgresql://db:5432/site"  | ||||
|         username="site"  | ||||
|         password="12345Qwerty"  | ||||
|         removeAbandoned="true"  | ||||
|         removeAbandonedTimeout="90"  | ||||
|         logAbandoned="true"  | ||||
|         maxActive="30"  | ||||
|         maxIdle="20"  | ||||
|         maxWait="-1" /> | ||||
|  | ||||
|     <!-- Default set of monitored resources --> | ||||
|     <WatchedResource>WEB-INF/web.xml</WatchedResource> | ||||
|  | ||||
|     <!-- Uncomment this to disable session persistence across Tomcat restarts --> | ||||
|     <!-- | ||||
|     <Manager pathname="" /> | ||||
|     --> | ||||
|  | ||||
|     <!-- Uncomment this to enable Comet connection tacking (provides events | ||||
|          on session expiration as well as webapp lifecycle) --> | ||||
|     <!-- | ||||
|     <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> | ||||
|     --> | ||||
|  | ||||
| </Context> | ||||
							
								
								
									
										148
									
								
								images/site/conf/server.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										148
									
								
								images/site/conf/server.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,148 @@ | ||||
| <?xml version='1.0' encoding='utf-8'?> | ||||
| <!-- | ||||
|   Licensed to the Apache Software Foundation (ASF) under one or more | ||||
|   contributor license agreements.  See the NOTICE file distributed with | ||||
|   this work for additional information regarding copyright ownership. | ||||
|   The ASF licenses this file to You under the Apache License, Version 2.0 | ||||
|   (the "License"); you may not use this file except in compliance with | ||||
|   the License.  You may obtain a copy of the License at | ||||
|  | ||||
|       http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|   Unless required by applicable law or agreed to in writing, software | ||||
|   distributed under the License is distributed on an "AS IS" BASIS, | ||||
|   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|   See the License for the specific language governing permissions and | ||||
|   limitations under the License. | ||||
| --> | ||||
| <!-- Note:  A "Server" is not itself a "Container", so you may not | ||||
|      define subcomponents such as "Valves" at this level. | ||||
|      Documentation at /docs/config/server.html | ||||
|  --> | ||||
| <Server port="8005" shutdown="SHUTDOWN"> | ||||
|   <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> | ||||
|   <!-- Security listener. Documentation at /docs/config/listeners.html | ||||
|   <Listener className="org.apache.catalina.security.SecurityListener" /> | ||||
|   --> | ||||
|   <!--APR library loader. Documentation at /docs/apr.html --> | ||||
|   <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> | ||||
|   <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --> | ||||
|   <Listener className="org.apache.catalina.core.JasperListener" /> | ||||
|   <!-- Prevent memory leaks due to use of particular java/javax APIs--> | ||||
|   <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> | ||||
|   <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> | ||||
|   <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> | ||||
|  | ||||
|   <!-- Global JNDI resources | ||||
|        Documentation at /docs/jndi-resources-howto.html | ||||
|   --> | ||||
|   <GlobalNamingResources> | ||||
|     <!-- Editable user database that can also be used by | ||||
|          UserDatabaseRealm to authenticate users | ||||
|     --> | ||||
|     <Resource name="UserDatabase" auth="Container" | ||||
|               type="org.apache.catalina.UserDatabase" | ||||
|               description="User database that can be updated and saved" | ||||
|               factory="org.apache.catalina.users.MemoryUserDatabaseFactory" | ||||
|               pathname="conf/tomcat-users.xml" /> | ||||
|   </GlobalNamingResources> | ||||
|  | ||||
|   <!-- A "Service" is a collection of one or more "Connectors" that share | ||||
|        a single "Container" Note:  A "Service" is not itself a "Container", | ||||
|        so you may not define subcomponents such as "Valves" at this level. | ||||
|        Documentation at /docs/config/service.html | ||||
|    --> | ||||
|   <Service name="Catalina"> | ||||
|  | ||||
|     <!--The connectors can use a shared executor, you can define one or more named thread pools--> | ||||
|     <!-- | ||||
|     <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" | ||||
|         maxThreads="150" minSpareThreads="4"/> | ||||
|     --> | ||||
|  | ||||
|  | ||||
|     <!-- A "Connector" represents an endpoint by which requests are received | ||||
|          and responses are returned. Documentation at : | ||||
|          Java HTTP Connector: /docs/config/http.html (blocking & non-blocking) | ||||
|          Java AJP  Connector: /docs/config/ajp.html | ||||
|          APR (HTTP/AJP) Connector: /docs/apr.html | ||||
|          Define a non-SSL HTTP/1.1 Connector on port 8080 | ||||
|     --> | ||||
|     <Connector port="8080" protocol="HTTP/1.1" | ||||
|                connectionTimeout="20000" | ||||
|                redirectPort="8443"  | ||||
|                proxyPort="443" | ||||
|                scheme="https" | ||||
|                secure="true" | ||||
|                URIEncoding="UTF-8"/> | ||||
|     <!-- A "Connector" using the shared thread pool--> | ||||
|     <!-- | ||||
|     <Connector executor="tomcatThreadPool" | ||||
|                port="8080" protocol="HTTP/1.1" | ||||
|                connectionTimeout="20000" | ||||
|                redirectPort="8443" /> | ||||
|     --> | ||||
|     <!-- Define a SSL HTTP/1.1 Connector on port 8443 | ||||
|          This connector uses the BIO implementation that requires the JSSE | ||||
|          style configuration. When using the APR/native implementation, the | ||||
|          OpenSSL style configuration is required as described in the APR/native | ||||
|          documentation --> | ||||
|     <!-- | ||||
|     <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" | ||||
|                maxThreads="150" SSLEnabled="true" scheme="https" secure="true" | ||||
|                clientAuth="false" sslProtocol="TLS" /> | ||||
|     --> | ||||
|  | ||||
|     <!-- Define an AJP 1.3 Connector on port 8009 --> | ||||
|     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> | ||||
|  | ||||
|  | ||||
|     <!-- An Engine represents the entry point (within Catalina) that processes | ||||
|          every request.  The Engine implementation for Tomcat stand alone | ||||
|          analyzes the HTTP headers included with the request, and passes them | ||||
|          on to the appropriate Host (virtual host). | ||||
|          Documentation at /docs/config/engine.html --> | ||||
|  | ||||
|     <!-- You should set jvmRoute to support load-balancing via AJP ie : | ||||
|     <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> | ||||
|     --> | ||||
|     <Engine name="Catalina" defaultHost="localhost"> | ||||
|  | ||||
|       <!--For clustering, please take a look at documentation at: | ||||
|           /docs/cluster-howto.html  (simple how to) | ||||
|           /docs/config/cluster.html (reference documentation) --> | ||||
|       <!-- | ||||
|       <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> | ||||
|       --> | ||||
|  | ||||
|       <!-- Use the LockOutRealm to prevent attempts to guess user passwords | ||||
|            via a brute-force attack --> | ||||
|       <Realm className="org.apache.catalina.realm.LockOutRealm"> | ||||
|         <!-- This Realm uses the UserDatabase configured in the global JNDI | ||||
|              resources under the key "UserDatabase".  Any edits | ||||
|              that are performed against this UserDatabase are immediately | ||||
|              available for use by the Realm.  --> | ||||
|         <Realm className="org.apache.catalina.realm.UserDatabaseRealm" | ||||
|                resourceName="UserDatabase"/> | ||||
|       </Realm> | ||||
|  | ||||
|       <Host name="localhost"  appBase="webapps" | ||||
|             unpackWARs="true" autoDeploy="true"> | ||||
|  | ||||
|         <!-- SingleSignOn valve, share authentication between web applications | ||||
|              Documentation at: /docs/config/valve.html --> | ||||
|         <!-- | ||||
|         <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> | ||||
|         --> | ||||
|  | ||||
|         <!-- Access log processes all example. | ||||
|              Documentation at: /docs/config/valve.html | ||||
|              Note: The pattern used is equivalent to using pattern="common" --> | ||||
|         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" | ||||
|                prefix="localhost_access_log." suffix=".txt" | ||||
|                pattern="%h %l %u %t "%r" %s %b" /> | ||||
|  | ||||
|       </Host> | ||||
|     </Engine> | ||||
|   </Service> | ||||
| </Server> | ||||
							
								
								
									
										27
									
								
								install.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								install.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| import subprocess | ||||
| import pathlib | ||||
| import os | ||||
| import modules.site as site | ||||
| import modules.centos as centos | ||||
| import modules.db as db | ||||
|  | ||||
| sep = str(os.path.sep) | ||||
| this_path = str(pathlib.Path().absolute()) + sep | ||||
| distr_path = this_path + 'distr' + sep | ||||
|  | ||||
| images = [] | ||||
| images.append(centos.New()) | ||||
| images.append(db.New()) | ||||
| images.append(site.New()) | ||||
|  | ||||
| print('Building start') | ||||
| for image in images: | ||||
|  | ||||
|     for command in image.commands: | ||||
|         print(command) | ||||
|         subprocess.call(' '.join(command), shell=True) | ||||
|  | ||||
|     subprocess.run(['docker', 'build', '-t', 'fresh/' + image.name, 'images/' + image.name]) | ||||
|     print('Building', image.name, 'is fihish') | ||||
|  | ||||
| print('Building finish') | ||||
							
								
								
									
										27
									
								
								modules/centos.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								modules/centos.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| import modules.helper as helper | ||||
|  | ||||
| def download_postgresql_connector(): | ||||
|     command = helper.new_docker_command() | ||||
|     command.append('alpine') | ||||
|     command.append('wget') | ||||
|     command.append('-O') | ||||
|     command.append('/out_files/postgresql.jar') | ||||
|     command.append('https://jdbc.postgresql.org/download/postgresql-42.2.4.jar') | ||||
|  | ||||
|     return command | ||||
|  | ||||
| def add_all_commands(): | ||||
|  | ||||
|     commands = [] | ||||
|     commands.append(download_postgresql_connector()) | ||||
|  | ||||
|     return commands | ||||
|  | ||||
| class New(): | ||||
|  | ||||
|     name = '' | ||||
|     commands = [] | ||||
|  | ||||
|     def __init__(self): | ||||
|         self.name = 'centos' | ||||
|         self.commands = add_all_commands() | ||||
							
								
								
									
										9
									
								
								modules/db.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								modules/db.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
|  | ||||
| class New(): | ||||
|  | ||||
|     name = '' | ||||
|     commands = [] | ||||
|  | ||||
|     def __init__(self): | ||||
|         self.name = 'db' | ||||
|         self.commands = [] | ||||
							
								
								
									
										25
									
								
								modules/helper.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								modules/helper.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| import pathlib | ||||
| import os | ||||
|  | ||||
| sep = str(os.path.sep) | ||||
| this_path = str(pathlib.Path().absolute()) + sep | ||||
| distr_path = this_path + 'distr' + sep | ||||
|  | ||||
| def replace_sep(path): | ||||
|     return path.replace('/', sep) | ||||
|  | ||||
| def new_docker_command(extra_path=None):  | ||||
|     command = [] | ||||
|     command.append('docker') | ||||
|     command.append('run') | ||||
|     command.append('--rm') | ||||
|     command.append('-v') | ||||
|  | ||||
|     if extra_path != None: | ||||
|         current_distr_path = this_path + extra_path | ||||
|         current_distr_path = current_distr_path.replace('/', sep) | ||||
|     else: | ||||
|         current_distr_path = distr_path | ||||
|  | ||||
|     command.append(current_distr_path + ':/out_files') | ||||
|     return command | ||||
							
								
								
									
										55
									
								
								modules/site.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								modules/site.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| import subprocess | ||||
| import pathlib | ||||
| import os | ||||
| import modules.helper as helper | ||||
|  | ||||
| def add_site_dir(command): | ||||
|     command.append('-v') | ||||
|     command.append(helper.this_path + helper.replace_sep('images/site') + ':/main_dir') | ||||
|  | ||||
| def delete_site_dir(): | ||||
|     command = helper.new_docker_command('images/site/distr') | ||||
|     command.append('alpine') | ||||
|     command.append('rm') | ||||
|     command.append('-rf') | ||||
|     command.append('/out_files/site') | ||||
|  | ||||
|     return command | ||||
|  | ||||
| def unzip_site_dir(): | ||||
|     command = helper.new_docker_command() | ||||
|     add_site_dir(command) | ||||
|     command.append('kubeless/unzip') | ||||
|     command.append('unzip') | ||||
|     command.append('/out_files/site_*.zip') | ||||
|     command.append('-d') | ||||
|     command.append('/main_dir/distr/site') | ||||
|      | ||||
|     return command | ||||
|  | ||||
| def rename_site_file(): | ||||
|     command = helper.new_docker_command('images/site/distr') | ||||
|     command.append('alpine') | ||||
|     command.append('sh') | ||||
|     command.append('-c') | ||||
|     command.append('"mv /out_files/site/site*.war /out_files/site/ROOT.war"') | ||||
|  | ||||
|     return command | ||||
|  | ||||
| def add_all_commands(): | ||||
|  | ||||
|     commands = [] | ||||
|     commands.append(delete_site_dir()) | ||||
|     commands.append(unzip_site_dir()) | ||||
|     commands.append(rename_site_file()) | ||||
|  | ||||
|     return commands | ||||
|  | ||||
| class New(): | ||||
|  | ||||
|     name = '' | ||||
|     commands = [] | ||||
|  | ||||
|     def __init__(self): | ||||
|         self.name = 'site' | ||||
|         self.commands = add_all_commands() | ||||
		Reference in New Issue
	
	Block a user