Valheim Docker powered by Odin. The Valheim dedicated gameserver manager which is designed with resiliency in mind by providing automatic updates, world backup support, and a user friendly cli interface.

Overview

Valheim

Docker

If you are looking for a guide on how to get started click here

Mod Support! It is supported to launch the server with BepInEx but!!!!! as a disclaimer! You take responsibility for debugging why your server won't start. Modding is not supported by the Valheim developers officially yet; Which means you WILL run into errors. This repo has been tested with running ValheimPlus as a test mod and does not have any issues. See Getting started with mods

Environment Variables

See further on down for advanced environment variables.

Variable Default Required Description
TZ America/Los_Angeles FALSE Sets what timezone your container is running on. This is used for timestamps and cron jobs. Click Here for which timezones are valid.
PUID 1000 FALSE Sets the User Id of the steam user.
PGID 1000 FALSE Sets the Group Id of the steam user.
PORT 2456 TRUE Sets the port your server will listen on. Take note it will also listen on +2 (ex: 2456, 2457, 2458)
NAME Valheim Docker TRUE The name of your server! Make it fun and unique!
WORLD Dedicated TRUE This is used to generate the name of your world.
PUBLIC 1 FALSE Sets whether or not your server is public on the server list.
PASSWORD 12345 TRUE Set this to something unique!
AUTO_UPDATE 0 FALSE Set to 1 if you want your container to auto update! This means at 1 am it will update, stop, and then restart your server.
AUTO_UPDATE_SCHEDULE 0 1 * * * FALSE This works in conjunction with AUTO_UPDATE and sets the schedule to which it will run an auto update. If you need help figuring out a cron schedule click here
AUTO_BACKUP 0 FALSE Set to 1 to enable auto backups. Backups are stored under /home/steam/backups which means you will have to add a volume mount for this directory.
AUTO_BACKUP_SCHEDULE */15 * * * * FALSE Change to set how frequently you would like the server to backup. If you need help figuring out a cron schedule click here.
AUTO_BACKUP_REMOVE_OLD 1 FALSE Set to 0 to keep all backups or manually manage them.
AUTO_BACKUP_DAYS_TO_LIVE 3 FALSE This is the number of days you would like to keep backups for. While backups are compressed and generally small it is best to change this number as needed.
AUTO_BACKUP_ON_UPDATE 0 FALSE Create a backup on right before updating and starting your server.
AUTO_BACKUP_ON_SHUTDOWN 0 FALSE Create a backup on shutdown.
WEBHOOK_URL `` FALSE Supply this to get information regarding your server's status in a webhook or Discord notification! Click here to learn how to get a webhook url for Discord
UPDATE_ON_STARTUP 1 FALSE Tries to update the server the container is started.

Docker Compose

Simple

This is a basic example of a docker compose, you can apply any of the variables above to the environment section below but be sure to follow each variables description notes!

version: "3"
services:
  valheim:
    image: mbround18/valheim:latest
    ports:
      - 2456:2456/udp
      - 2457:2457/udp
      - 2458:2458/udp
    environment:
      - PORT=2456
      - NAME="Created With Valheim Docker"
      - WORLD="Dedicated"
      - PASSWORD="Banana Phone"
      - TZ=America/Chicago
      - PUBLIC=1
    volumes:
    - ./valheim/saves:/home/steam/.config/unity3d/IronGate/Valheim
    - ./valheim/server:/home/steam/valheim

Everything but the kitchen sink

version: "3"
services:
  valheim:
    image: mbround18/valheim:latest
    ports:
      - 2456:2456/udp
      - 2457:2457/udp
      - 2458:2458/udp
    environment:
      - PORT=2456
      - NAME="Created With Valheim Docker"
      - WORLD="Dedicated"
      - PASSWORD="Strong! Password @ Here"
      - TZ=America/Chicago
      - PUBLIC=1
      - AUTO_UPDATE=1
      - AUTO_UPDATE_SCHEDULE="0 1 * * *"
      - AUTO_BACKUP=1
      - AUTO_BACKUP_SCHEDULE="*/15 * * * *"
      - AUTO_BACKUP_REMOVE_OLD=1
      - AUTO_BACKUP_DAYS_TO_LIVE=3
      - AUTO_BACKUP_ON_UPDATE=1
      - AUTO_BACKUP_ON_SHUTDOWN=1
      - WEBHOOK_URL="https://discord.com/api/webhooks/IM_A_SNOWFLAKE/AND_I_AM_A_SECRET"
      - UPDATE_ON_STARTUP=0
    volumes:
      - ./valheim/saves:/home/steam/.config/unity3d/IronGate/Valheim
      - ./valheim/server:/home/steam/valheim
      - ./valheim/backups:/home/steam/backups

Odin

This repo has a CLI tool called Odin in it! It is used for managing the server inside the container. If you are looking for instructions for it click here: Odin

Click here to see advanced environment variables for Odin

BepInEx Support

This repo automatically launches with the proper environment variables for BepInEx. However, you have to install it manually in the container due to the fact that the modding community around Valheim is still in its infancy.

Click Here to view documentation on BepInEx Support

Webhook Support

This repo can automatically send notifications to discord via the WEBHOOK_URL variable. Only use the documentation link below if you want advanced settings!

Click Here to view documentation on Webhook Support

Sponsors

Release Notifications

If you would like to have release notifications tied into your Discord server, click here:

Note: The discord is PURELY for release notifications and any + all permissions involving sending chat messages has been disabled. Any support for this repository must take place on the Discussions.

Versions:

  • latest (Stable):
    • #100 Added backup feature to run based on cronjob.
    • #148 Added Mod support
    • Added webhook configuration and documentation updates #158
  • 1.2.0 (Stable):
    • Readme update to include the versions section and environment variables section.
    • #18 Changed to root as the default user to allow updated steams User+Group IDs.
    • #18 Fixed issue with the timezone not persisting.
    • To exec into the container you now have to include the -u|--user argument to access steam directly. Example docker-compose exec --user steam valheim bash
    • There is now a dry-run command argument on odin to preview what the command would do.
    • You can run with -d|--debug to get verbose logging of what odin is doing.
    • #11 Added check for length of password and fail on odin install or odin stop failures.
    • #24 Added public variable to dockerfile and odin
    • #35 Fix for the server to now utilizing SIGINT YOU WILL HAVE TO MANUALLY STOP YOUR SERVER; use pidof valheim_server.x86_64 to get the pid and then kill -2 $pid but replace pid with the pid from pidof
    • #53 Formatted scripts to be more useful and added timezone scheduling.
    • #77 Fix auto update not acknowledging variables and added odin to system bin.
    • #89 Daemonized the server process by using rust specific bindings rather than dropping down to shell.
  • 1.1.1 (Stable):
    • Includes PR #10 to fix the double world argument.
  • 1.1.0 (Stable):
    • Includes a fix for #3 and #8.
    • Improves the script interface and separation of concerns, files now have a respective code file that supports interactions for cleaner development experience.
    • Docker image is cleaned up to provide a better usage experience. There is now an AUTO_UPDATE feature.
    • Has a bug where the script has two entries for the world argument.
  • 1.0.0 (Stable):
    • It works! It will start your server and stop when you shut down.
    • This supports passing in environment variables or arguments to odin
    • Has a bug in which it does not read passed in variables appropriately to Odin. Env variables are not impacted see #3.
Comments
  • [Enhancement] MODS environment variable

    [Enhancement] MODS environment variable

    Acceptance Criteria:

    • installmod odin command.
    • Ability to detect if the mod is a dll or valheim plus.
    • staging the mod information.
    • installed mods configuration file.
    opened by mbround18 56
  • [Feature]: Api to check server info/status

    [Feature]: Api to check server info/status

    Hi,

    there is a command or an api to check the server name if it is online and how many people there are, basically the info that one sees when opening the game and looking for the server name.

    Thanks

    odin docker 
    opened by Richi2293 37
  • World Save on shutdown [Windows, Docker Desktop]

    World Save on shutdown [Windows, Docker Desktop]

    Hello! I've got a problem, that world never saves. There is no .db file in worlds folder, it never been created or updated if I put it by myself. Every container startup it generates world again and again, telling me that no .db file was found: missing /home/steam/.config/unity3d/IronGate/Valheim/worlds_local/StEvilOnline.db

    I tried to find solution of this problem, but nothing found. All rights for Valheim folder are correct, belongs to "steam" user with r/w rights.

    opened by ExQDev 23
  • Shell escape startup script

    Shell escape startup script

    Description

    Contributions

    • I shell escaped certain values getting placed in rusty_startup_script.sh

    Note: I tested these changes locally with a server named Odin \o/ and password of [email protected]#$%^&*()' and everything worked as intended.

    This is done to address the root cause #73 where values in rusty_startup_script.sh were not properly being escaped for bash causing unexpected behavior when dealing with , $, \, etc.

    These changes shell escape the name, world, and password which are all the values that you could expect to see containing these special characters. A nice side effect of this change is that it removes the dependency on tinytemplate and serde since tinytemplate was being an absolute pain when it came to certain special characters and was easily replaced with a simple format!. This reduced the number of crates compiled even further down to 54 :tada:

    Another side note, there is still unexpected behavior when the name, world, or password starts or ends with any amount of " due to trimming them with parse_variable. I honestly don't know why this is done to begin with, but this will cause a password like "don't quote me" -me to become don't quote me" -me (note the missing starting ") and will likely be a great source of confusion for anyone who encounters it. Is there a reason for doing this? I feel like a user passing in something with a residual starting or ending " would be user error and should not be modified. If trimming double-quotes can be removed then I can make that change in this PR too (or feel free to make the change yourself, I'm calling it for the night after submitting this).

    Checklist

    • [x] I added one or multiple labels which best describes this PR.
    • [ ] I have tested the changes locally.
    • [ ] This PR has a reviewer on it.
    • [ ] I have validated my changes in a docker container and on Ubuntu. (Only needed for Odin or Docker Changes)
    enhancement docker 
    opened by LovecraftianHorror 18
  • [BUG] Configs are getting overwritten by Odin

    [BUG] Configs are getting overwritten by Odin

    Discussion Post

    To run a passwordless server a couple of things need to be done;

    1. Make sure that you are using ValheimPlus (or modded in some way to bypass that "feaure")
    2. disableServerPassword=true in BepInEx/config/valheim_plus.cfg (Using V+ for example)
    3. The server cannot be public ( -public 0)

    I have tested this out by creating a stock standard Valheim server (steamcmd etc), grabbing ValheimPlus directly from their github, extracting it, editing V+ config (only changed disableServerPassword=true), and ran it ( ./start_server_bepinex.sh -name "MyValheimPlusServer" -port 2456 -world "myworld" -public 0

    I was able to connect in without a password (Direct IP, using localhost/127.0.0.1) and didn't need to enter a password.

    The issue is I cannot do this with the way Odin or whatever script checks are in place. Even with the correct requirements done - Odin prevents the start of the server, or in facts push's a password start flag which no matter what the setting in V+ you will still need that oh so hard to guess password :stuck_out_tongue:

    Suggestions:

    I was thinking since the more recent mod update was pushed the only way to ensure that no password was defined and allowed Odin to contine would be to ensure that it was anything but TYPE=Vanilla and a must, PUBLIC=0. In fact even having PUBLIC=1 even with the config value set in V+ the server will fail as if you do not have a password.

    Edit: Using latest docker image at creation of this issue;

    docker pull mbround18/valheim
    Using default tag: latest
    latest: Pulling from mbround18/valheim
    Digest: sha256:06eb40108fb9aef3bb3465c1b667e6897988ed04fca8aa1c76e396fa4e8a9313
    Status: Image is up to date for mbround18/valheim:latest
    docker.io/mbround18/valheim:latest
    

    Originally posted by @spannerman79 in https://github.com/mbround18/valheim-docker/discussions/293

    Bug/Work breakdown

    Mod configurations are getting overridden by Odin extracting files to the mod locations. From conversations, the approach we would like to implement would be checking for whether the file is a configuration file and if so, write to the config file name but with the suffix of .new

    Acceptance Critera

    • Iterate over files and make an exception for configuration files.
    • Overwrite dll files without any exception.
    odin 
    opened by mbround18 16
  • Use SIGINT for server shutdown

    Use SIGINT for server shutdown

    as of version 0.143.5 the server process no longer uses the file marker to note shutdown. It instead will use honor SIGINT.

    https://steamcommunity.com/games/892970/announcements/detail/3059603085893784927

    Since this is no longer used https://github.com/mbround18/valheim-docker/blob/main/src/files/server_exit.rs#L14-L18 should be updated to send a SIGINT to the process rather than writing to the file and waiting for shutdown

    bug help wanted odin docker 
    opened by spion06 14
  • Servers stops working

    Servers stops working

    Hi,

    I started this server as docker container on Hetzner instance. After first player login and several seconds, player is disconnected and server is not working anymore. Only debug output I have is "docker stats" command, where I can see, that usage dropped to 0% CPU (from about 80%) and 5mb memory (from about 1,5gb)

    I will provide other logs if you can tell me where to get them.

    enhancement docker 
    opened by oliveruhrinec 13
  • [Feature]: Update Command + Update on Shutdown flag

    [Feature]: Update Command + Update on Shutdown flag

    Hi,

    Thank you kindly for your work on this, really great docker image and it has been working well for me. I do have a suggestion for the auto update script though - if there's no update available, don't shut down the server. This would allow for more frequent update checks as well, instead of just once per day (For those that would rather be updated asap). I believe this is possible via SteamCMD, though it's a bit of a hacky workaround (Skip to the last two posts in this thread): https://steamcommunity.com/app/346110/discussions/0/535152511358957700/ If I were more familiar with rust I'd offer up a PR but alas it's all a bit greek to me.

    Originally posted by @neoKushan in https://github.com/mbround18/valheim-docker/discussions/126

    Acceptance Criteria:

    • Odin Update command which checks for updates
    • Environment Flag to turn on checking for updates upon shutdown
    enhancement help wanted odin docker 
    opened by mbround18 12
  • Write Permission Error

    Write Permission Error

    @AtroposOrbis This looks like your user id and group id do not match the dockers user & group id. Are you on windows? or linux?

    If on linux when you run id -u the number it spits out should be the number you supply as an environment variable called PUID

    When I updated the compose file and attempted another run, the same error occurred... image

    image

    Originally posted by @AtroposOrbis in https://github.com/mbround18/valheim-docker/discussions/28#discussioncomment-360240

    documentation question 
    opened by AtroposOrbis 12
  • Fix #32 &  #30 background the tail command and wait

    Fix #32 & #30 background the tail command and wait

    Description

    resolves issues with shutdown in docker/kube due to SIGTERM being swallowed by bash due to it waiting for a process to complete. https://ss64.com/bash/trap.html gives the clearest explanation of this

    When Bash receives a signal for which a trap has been set while waiting for a command to complete, the trap will not be executed until the command completes. When Bash is waiting for an asynchronous command via the wait built-in, the reception of a signal for which a trap has been set will cause the wait built-in to return immediately with an exit status greater than 128, immediately after which the trap is executed.

    Contributions

    • #32 & #30 backgrounded tail to avoid bash from blocking trap execution until it completes (tail will never complete)
    • put function before trap definition to avoid any issues/race conditions with the function not being defined when the trap is made

    Checklist

    • [x] I added one or multiple labels which best describes this PR.
    • [x] I have tested the changes locally.
    • [x] This PR has a reviewer on it.
    • [x] I have validated my changes in a docker container and on Ubuntu. (Only needed for Odin or Docker Changes)
    docker 
    opened by spion06 12
  • Valheim plus not installed

    Valheim plus not installed

    Hello,

    I have enabled Valheim+ in the docker-compose file but I get an error when it tries to get the file while starting up.

    
    valheim_1  | [Valheim][steam]: Checking for TYPE flag
    valheim_1  | [Valheim][steam]: Found Type ValheimPlus
    valheim_1  | [Valheim][steam]: Running with ValheimPlus Valheim <3
    valheim_1  | [Valheim][steam]: Installing ValheimPlus
    valheim_1  |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    valheim_1  |                                  Dload  Upload   Total   Spent    Left  Speed
    100 20834    0 20834    0     0   100k      0 --:--:-- --:--:-- --:--:--  100k
    valheim_1  | [Valheim][steam]: Pulling ValheimPlus from https://github.com/valheimPlus/ValheimPlus/releases/download/0.9.9/UnixServer.zip
    valheim_1  | [ODIN][INFO]  - Installing https://github.com/valheimPlus/ValheimPlus/releases/download/0.9.9/UnixServer.zip
    valheim_1  | [ODIN][ERROR] - Failed to deserialize manifest file: FileNotFound
    valheim_1  | [Valheim][steam]: Starting server...
    valheim_1  | [ODIN][INFO]  - Setting up start scripts...
    valheim_1  | [ODIN][INFO]  - Looking for burial mounds...
    valheim_1  | [ODIN][INFO]  - Server has been started and Daemonized. It should be online shortly!
    valheim_1  | [ODIN][INFO]  - Keep an eye out for 'Game server connected' in the log!
    valheim_1  | [ODIN][INFO]  - (this indicates its online without any errors.)
    valheim_1  | [Valheim][steam]: Herding Graydwarfs...
    valheim_1  | ==> /home/steam/valheim/logs/valheim_server.log <==
    
    
    opened by ottobaer 11
  • Update Rust crate serial_test to 0.10.0

    Update Rust crate serial_test to 0.10.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | serial_test | dev-dependencies | minor | 0.9.0 -> 0.10.0 |


    Release Notes

    palfrey/serial_test

    v0.10.0

    Compare Source

    What's Changed

    New Contributors

    Full Changelog: https://github.com/palfrey/serial_test/compare/v0.9.0...v0.10.0


    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    patch dependencies 
    opened by renovate[bot] 0
  • Update Rust crate sysinfo to 0.27.2

    Update Rust crate sysinfo to 0.27.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | sysinfo | dependencies | minor | 0.22.5 -> 0.27.2 |


    Release Notes

    GuillaumeGomez/sysinfo

    v0.27.2

    • Linux: Fix consecutive process CPU usage updates.
    • Linux: Ignore NFS disks.

    v0.27.1

    • Unix systems: Fix network address segfault issue.

    v0.27.0

    • Add NetworkExt::mac_address method and MacAddr type.
    • Linux: Fix truncated environment retrieval.
    • Implement TryFrom<usize> and FromStr for Gid and Uid.
    • Implement TryFrom<usize> for Pid.
    • Fix documentation of System::new about CPU list not loaded by default.

    v0.26.8

    • Add ProcessExt::session_id method.
    • Linux: Ignore NFS disks.

    v0.26.7

    • Apple: Greatly improve disk retrieval (I recommend reading the pull request first comment for more information here: #​855).
    • Remove build script.

    v0.26.6

    • Add Process::wait.
    • Add "Good pratice" entry into the crate level documentation and in the README.
    • Linux: More precise used memory computation.

    v0.26.5

    • Windows: Fix disk information retrieval.
    • Linux: Improve Process document.
    • Linux: Fix a compilation error if the apple-sandbox feature is enabled.
    • Internal code improvements.

    v0.26.4

    • Add SystemExt::distribution_id method.
    • Update ntapi version to 0.4.
    • Update minimum supported Rust version (MSRV) to 1.59 for ntapi 0.4.

    v0.26.3

    • Update minimum supported Rust version (MSRV) to 1.56 to follow once_cell minor update.

    v0.26.2

    • Linux: Fix process information retrieval.
    • Linux: Get more components temperature.
    • Linux: Fix disk name retrieval (which in turn fixed disk type retrieval).

    v0.26.1

    • macOS M1: Fix segmentation fault crash.

    v0.26.0

    • Switch memory unit from kilobytes to bytes.
    • Windows: Fix Windows version display on Windows 11.

    v0.25.3

    • Add macOS M1 CI checks.
    • macOS M1: Add temperature support.
    • macOS: Fix leak in disk retrieval.

    v0.25.2

    • Windows: Fix Process::exe information retrieval.
    • All supported platforms: Correctly handle a PID owner change (#​809).

    v0.25.1

    • Linux: Fix potential problem on ProcessExt::exe in case /proc/<pid>/exe cannot be read.
    • Add SystemExt::sort_disks_by.

    v0.25.0

    • Linux: CPU frequency is now retrieved on-demand as expected when CpuRefreshKind::frequency is true.
    • System::refresh_cpu behaviour changed: it only computes CPU usage and doesn't retrieve CPU frequency.

    v0.24.7

    • Windows: Fix boot time computation.
    • macOS: Fix available memory computation.
    • Some documentation fixes.

    v0.24.6

    • macOS: Don't compute CPU usage when elapsed time is 0.
    • macOS: Fix memory leak when retrieving disks.
    • C interface: Fix char cast when platform is using unsigned chars.

    v0.24.5

    • Implement Hash trait on Uid and Gid types.
    • Remove dependency once_cell for targets other than linux, android and windows.

    v0.24.4

    • Windows: Fix System::refresh_process when required higher priviledges.

    v0.24.3

    • macOS: Fix System::refresh_processes badly handling updates.
    • FreeBSD: Improve performance of System::refresh_processes.

    v0.24.2

    • Windows: Fix CPU usage computation.
    • Windows: Enable extra feature on winapi.
    • macOS: Fix executable path retrieval.

    v0.24.1

    • Use saturating_* function for mathematical operations to prevent overflows/underflows.

    v0.24.0

    • Rename Processor into Cpu and ProcessorExt into CpuExt.
    • Retrieve information about a process' owner.
    • Add SystemExt::get_user_by_id.
    • Add ProcessExt::user_id.
    • Add ProcessExt::group_id.
    • Add user-related methods to ProcessRefreshKind.
    • Linux: Improve performance when creating new Process by improving retrieval of user ID and group ID.

    v0.23.13

    • macOS/FreeBSD: Fix System::refresh_process and System::refresh_process_specifics returned value.
    • Linux: Small performance improvement when updating process list.

    v0.23.12

    • Linux: Improve System::refresh_cpu performance.
    • Fix clippy lints.

    v0.23.11

    • Add FreeBSD to the "supported OS" list
    • Remove useless benchmark results

    v0.23.10

    • Improve documentation of SystemExt::refresh_cpu.

    v0.23.9

    • macOS: Fix disk retrieval

    v0.23.8

    • Windows: Fix underflow for Process run_time computation

    v0.23.7

    • macOS: Ignore non-root drive partitions

    v0.23.6

    • Windows: Fix process name retrieval
    • Windows: Unify internal process creation methods
    • FreeBSD: Simplify code for process update

    v0.23.5

    • Windows: Fix a bug which prevent all disks to be listed.

    v0.23.4

    • Linux (raspberry): Fix physical core count.

    v0.23.3

    • Impl From<Pid> for Pid inner type.
    • Code cleanup.

    v0.23.2

    • Fix unsafe "correctness".
    • Correctly handle MaybeUninit::assume_init.

    v0.23.1

    • Linux: Fix processes' virtual memory computation.

    v0.23.0

    • Linux: Fix process uptime.
    • Rename process_by_name into processes_by_name.
    • Rename process_by_name_exact into processes_by_name_exact.
    • Change returned type of process_by_name and of process_by_name_exact into an iterator.
    • Improved Signal documentation.
    • Turned Pid type alias into a newtype.

    Configuration

    πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    β™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    πŸ”• Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    patch dependencies 
    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    cargo
    src/huginn/Cargo.toml
    • log 0.4
    • tokio 1
    • warp 0.3
    • cargo-husky 1
    src/odin/Cargo.toml
    • handlebars 4
    • dotenv 0.15
    • log 0.4
    • clap 2
    • which 4.3.0
    • serde 1.0
    • sysinfo 0.22.5
    • serde_json 1.0
    • daemonize 0.4
    • tar 0.4
    • flate2 1.0
    • inflections 1.1.1
    • md5 0.7
    • reqwest 0.11
    • chrono 0.4.23
    • zip 0.6.3
    • fs_extra 1.2.0
    • glob 0.3.0
    • a2s 0.5.1
    • users 0.11.0
    • once_cell 1
    • rand 0.8
    • serial_test 0.9.0
    • cargo-husky 1.5.0
    docker-compose
    docker-compose.yml
    dockerfile
    Dockerfile.odin
    • rust 1.66
    • debian 11-slim
    Dockerfile.valheim
    github-actions
    .github/workflows/docker-build.yml
    • actions/checkout v3
    • docker/setup-buildx-action v2
    • docker/login-action v2
    • crazy-max/ghaction-docker-meta v4
    • docker/build-push-action v3
    .github/workflows/docker-release.yml
    • actions/checkout v3
    • crazy-max/ghaction-docker-meta v4
    • docker/setup-buildx-action v2
    • docker/login-action v2
    • docker/login-action v2
    • docker/build-push-action v3
    .github/workflows/enforce-labels.yml
    • yogevbd/enforce-label-action 2.2.2
    .github/workflows/release.yml
    • actions/checkout v3
    • ATiltedTree/setup-rust v1
    • davidB/rust-cargo-make v1
    • actions/cache v3
    • vimtor/action-zip v1
    • mbround18/auto v1.3.0
    .github/workflows/rust.yml
    • actions/checkout v3
    • ATiltedTree/setup-rust v1
    • davidB/rust-cargo-make v1
    • actions/cache v3
    nodenv
    .node-version

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    wontfix dependencies 
    opened by renovate[bot] 0
  • [Bug] shutdown.rs blocks infinitely if process can't be stopped

    [Bug] shutdown.rs blocks infinitely if process can't be stopped

    I accidentially ran the valheim server as root and didn't realize it. The auto update script, run by cron as user steam, tries to stop the server with odin stop. This calls the function blocking_shutdown in shutdown.rs (I think). This function tries to send an interrupt signal to the server process and then blocks until it doesn't exist anymore. In my case, odin run as steam user couldn't stop the server run as root, so it blocked infinitely and created new processes each time the cron job ran.

    This shouldn't happen normaly, as the server usually doesn't run as root, but it's still not really nice and should be fixed, in my opinion.

    bug odin on hold 
    opened by anonymus19941 6
Releases(v1.8.0)
Owner
Michael
I like to keep learning! My goal is to study as much as possible and keep creating interesting things!
Michael
Docker images for compiling static Rust binaries using musl-libc and musl-gcc, with static versions of useful C libraries. Supports openssl and diesel crates.

rust-musl-builder: Docker container for easily building static Rust binaries Source on GitHub Changelog UPDATED: Major updates in this release which m

Eric Kidd 1.3k Jan 1, 2023
Tool to monitor the statistics and the energy consumption of docker containers

Docker Activity Docker activity is a tool to monitor the statistics of your containers and output their energy consumption. Warning It's still in earl

JΓ©rΓ©mie Drouet 39 Dec 6, 2022
Very small rust docker image

mini-docker-rust Very small rust docker image. This is an example project on how to build very small docker images for a rust project. The resulting i

null 155 Jan 1, 2023
Docker images for compiling static Rust binaries using musl-cross

rust-musl-cross Docker images for compiling static Rust binaries using musl-cross-make, inspired by rust-musl-builder Prebuilt images Currently we hav

messense 365 Dec 30, 2022
Rocker is a minimal docker implementation for educational purposes.

Rocker is a minimal docker implementation for educational purposes inspired by gocker. Rocker uses linux kernel features (namespace, cgroup, chroot etc.) to isolate container processes and limit available resourses.

Daiki Miura 16 Feb 14, 2022
A lite tool to make systemd work in any container(Windows Subsystem for Linux 2, Docker, Podman, etc.)

Angea Naming from hydrangea(γ‚’γ‚Έγ‚΅γ‚€) A lite tool to make systemd work in any container(Windows Subsystem for Linux 2, Docker, Podman, etc.) WSL1 is not s

いんしさくら 16 Dec 5, 2022
🐳 πŸ“¦ Bringing docker containers to your AUR helper since 2022

zeus Releases | CI | Issues | Installing | Building Zeus. A simple AUR helper which utilizes docker containers allowing developers and users alike to

1337 16 Dec 17, 2022
Hot-plug devices into a Docker container as they are plugged.

container-hotplug Hot-plug (and unplug) devices into a Docker container as they are (un)plugged. Description Docker provides the --device flag to give

lowRISC 2 Oct 17, 2022
A secure container runtime with OCI interface

Quark Container Welcome to Quark Container. This repository is the home of Quark Containers code. What's Quark Container Quark Container is high perfo

null 175 Dec 29, 2022
A buildpack for Rust applications on Heroku, with full support for Rustup, cargo and build caching.

Heroku buildpack for Rust This is a Heroku buildpack for Rust with support for cargo and rustup. Features include: Caching of builds between deploymen

Eric Kidd 502 Nov 7, 2022
Runc - CLI tool for spawning and running containers according to the OCI specification

runc Introduction runc is a CLI tool for spawning and running containers on Linux according to the OCI specification. Releases You can find official r

Open Container Initiative 9.9k Jan 5, 2023
Habitat is open source software that creates platform-independent build artifacts and provides built-in deployment and management capabilities.

Habitat is open source software that creates platform-independent build artifacts and provides built-in deployment and management capabilities. The go

Habitat 2.4k Dec 27, 2022
oci-image and oci-runtime spec in rust.

oci-lib Oci-Spec for your container runtime or container registry. Oci-lib is a rust port for original oci spec written in go. Following crate contain

flouthoc 12 Mar 10, 2022
An infrastructure-as-code and deployment tool for Roblox.

Rocat ?? An infrastructure-as-code and deployment tool for Roblox. ⚠ Please note that this is an early release and the API is unstable. Releases follo

Blake Mealey 45 Dec 29, 2022
Desktop launcher to install and use Holochain apps locally

Holochain Launcher A cross-platform executable that launches a local Holochain conductor, and installs and opens apps. Feedback is immensely welcome i

Holochain 58 Dec 30, 2022
An infrastructure-as-code and deployment tool for Roblox.

Mantle ?? An infrastructure-as-code and deployment tool for Roblox. ⚠ Please note that this is an early release and the API is unstable. Releases foll

Blake Mealey 44 Dec 22, 2022
Rust Kubernetes client and controller runtime

kube-rs Rust client for Kubernetes in the style of a more generic client-go, a runtime abstraction inspired by controller-runtime, and a derive macro

kube-rs 1.8k Jan 8, 2023
Qovery Engine is an open-source abstraction layer library that turns easy apps deployment on AWS, GCP, Azure, and other Cloud providers in just a few minutes.

Qovery Engine is an open-source abstraction layer library that turns easy apps deployment on AWS, GCP, Azure, and other Cloud providers in just a few minutes.

Qovery 1.9k Jan 4, 2023
Containerize your development and continuous integration environments. πŸ₯‚

Toast ?? Toast is a tool for doing work in containers. You define tasks in a YAML file called a toastfile, and Toast runs them in a containerized envi

Stephan Boyer 1.4k Dec 27, 2022