-
Notifications
You must be signed in to change notification settings - Fork 45
Expand file tree
/
Copy pathDockerfile
More file actions
55 lines (44 loc) · 1.34 KB
/
Dockerfile
File metadata and controls
55 lines (44 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# HomeDock OS - Docker Container
# Copyright © 2023-2026 Banshee, All Rights Reserved
# See LICENSE.md or https://polyformproject.org/licenses/strict/1.0.0/
# https://www.banshee.pro
FROM python:3.12-alpine
LABEL maintainer="Banshee Technologies S.L."
LABEL description="HomeDock OS - One Docker container to rule them all, a self-hosted Cloud OS for your Home Server."
LABEL version="2.1.0.604"
# Workdir
WORKDIR /homedock
# Deps > Build > Cleanup
COPY requirements.txt ./
RUN apk add --no-cache \
bash \
curl \
jq \
shadow \
docker-cli \
docker-cli-compose \
&& apk add --no-cache --virtual .build-deps \
gcc \
musl-dev \
linux-headers \
python3-dev \
libffi-dev \
&& pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir -r requirements.txt \
&& apk del .build-deps
# Code
COPY . .
# Gnosis
RUN touch .is_docker
# Dirs
RUN mkdir -p logs compose-link dropzone _user_packages config
# Symlinks
RUN ln -sf /homedock/config/homedock_server.conf /homedock/homedock_server.conf && \
ln -sf /homedock/config/homedock_ports.conf /homedock/homedock_ports.conf && \
ln -sf /homedock/config/homedock_dropzone.conf /homedock/homedock_dropzone.conf
# Execpoint
RUN chmod +x /homedock/entrypoint.sh
# Port
EXPOSE 80 443
# Magic
CMD ["/homedock/entrypoint.sh"]