Jump to content
Sign in to follow this  
TyTux

RagnaDocker - A Docker Image for Easy Server Deployment

Recommended Posts

Hey Everyone!

I forked an old Ragnarok Docker Project, updated the instructions and updated all of the main components in the Docker Image to create something worth-while!

This docker image deploys rAthena, FluxCP, and LAMP, allowing you to spin up your own Ragnarok Server in seconds!

You can find the project (and instructions) on:

Just thought some of you might be interested in it.

Feel free to contribute to the project or suggest new things here that I could include inside of the instructions/docker image.

Share this post


Link to post
Share on other sites

Maybe it would be good to not run it as root even inside the container.

Also maybe add something like this:

 
RUN git clone --shallow-since 11.03.2018 https://github.com/HerculesWS/Hercules.git . \
&& git checkout d89690fbdbaa5dc78f98d96ee91403e329c12af1

Obviously for rathena.
 

And how about seperating into different containers?

#PROD
version: '3'

services:
  core:
    build: ./server
    image: core:latest
    volumes:
      - sql_scripts:/herc_server/sql-files

  database:
    image: mysql
    restart: always
    volumes:
      - sql_scripts:/docker-entrypoint-initdb.d
      - server_db:/var/lib/mysql
    environment:
      MYSQL_DATABASE: ragnarok
      MYSQL_USER: ragnarok
      MYSQL_PASSWORD: raganarok
      MYSQL_ROOT_PASSWORD: secret
    depends_on:
      - core

  map:
    image: core
    restart: always
    command: ./wait-for-it.sh database:3306 -- "./map-server"
    volumes:
      - ./server/config/comm/main/import/map-server.conf:/herc_server/conf/import/map-server.conf:ro 
    depends_on: 
      - core
      - database
    ports:
      - 5121:5121

  login:
    image: core
    restart: always
    command: ./wait-for-it.sh database:3306 -- "./login-server"
    volumes:
      - ./server/config/comm/main/import/login-server.conf:/herc_server/conf/import/login-server.conf:ro
    depends_on: 
      - core
      - database
    ports:
      - 6900:6900

  char:
    image: core
    restart: always
    command: ./wait-for-it.sh database:3306 -- "./char-server"
    volumes:
      - ./server/config/comm/main/import/char-server.conf:/herc_server/conf/import/char-server.conf:ro
    depends_on: 
      - core
      - database 
    ports:
      - 6121:6121
  
  flarum:
    image: mondedie/docker-flarum:0.1.0-beta.7.1-stable
    container_name: flarum
    ports:
      - 80:8888     
    environment:
      - DEBUG=true
      - FORUM_URL=http://s8nozieb.me
      - DB_PASS=secret2
    volumes:
      - ./forum/assests:/forum/app/assets
      - ./forum/extensions:/flarum/app/extensions
    depends_on:
      - mariadb

  mariadb:
    image: mariadb:10.1
    container_name: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=secret2
      - MYSQL_DATABASE=flarum
      - MYSQL_USER=flarum
      - MYSQL_PASSWORD=secret2
    volumes:
      - forum_db:/var/lib/mysql


volumes:
        sql_scripts:
        server_db:
        forum_db:

 

I once made this for hercules, would be nice if we could have something similar for rAthena.
(https://github.com/Normynator/Ragnarok/tree/master/docker)

Share this post


Link to post
Share on other sites
16 hours ago, Normynator said:

Also maybe add something like this:

 
RUN git clone --shallow-since 11.03.2018 https://github.com/HerculesWS/Hercules.git . \
&& git checkout d89690fbdbaa5dc78f98d96ee91403e329c12af1

Obviously for rathena

Thanks for the feedback!

This is one of my first docker projects, so I'm still getting used to how everything works..

What would the git command be for? It's already cloning from rAthena.

Share this post


Link to post
Share on other sites

It does not clone the hole history, that was very important for my project, since it always recloned the given commit-hash and applied my changed to it before starting.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.