Create a Tiktok style Web App Using Heroku or Self Hosted Cloud Docker Server or some cloud free virtual hosting serviec.
Table of Contents
XJJ is a project forked from JMWpower/xiaojiejie. Most code keeps same, but the interface has been translated into English. It supports both PC and mobile devices using two different html files. The main purpose is to give you an Tiktok feeling example to show videos online in your browser.
It is writen by html and php language. As long as your web server supports php, you can dump all files into a folder to run it.
You also can use docker to deploy it from scratch.
Lets use this php-nginx docker as our base docker image to deploy XJJ project.
docker run -p 80:8080 trafex/php-nginx
docker run -p 80:8080 -v ~/my-codebase:/var/www/html trafex/php-nginx
Make Your Own XJJ Image
We are going to use this php-nginx docker to deploy XJJ github code and save it as our own image to use it later.
Here is a command to expose port 8080, and run it in background
docker run -d -p 8080:8080 trafex/php-nginx2
Log into docker:
docker exec -it <container name> sh3
You might need root user to log in to be able to modify files in the docker.
Copy all files from sub folder to up level folder and remove xjj sub folder:
cp -r /var/www/html/xjj/* /var/www/html
rm -f -r xjj
Change default index.php name to something else:
mv index.php info.php4
Once you got your XJJ up and running as the way you want, you can tag the image then save it to your docker hub account:
$ docker login Login with your Docker ID to push and pull images from Docker Hub. If you don’t have a Docker ID, head over to https://hub.docker.com to create one. Username: johnyan2 Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded [node1] (local) [email protected] ~ $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0709187f6de8 trafex/php-nginx “/usr/bin/supervisor…” 7 minutes ago Up 7 minutes (healthy) 0.0.0.0:8080->8080/tcp beautiful_kapitsa [node1] (local) [email protected] ~ $ docker commit beautiful_kapitsa xjj sha256:bfe9df406ac46e4e810ef5564a34f50be8b9589b4d4c054fc558ef79e27ba999 [node1] (local) [email protected] ~ $ docker image list REPOSITORY TAG IMAGE ID CREATED SIZE xjj latest bfe9df406ac4 5 seconds ago 135MB trafex/php-nginx latest 3c715d61cf62 2 weeks ago 112MB [node1] (local) [email protected] ~ $ docker tag xjj johnyan2/xjj:latest [node1] (local) [email protected] ~ $ docker push johnyan2/xjj:latest The push refers to repository [docker.io/johnyan2/xjj] 39fb7fab2513: Pushed 4214a3c20885: Mounted from trafex/php-nginx dd2d315098b6: Mounted from trafex/php-nginx b6a2073595e4: Mounted from trafex/php-nginx 69aaabf84209: Mounted from trafex/php-nginx 30a01461c06d: Mounted from trafex/php-nginx 7676824158d7: Mounted from trafex/php-nginx 563d480ebb0d: Mounted from trafex/php-nginx c5da130154cc: Mounted from trafex/php-nginx 0c7d93256a9b: Mounted from trafex/php-nginx 994393dc58e7: Mounted from trafex/php-nginx latest: digest: sha256:f52267b7f90e059203bd352d455aa18337f201d4649f96149cc46e7ea7e4b65c size: 2610 [node1] (local) [email protected] ~ $
Check the docker image from : https://hub.docker.com/repository/docker/johnyan2/xjj