Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions docker/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# CasaOS Docker Environment

# Data directories
data/
logs/
config/

# Docker volumes
.volumes/

# Temporary files
*.tmp
*.log

# macOS
.DS_Store

# IDE files
.vscode/
.idea/

# Environment files
.env
.env.local

# Backup files
*.bak
*.backup
64 changes: 64 additions & 0 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# CasaOS Dockerfile
# Ubuntu 22.04 based CasaOS container

FROM ubuntu:22.04

# Metadata
LABEL maintainer="CasaOS User"
LABEL description="CasaOS Personal Cloud in Docker"
LABEL version="1.0"

# Set timezone
ENV TZ=Europe/Istanbul
ENV DEBIAN_FRONTEND=noninteractive

# Install system packages
RUN apt-get update && apt-get install -y \
curl \
wget \
sudo \
systemd \
systemd-sysv \
init \
ca-certificates \
gnupg \
lsb-release \
docker.io \
docker-compose \
openssl \
git \
net-tools \
htop \
nano \
&& rm -rf /var/lib/apt/lists/*

# Copy CasaOS installation script
COPY install-casaos.sh /usr/local/bin/install-casaos.sh
RUN chmod +x /usr/local/bin/install-casaos.sh

# Create necessary directories
RUN mkdir -p /var/lib/casaos \
/etc/casaos \
/usr/share/casaos \
/DATA \
/var/log/casaos

# Install CasaOS
RUN /usr/local/bin/install-casaos.sh || true

# Configure systemd services
RUN systemctl enable systemd-networkd
RUN systemctl enable systemd-resolved

# Expose ports
EXPOSE 80 443

# Volume mount points
VOLUME ["/var/lib/casaos", "/etc/casaos", "/usr/share/casaos", "/DATA"]

# Start systemd
CMD ["/sbin/init"]

# Healthcheck
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
CMD curl -f http://localhost/ || exit 1
Loading