fedora-server

Provisioner Fedora untuk menjadikan VPS langsung siap sebagai server container: Podman + podman-compose + Cockpit (cockpit-podman) + pendukung.

Satu perintah:

curl -fsSL https://gitea.oxpoe.qzz.io/oxpoe/fedora-server/raw/branch/main/install.sh | sudo bash

Yang dipasang

Kategori Paket
Container engine podman, podman-compose, buildah, skopeo
Manajemen web cockpit, cockpit-podman, cockpit-storaged, cockpit-networkmanager
Util git, jq
SELinux tooling policycoreutils-python-utils

Service yang diaktifkan:

  • podman.socket — API socket (untuk Cockpit/klien remote).
  • podman-restart.service — container ber-restart: policy naik otomatis saat boot.
  • cockpit.socket — web UI di https://<ip>:9090.

Opsi

install.sh [opsi]

--update             jalankan `dnf upgrade` dulu (default: tidak)
--with-docker-shim   pasang podman-docker (perintah `docker` -> podman)
--with-tui           pasang podman-tui (TUI di terminal)
--no-cockpit         tanpa Cockpit (podman saja)
--admin-user NAME    buat user (grup wheel) untuk login Cockpit
--uninstall          lepas paket & service yang dipasang skrip ini

Contoh:

# podman saja, tanpa Cockpit
curl -fsSL .../install.sh | sudo bash -s -- --no-cockpit

# lengkap + shim docker + user admin
curl -fsSL .../install.sh | sudo bash -s -- --with-docker-shim --admin-user admin

Skrip idempotent — aman dijalankan ulang.

Setelah selesai

podman run --rm docker.io/alpine echo "podman jalan"
podman compose up -d          # di folder berisi compose.yaml

Cockpit: buka https://<ip-vps>:9090, login pakai user Linux + password.

Cloud image biasanya key-only (root tanpa password) → buat user dulu: useradd -m admin && passwd admin, lalu login admin.

Catatan penting

  • Rootful secara default (paling cocok untuk server & VPN/tun/host-network). Untuk rootless, buat user non-root (subuid/subgid dibuat otomatis di Fedora) dan pakai systemctl --user enable podman-restart.service.
  • SELinux (kalau Enforcing): bind mount ke path host butuh relabel — tambahkan :z (shared) atau :Z (private) di compose/volume, cth - ./data:/data:Z. Tanpa itu bisa muncul "Permission denied" padahal file ada.
  • Autostart container mengandalkan podman-restart.service (sudah di-enable). Urutan antar-service tidak dijamin; untuk itu pakai Quadlet.
  • firewalld: kalau aktif, service cockpit dibuka otomatis. Podman mengatur aturan port container-nya sendiri via integrasi firewalld.

Uninstall

curl -fsSL .../install.sh | sudo bash -s -- --uninstall

podman dan data container (/var/lib/containers) tidak dihapus otomatis.

Lisensi

MIT — lihat LICENSE.

S
Description
No description provided
Readme MIT
29 KiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 100%