I’m pretty new to NixOS. Recently installed NixOS on one of my virtual machine to act as a server to host docker containers.
Everything went well except one thing.
Containers started on docker, working only when the user is logged in. e.g. I do host Grafana. If I log out, service is becoming unavailable.
When I log in, containers going up again.
Do I’m missing something to configure or this is an issue.
Below my configuration.nix file:
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
networking.hostName = "r-docker-host-nixos";
networking.networkmanager.enable = true;
time.timeZone = "Europe/Warsaw";
i18n.defaultLocale = "en_US.UTF-8";
services.qemuGuest.enable = true;
# docker
virtualisation.docker.enable = true;
virtualisation.docker.rootless = {
enable = true;
setSocketVariable = true;
};
users.extraGroups.docker.members = [ "ryzer" ];
# prometheus node exporter
services.prometheus.exporters.node.enable = true;
services.prometheus.exporters.node.openFirewall = true;
services.prometheus.exporters.node.enabledCollectors = [ "systemd" ];
users.users.ryzer = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "docker" ]; # Enable ‘sudo’ for the user.
packages = with pkgs; [
bottom
];
};
environment.systemPackages = with pkgs; [
wget
neovim
du-dust
git
stow
gnumake
gcc
docker-compose
];
services.openssh.enable = true;
networking.firewall.allowedTCPPorts = [ 3001 ];
networking.firewall.enable = false;
system.copySystemConfiguration = true;
system.stateVersion = "22.11"; # Did you read the comment?
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
system.autoUpgrade = {
enable = true;
};
nixpkgs.config = {
allowUnfree = true;
};
}