Clean backend container
This commit is contained in:
parent
2ce348a7ed
commit
a82ccb10ec
13
Dockerfile
13
Dockerfile
@ -36,6 +36,7 @@ ADD . /var/www/fic-server/
|
||||
|
||||
RUN dpkg -i /var/www/fic-server/libmcrypt-perl*.deb || \
|
||||
(echo "Please build perl-mcrypt first. Consult the given README!"; exit 1) && \
|
||||
rm /var/www/fic-server/libmcrypt-perl*.deb && \
|
||||
ln -sf /var/www/fic-server/nginx-server.conf /etc/nginx/sites-enabled/default && \
|
||||
ln -sf /var/www/fic-server/php-fpm.conf /etc/php5/fpm/pool.d/www.conf
|
||||
|
||||
@ -51,15 +52,9 @@ RUN ln -sf /var/www/fic-server/onyx/config/sample.root.xml /var/www/fic-server/o
|
||||
EXPOSE 80/tcp 443/tcp
|
||||
VOLUME ["/var/www/fic-server/out","/var/www/fic-server/files","/var/www/fic-server/submission","/var/www/fic-server/shared"]
|
||||
|
||||
CMD mkdir -p /var/www/fic-server/logs; \
|
||||
chown -R www-data:www-data /var/www/fic-server/shared /var/www/fic-server/PKI; \
|
||||
chown -R synchro:www-data /var/www/fic-server/submission /var/www/fic-server/logs /var/www/fic-server/out; \
|
||||
chmod 660 /var/www/fic-server/submission; \
|
||||
service nginx start && \
|
||||
ENTRYPOINT ["/var/www/fic-server/entrypoint.sh"]
|
||||
|
||||
CMD service nginx start && \
|
||||
service php5-fpm start && \
|
||||
service mysql start && \
|
||||
./nginx_gen_team.sh > ./shared/nginx-teams.conf && \
|
||||
echo 'Copying files...' && \
|
||||
./gen_hash_link_files.sh --copy ./files-in ./files; \
|
||||
(./launch_local.sh &); \
|
||||
/bin/bash
|
||||
|
20
README.md
20
README.md
@ -137,7 +137,7 @@ docker rm db_setup
|
||||
3. Run the database container:
|
||||
|
||||
```
|
||||
docker run -d --name db --volumes-from mysql_data mysql
|
||||
docker run -d --name db --volumes-from mysql_data -e MYSQL_USER=fic -e MYSQL_PASSWORD=anotherpassword -e MYSQL_DATABASE=fic mysql
|
||||
```
|
||||
|
||||
4. Setup the PKI storages:
|
||||
@ -168,6 +168,24 @@ docker run --rm -it --volumes-from pki_storage --volumes-from shared_storage pki
|
||||
TODO next steps
|
||||
```
|
||||
|
||||
7. Build the perl `Mcrypt` debian package
|
||||
|
||||
```
|
||||
docker build -t perl-mcrypt perl-mcrypt/
|
||||
docker run --name mcrypt_builder perl-mcrypt
|
||||
docker cp mcrypt_builder:$(docker diff mcrypt_builder | grep -oE '[^ ]+deb$') ./
|
||||
docker rm mcrypt_builder
|
||||
```
|
||||
|
||||
8. Build and run the backend:
|
||||
|
||||
```
|
||||
docker build -t backend .
|
||||
docker run --rm -it --link db:db --volumes-from pki_storage --volumes-from shared_storage -v /home/files:/var/www/fic-server/files-in backend
|
||||
```
|
||||
|
||||
Where `/home/files` is your local directory containing all challenge files.
|
||||
|
||||
|
||||
##### Requirements
|
||||
|
||||
|
21
entrypoint.sh
Executable file
21
entrypoint.sh
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkdir -p /var/www/fic-server/logs; \
|
||||
chown -R www-data:www-data /var/www/fic-server/shared /var/www/fic-server/PKI; \
|
||||
chown -R synchro:www-data /var/www/fic-server/submission /var/www/fic-server/logs /var/www/fic-server/out; \
|
||||
chmod 660 /var/www/fic-server/submission; \
|
||||
./nginx_gen_team.sh > ./shared/nginx-teams.conf &&
|
||||
cat <<EOF > /var/www/fic-server/onyx/db/docker.profile.php &&
|
||||
<?php
|
||||
|
||||
if(!defined('ONYX')) exit;
|
||||
|
||||
\$___profile['db'] = '$DB_ENV_MYSQL_DATABASE';
|
||||
\$___profile['host'] = '$DB_PORT_3306_TCP_ADDR';
|
||||
\$___profile['user'] = '$DB_ENV_MYSQL_USER';
|
||||
\$___profile['pass'] = '$DB_ENV_MYSQL_PASSWORD';
|
||||
EOF
|
||||
sed -i 's/"profile">sample</"profile">docker</' /var/www/fic-server/onyx/config/root.xml &&
|
||||
# echo 'Copying files...' &&
|
||||
# ./gen_hash_link_files.sh --copy ./files-in ./files &&
|
||||
exec "$@"
|
Loading…
Reference in New Issue
Block a user